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