LIN主從節點(diǎn)設計與實(shí)現
摘要:LIN是一種串行通訊協(xié)議,用于實(shí)現汽車(chē)中的分布式電子系統控制。介紹了具體的LIN主從節點(diǎn)硬件組成和軟件實(shí)現方法,同時(shí)提出若干抗千擾措施。測試證明按照這種方法設計的LIN網(wǎng)絡(luò )能正確實(shí)現通信。
關(guān)鍵詞:LIN總線(xiàn);主節點(diǎn);從節點(diǎn);CAN總線(xiàn)
LIN(LocalInterconnect Network)是一種低速汽車(chē)網(wǎng)絡(luò ),采用單主多從、異步串行通信方式,定位于現有汽車(chē)網(wǎng)絡(luò )(如CAN總線(xiàn))的輔助和補充,目的是以低廉的價(jià)格聯(lián)接車(chē)上的傳感器、執行器和處理器,并且允許不同廠(chǎng)家的模塊隨時(shí)添加進(jìn)來(lái)。LIN的主要特點(diǎn)有:低成本,基于通用UART接口,幾乎所有微控制器都具備LIN必須的硬件;傳輸速率最高可達20 Kb/s;從節點(diǎn)不需晶振或陶瓷震蕩器就能實(shí)現自同步,節省了從設備的硬件成本;單主控器/多從設備模式,無(wú)需仲裁機制;不需要改變LIN從節點(diǎn)的硬件和軟件就可以在網(wǎng)絡(luò )上增加節點(diǎn)等。
1 主從節點(diǎn)硬件設計
LIN網(wǎng)絡(luò )由一個(gè)主節點(diǎn)和最多15個(gè)從節點(diǎn)構成。設計LIN節點(diǎn)可以有三種方法:用普通I/O口線(xiàn)模擬異步串行通信;用UART和定時(shí)器實(shí)現;用專(zhuān)門(mén)的LIN模塊來(lái)實(shí)現。第一種方法成本最低,但CPU負擔最重,代碼較多;第二種方法成本適中,CPU負擔較輕;第三種方法成本較高,但CPU負擔最輕,代碼最少。這里采用最常用的一種,即基于UART和定時(shí)器的LIN節點(diǎn)設計和實(shí)現。LIN網(wǎng)絡(luò )拓撲結構如圖1所示。
在LIN網(wǎng)絡(luò )中所有的通信都由主節點(diǎn)發(fā)起,同時(shí)還承擔與CAN總線(xiàn)通信的任務(wù),因此主節點(diǎn)硬件電路主要包括微控制器、LIN收發(fā)器和CAN收發(fā)器。LIN收發(fā)器將協(xié)議控制器向TXD引腳輸入的傳輸數據流轉換成總線(xiàn)信號并由收發(fā)器控制回轉速率和波形以減少EME;CAN收發(fā)器作為CAN總線(xiàn)與控制器之間的接口以及提供CAN總線(xiàn)的差動(dòng)發(fā)送和接收功能。需要注意的是主節點(diǎn)電路中必須連接一個(gè)1 kΩ的上拉電阻和一個(gè)二極管。采用Microchip公司的PICl8系列單片機作為主節點(diǎn)的微控制器,MCP2551作為CAN總線(xiàn)收發(fā)器,MCP201作為L(cháng)IN總線(xiàn)收發(fā)器。主節點(diǎn)硬件原理圖如圖2所示。在實(shí)際設計過(guò)程中還要注意EMI(電磁干擾)和ESD(靜電危害)對LIN總線(xiàn)的干擾,為了避免EMI的影響,LIN協(xié)會(huì )把LIN的最高位速率限制在20 Kb/s,同時(shí)最大傳輸距離不能超過(guò)40 m;ESD表現為短暫而幅度迅速衰減的高壓、大電流放電,而LIN總線(xiàn)收發(fā)器最容易受到:ESD的沖擊,因此設計時(shí)可以在電源線(xiàn)和地線(xiàn)之間串聯(lián)電阻和電容,也可以把地線(xiàn)加粗,并與其他大面積接地導體就近、低阻抗連接。
從節點(diǎn)采用PIC18F1320作為主控制器,MCP201作為L(cháng)IN總線(xiàn)收發(fā)器;需要注意的是從節點(diǎn)中必須連接一個(gè)30 kΩ的上拉電阻,當然串聯(lián)二極管也是必須的,它可以防止電子控制單元在本地電池掉電的情況下通過(guò)LIN總線(xiàn)上電。從節點(diǎn)電路原理圖與主節點(diǎn)相似,去掉CAN收發(fā)器,其余不再贅述。
評論