Simulink與樹莓派-HIL(硬體在環)平台搭建

Simulink與樹莓派-HIL(硬體在環)平台搭建

來自專欄汽車電子軟體工程師的所見所聞62 人贊了文章

  • 1. 序
  • 2. 準備工作
  • 3. 下載適配包
  • 4. 配置連接
  • 5. 簡單測試模型搭建

1. 序

最早知道樹莓派能夠和Simulink進行連接,是無意中看到的一個simulink網上研討會的視頻,基於Simulink的樹莓派開發板(Raspberry Pi)編程,還記得當時看完之後心潮澎湃,這簡直就是一個HIL平台啊,不了解汽車電子的童靴可能不是很清楚,最近這幾年,各大廠商已經逐漸擁抱AUTOSAR軟體架構,並用MBD(Model based design)的開發方式替代傳統手寫C語言,簡單來說,就是使用搭建模型的方式進行軟體開發,然後再利用工具生成嵌入式級的c代碼,編譯好後燒到板子里。

而就目前情況來看,MBD工具主流只有Simulink,在研發和測試階段,需要依次進行:

- MIL : 模型在環模擬,可以理解為在PC上直接進行Simulink模型模擬測試

- SIL : 軟體在環模擬,與MIL不同的是,在PC上,使用模型生成出來的C代碼,並在電腦的環境下編譯(此處注意,不是交叉編譯成嵌入式晶元的二進位文件,而是在PC環境下編譯成可執行文件),然後使用編譯好的程序進行模擬測試

- PIL : 處理器在環模擬,使用項目用到的MCU,搭載到特定的開發板上,進行模擬測試

- HIL : 硬體在環模擬,使用真實硬體,進行程序的模擬測試

其中,MIL 和 SIL 在PC上使用Simulink就可以順利完成,但是PIL和HIL這兩步,差不多要投入百萬RMB才能建的起來(買dSPICE或者其它專業廠商做的配套工具),所以,當筆者看到,Simulink模型能夠在樹莓派上跑,而且還能通過網路連接PC,進行在線模擬聯調時,真是內心小激動了一把,這種300塊錢硬體的HIL平台簡直不要太好!

好的,話不多說,接下來本文會詳細指導,如何使用Simulink與樹莓派進行連接,搭建簡易的HIL平台。

2. 準備工作

本文所介紹的內容和方法,基於如下環境:

- Matlab 版本 2017a

- 編譯器 Microsoft Visual C++ 2012 (C) (可以選擇其它編譯器,只要matlab支持就行)

- 樹莓派 ,版本為 3b,添加了外殼散熱內存卡和攝像頭

  • Mathwork賬號,可以到官網上免費註冊,有了賬號才能下載Simulink支持樹莓派的相關工具包

3. 下載適配包

  • 選擇 附加功能 -> 獲取硬體支持包 ,然後再彈出的頁面點擊安裝,這一步比較耗時,因為要下載716mb的內容。

注意: 如果安裝失敗需要看界面提示,例如我使用的是matlab2017a的版本,是會報下載第三方軟體支持包失敗的錯誤,到官網上查找,發現有這個bug報出,並有一套解決方案,解決方案如下鏈接-1741173,就是下載一attachment_1741173_13b_through_17a_win64_2018-03-08.zip的包,然後把包里的內容替換掉matlab安裝目錄中的內容就行。

針對連接mathwork官網網速奇差的童鞋,我這邊分別把下載好的樹莓派硬體支持包,和bug修復補丁文件上傳到了百度雲上。

    • 樹莓派硬體支持包: 密碼 291r
    • 補丁文件: 密碼 hzmv

4. 配置連接

  • 安裝好插件之後需要進行配置,配置的時候需要注意,如下在進行連接選擇的時候,選擇使用網線進行直連,從選項可以看出,樹莓派與simulink的連接支持中繼網路,無線wifi,和自定義設置,為了穩妥起見,我們還是選擇使用網線進行單線連接。

  • 配置好之後,需要把配置生成的樹莓派定製系統燒寫到TF卡上,這步需要用到讀卡器來讀寫TF卡。

  • 燒寫好之後,把TF卡插到樹莓派上,然後在matlab上進行連接測試。如下為測試連接成功,可以進行後續聯調模擬的操作。這一步需要注意,如果對linux的CLI界面操作不熟悉,就需要把如下截圖中的信息記錄下來,如果比較熟悉可以連上顯示器鍵盤,直接在樹莓派的linux系統中查看和修改下面的信息。

5. 簡單測試模型搭建

首先要確保樹莓派硬體支持包已經成功安裝,並且主機PC能夠和樹莓派進行正常通訊。

  • 確保硬體支持包正確安裝,可以查看simulink library中是否有相關的庫模型導入。

  • 確保主機和樹莓派正常通訊可以使用ping命令,ping (樹莓派的IP address)

確保如上兩點成功後就可以進行模型搭建了,如下搭建了一個攝像頭模擬的模型,並成功進行了上下位機聯調模擬。

  • 模型及模擬結果如下

  • 樹莓派實物連接圖,可以看到攝像頭在運行的時候會有功能指示的小紅燈一直在亮,另外樹莓派3b型號發熱還是挺嚴重的,貼片散熱一定要加,風扇可以暫時不加,我個人這邊實際測試,風扇噪音還是有些大的,所以把風扇電源線拔掉了

至此,一個使用樹莓派的簡易HIL平台搭建完畢,後續使用模型進行GPIO控制,PWM輸出,控制演算法實物模擬啊等等,都可以進行拓展。


推薦閱讀:

于振南~我的大學 單片機到嵌入式編程
智能小車一《arduino是什麼》
樹莓派3B+ 上手須知
電腦還能這麼小?指甲蓋大小的電腦也能控制機器人!

TAG:單片機 | simulink | 樹莓派RaspberryPi |