基于LIN總線的汽車后視鏡控制模塊設(shè)計(jì)
1.5 MC9S12DG128與MC33661的硬件連接
LIN收發(fā)器是LIN主/從協(xié)議控制器和LIN物理總線之間的接口,其波特率一般為2.4~20 kbit·s-1。設(shè)計(jì)選用Freescale公司的MC33 689,是一款通過SPI控制的系統(tǒng)基礎(chǔ)芯片,其內(nèi)部除帶有LIN物理層收發(fā)器外,還集成了很多在以MCU為基礎(chǔ)構(gòu)成的系統(tǒng)中的常用功能。其與MCU的硬件連接如圖2所示。控制器MCU在TXD引腳輸入的發(fā)送數(shù)據(jù)流,通過LIN收發(fā)器轉(zhuǎn)換成LIN總線信號(hào),并由收發(fā)器控制轉(zhuǎn)換速率和波形。
LIN總線的輸出引腳通過一個(gè)內(nèi)部終端電阻拉成高電平。收發(fā)器在LIN總線的輸入引腳檢測(cè)數(shù)據(jù)流并通過引腳RXD發(fā)送到MCU。LIN總線是一種基于UART/SCI的數(shù)據(jù)格式,一種新型低成本的串行通信總線。本文引用地址:http://m.butianyuan.cn/article/159373.htm
2 軟件設(shè)計(jì)
2.1 LIN協(xié)議
2.1.1 LIN網(wǎng)絡(luò)結(jié)構(gòu)
從協(xié)議通訊的角度看,一個(gè)UN網(wǎng)絡(luò)通常由一個(gè)主機(jī)任務(wù)模塊(Master Task)和若干個(gè)從機(jī)任務(wù)模塊(Slave Task)組成。主機(jī)節(jié)點(diǎn)中既有主機(jī)任務(wù)模塊又有從機(jī)任務(wù)模塊;其他節(jié)點(diǎn)都只有從機(jī)任務(wù)模塊,如圖3所示。在LIN網(wǎng)絡(luò)中,由主機(jī)任務(wù)模塊決定何時(shí)在總線上傳輸什么報(bào)文幀,而從機(jī)任務(wù)模塊則提供每一幀需要傳送的數(shù)據(jù)。主機(jī)任務(wù)模塊和從機(jī)任務(wù)模塊都是幀處理層的組成部分。
2.1.2 LIN報(bào)文幀
LIN總線的數(shù)據(jù)傳輸采用報(bào)文幀的形式進(jìn)行,一個(gè)完整的報(bào)文幀由一個(gè)幀頭和一個(gè)響應(yīng)幀組成。幀頭包括一個(gè)同步間隔場(chǎng)(Synch Break Field)、一個(gè)同步場(chǎng)(Synch Field)、和一個(gè)標(biāo)識(shí)符場(chǎng),而響應(yīng)幀(Response)則由3~9 Byte場(chǎng)組成:2、4或8 Byte的數(shù)據(jù)場(chǎng)(Data Field)和一個(gè)校驗(yàn)和場(chǎng)(Checksum Field),如圖4所示。報(bào)文幀的用途由標(biāo)識(shí)符唯一定義,約定的從機(jī)任務(wù)根據(jù)標(biāo)識(shí)符提供的相關(guān)的響應(yīng)幀并發(fā)送到總線上,對(duì)這個(gè)標(biāo)識(shí)符相聯(lián)的數(shù)據(jù)感興趣的從機(jī)任務(wù)將接收響應(yīng)幀并校驗(yàn),校驗(yàn)通過后對(duì)數(shù)據(jù)進(jìn)行處理。這樣的通訊機(jī)制帶來了理想的效果,在LIN網(wǎng)絡(luò)中可以直接增加節(jié)點(diǎn)而不需要對(duì)其他從機(jī)節(jié)點(diǎn)的硬件和軟件進(jìn)行修改;報(bào)文的內(nèi)容由標(biāo)識(shí)符定義;多個(gè)節(jié)點(diǎn)可以同時(shí)接收一個(gè)單獨(dú)的報(bào)文幀,并對(duì)報(bào)文做出反應(yīng)。
評(píng)論