LIN-BUS(Local Interconnect Network)是常見於車內的匯流排,雖然LIN-BUS高層協議有些複雜(例如LDF,NCF),但對第一次設計的工程師而言,光是實現低階LIN-BUS message的傳輸,就需要耗掉很多時間去研讀跟反覆試驗,而Microchip MCC (MPLAB® Code Configurator)就提供LIN程式產生器,可快速幫您設計出原型,後續可輕易疊加上層協議或與第三方軟體。
LIN-BUS經由實體單線,由一個主節點跟最多15個從結點組成,主節點控制了整個匯流排的傳輸,而從結點則根據已排定的行程來做收送,如圖(一)示 :
LIN-BUS利用Frame Header(Break/Sync/PID欄位)來做為主從結點間的傳輸控制,這會利用到兩個周邊:Enhanced USART與Timer來完成圖(二)所示:
MCC是嵌入在MPLAB X的GUI環境,可用最易操作的方式設定/產生相關周邊的驅動程式與對應程式庫,針對LIN-BUS部分,MCC可幫忙產生下列程式:
1. 快速產生並整合EUSART與Timer周邊的程式碼
2. 轉EUART為LIN各式封包
3. 自動產生PID/checksum/相關設定.
4. 自動波特率偵測 / Time-out設定
5. 硬體中斷相關程式代碼
6. 當無支援硬體USART時,可用軟體模擬
同時Microchip也提供多種LIN-BUS開發板,快速的驗證心中的想法,若配合低成本/簡易操作的LIN-Serial Analyzer,讓您輕鬆抓取LIN-BUS封包做解析。
善用MPLAB®程式碼配置器(MCC),利用圖形介面(GUI)來規劃周邊,產生相關的程式碼與設定檔,以減輕閱讀資料手冊的負擔,讓開發變得更為簡單有趣。
更進一步的支援資訊如下,歡迎下載、閱讀,並與我們經驗豐富的設計團隊聯繫。https://www.microchip.com/design-centers/lin
作者 林周正 Microchip應用工程師