基于Microchip單片機及收發(fā)器實現(xiàn)的低成本LIN總線
在LIN網(wǎng)絡中,主節(jié)點的時鐘由高精度的晶振產(chǎn)生,從節(jié)點一般用RC震蕩器產(chǎn)生。在本文中,從節(jié)點的時鐘可以用MICROCHIP單片機的內部RC震蕩器來實現(xiàn)。
3 LIN協(xié)議的基本知識
LIN的報文分為兩部分,一是主任務,也叫報文頭;另一個部分是從任務,也叫響應場。如圖3所示。
主任務位于主機節(jié)點內部,都是由主節(jié)點發(fā)出,它負責報文的進度表、發(fā)送報文頭(HEADER)。從任務位于所有的(即主機和從機)節(jié)點中,其中一個(主機節(jié)點或從機節(jié)點)發(fā)送報文的響應(RESP*E)。
3.1 報文頭
報文頭分為三部分,按順序分別叫同步間隔、同步字段、標識符字段。
同步間隔是一個長時間的低電平(顯性總線電平),低電平時間要大于10個位定時時間,通常為13個位定時時間。在長時間的低電平之后,要跟著一個短時間的高電平(隱性總線電平),一般為1~4個位定時時間。
同步字段包含了時鐘的同步信息。它的內容為0x55,表現(xiàn)在8個位定時中有5個下降沿(隱性跳變到顯性的邊沿)。從節(jié)點通過同步字段,可以使自己的總線速率與主節(jié)點同步。
標識符字段定義了報文的內容和長度。其中,內容是由6個標識符位和2個奇偶校驗位組成,如圖4所示。標識符位的第5位和第6位(ID4和ID5)定義了報文數(shù)據(jù)場的長度。
3.2 響應場
響應場包含數(shù)據(jù)字段和校驗和兩部分。
數(shù)據(jù)字段由8 bit數(shù)據(jù)的字節(jié)組成,傳輸由最低位(LSB)開始。校驗和按照帶進位加的方式計算,每個進位都被加到本次計算結果的最低位。
3.3 保留的標識符
標識符為0x3C和0x3D的標識符被用做診斷。其中0x3C是主機請求幀,它可以從主機向從機節(jié)點發(fā)送命令和數(shù)據(jù)。0x3D是從機響應幀,它觸發(fā)一個從機節(jié)點(由一個優(yōu)先的下載幀編址)向主機節(jié)點發(fā)送數(shù)據(jù)。
標識符為0x3E是由用戶定義的自由用法,標識符為0x3F是為將來使用而嚴格保留的。
4 MICROCHIP單片機的軟硬件實現(xiàn)
4.1 硬件實現(xiàn)
主節(jié)點一般采用Flash比較大的MICROCHIP中檔8位單片機,或者采用帶CAN控制器的高檔8位單片機或16位單片機作為控制器。時鐘采用高精度石英晶振。物理層的電平轉換采用MICROCHIP的收發(fā)器MCP2021。
從節(jié)點可用低成本的MICROCHIP中、低檔8位單片機。時鐘用單片機內部自帶的RC震蕩器。內部RC震蕩器在常溫25 ℃時,精度為1%,全溫度范圍(-40 ℃~+125 ℃)內精度為5%[1]。物理層的電平轉換采用MICROCHIP的收發(fā)器MCP2021。
評論