基於模型設計其實是一種設計方法,當然建模的軟體以及**生成工具也不是只有matlab/simulink這一種,比如還有labview、以及etas公司的ascet等等。當然前者由於需要特定板卡支援,而且系統移植性不好,在基於模型的設計中用的較少,更多的被用於測試領域;後者一般用於汽車行業,其實更多的用於博世集團的研發體系中。同時由於matlab\simulink在各個工程領域以及數學領域的廣泛應用,以及比較開放靈活的軟體構架更多的贏得了或者說是引領的基於模型的設計這片市場。
現在越來越多的工程師使用matlab/simulink或者基於matlab平台的軟體(比如dspace)進行模型化嵌入式開發。
在基於模型開發的工作過程中一般要掌握如下工具或者知識:
1、基礎的m語言:用來初始化變數、定義訊號、使用命令列呼叫模型進行**,編寫測試指令碼等等。
2、simulink、stateflow:基本的圖形化建模工具,邏輯系統的建模放在stateflow更為合適。
3、simulink的資料型別和資料介面的管理:這裡比較有用的兩個工具modelexplorer、dataobjectwizard。前者可以方便檢視模型各個層次中包含的資料和訊號,以及他們的定義,相當於乙個資料字典;後者可以批量的進行資料和訊號的型別的變更;
4、模型的層次化管理:這裡一般有幾種方法主要是對模型進行封裝和劃分:subsystem、autosubsystem、modellibrary、modelreference等幾種形式,其中可以對生成**有影響的是後三種,第一種為虛擬化的層次結構。autosubsystem通過配置可以影響到子模組是否生成的函式;modellibrary一般是不經常修改的、通用的模組做成自定義庫,有點類似標準件,可以隨用隨調;modelreference一般是在多人協作時,最後整合模型呼叫各個工程師的模組時使用,可以方便的進行模組的修改,然後再主模型中重新整理即可,而且可以將子模組生成單獨的c檔案和標頭檔案。
5、embedcoder的配置:老的版本中也叫rtw 模型的配置選項中諸多選項對模型的生成的**的風格,注釋,檔案的多少都有直接的影響,這裡不細說。
6、外部**的使用和整合方法。
掌握到上面的內容就可以進行簡單的模型設計**及**生成工作了。如果要生成高質量的產品級**可能還要掌握更多的工具,比如:fixed-piont(定點工具)、model advisor(模型規範化的工具)、parameterestimation(引數優化工具),如果要做測試工作還需要了解測試覆蓋率的知識,以及怎麼使用相關的工具箱進行覆蓋率的檢驗和補充。
本人暫時就想到和用到的也就這麼多,以後再補充好了。
另外想對剛出校園剛接觸模型化開發的年輕工程師說的一點,simulink只是乙個方便開發的工具,它並不能直接的把你腦中的模糊概念,一口氣幫你實現,不是說有了這個工具,基本的程式語言就可以不掌握了,只有更好的掌握了基礎語言、資料型別,理解了程式設計思想和微機執行的本質原理,才能更好的用好這些上層的工具實現你腦中的想法。
聊聊開發過程中的「反饋」
溝通,反饋,簡單,勇氣,尊敬是敏捷開發的五個價值觀,它們深刻地反映了當前軟體開發組織中相對缺少但又對團隊建設和成功交付至關重要的東西。這裡我想聊聊反饋,但並不討論關於反饋的全部,主要是集中在對 想 與 做 的節奏的 反饋是我認為最特別的乙個價值觀。實際上,做很多事情,我們總是重複著 想 做 想 做 ...
開發過程中的加解密
1.加密演算法分為 可逆加密 對稱加密 des,3des,aes,pbe 非對稱加密 rsa,dsa,ecc 不可逆加密 單向加密 md5,sha,hmac 2.金鑰的介紹 對稱加密 將明文 密文 連同金鑰放入相應的加密 或加密容器 即可得到密文或者明文,實現加解密。在對稱加密中金鑰必須是相同的才可...
簡述開發過程中的耦合
程式間的依賴關係或者是呼叫者和被呼叫者之間的依賴關係 高耦合 低耦合開發的原則 編譯時依賴,執行時不依賴。團隊開發中的時候不需要等待別人 使用反射建立類物件 class.forname 新問題 若換個驅動就要改原始碼,改原始碼的話如果是上線的web專案就需要停掉伺服器更改 使用配置檔案,通過讀取配置...