<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 汽車(chē)電子 > 設(shè)計(jì)應(yīng)用 > 基于串行通信的車(chē)載信息采集系統(tǒng)的設(shè)計(jì)

          基于串行通信的車(chē)載信息采集系統(tǒng)的設(shè)計(jì)

          作者: 時(shí)間:2012-08-15 來(lái)源:網(wǎng)絡(luò) 收藏

          本文介紹了一款電動(dòng)汽車(chē)的:多從機(jī)采集信息,從機(jī)與主機(jī)間采用的多機(jī)通信,再由主機(jī)將通信的數(shù)據(jù)送往LCD顯示。它解決了繁多以及車(chē)身布線復(fù)雜而數(shù)據(jù)難于采集的難點(diǎn)。

          本文引用地址:http://www.ex-cimer.com/article/196559.htm

          1 引言

          作為一種重要的通信技術(shù)已經(jīng)在PC機(jī)通信及工業(yè)現(xiàn)場(chǎng)控制在線檢測(cè)等領(lǐng)域得到了廣泛的應(yīng)用[1]。本文所設(shè)計(jì)的是包含數(shù)據(jù)采集,數(shù)據(jù)傳輸和數(shù)據(jù)顯示的結(jié)構(gòu)系統(tǒng),是對(duì)一款新型電動(dòng)汽車(chē)的車(chē)載信息進(jìn)行采集,傳送和顯示的設(shè)計(jì)過(guò)程:車(chē)載信息通過(guò)傳感器(模擬量形式)或開(kāi)關(guān)量形式被采到從單片機(jī),主單片機(jī)和從單片機(jī)之間通過(guò)進(jìn)行數(shù)據(jù)傳輸,并由主機(jī)將數(shù)據(jù)送往液晶面板顯示出來(lái)。

          2 總線型主從式多機(jī)系統(tǒng)

          綜合考慮了電動(dòng)汽車(chē)所涉及到的大量的車(chē)載信息和串行口的多機(jī)通信能力,該設(shè)計(jì)采用了總線型主從式多機(jī)通信模式,而進(jìn)行數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)總線選為最普通實(shí)用的RS-485。總線型主從式多機(jī)通信系統(tǒng)模式如下圖:

          11.jpg

          而串口的通信協(xié)議在這里就不作介紹了。

          3 車(chē)載信息硬件設(shè)計(jì)

          該系統(tǒng)所研究的對(duì)象為一款電動(dòng)汽車(chē)的車(chē)載信息,筆者把信息分為兩類(lèi):模擬量和開(kāi)關(guān)量。模擬量包括:電池組(蓄電池)溫度,電池組(蓄電池)電壓,電池組(蓄電池)容量,車(chē)速(里程),總電流等;開(kāi)關(guān)量是指各種操作狀態(tài),包括:燈(系列)的狀態(tài),檔位開(kāi)關(guān)量,剎車(chē)狀態(tài),限位開(kāi)關(guān)狀態(tài)等。

          由于涉及到的信息量比較多,且分布在車(chē)身周?chē)秶^廣,筆者采用AVR公司的一款單片機(jī)——ATMEGA8L。這是一款體積小但采集能力和通信能力卻足夠強(qiáng)的單片機(jī):在采集方面,它含8通道A/D轉(zhuǎn)換和最多23個(gè)可編程I/O口;在數(shù)據(jù)通信方面,它含一個(gè)可編程的串行USART接口,支持同步,異步以及多機(jī)通信自動(dòng)地址識(shí)別[3]。ATMEGA8L相對(duì)8051或其他單片機(jī)一個(gè)重要的優(yōu)勢(shì)是單片機(jī)所需外圍電路比較簡(jiǎn)單(考慮到在車(chē)身布線,電路越簡(jiǎn)單越好)。LCD顯示模塊采用的是內(nèi)置T6963C的MGLS240128T的點(diǎn)陣液晶,它的特點(diǎn)是與單片機(jī)引腳接口電路簡(jiǎn)單且顯示功能強(qiáng)大。

          本文所設(shè)計(jì)的車(chē)載信息采集系統(tǒng)硬件框架如下圖:

          22.jpg

          模擬量通過(guò)特定傳感器采樣,轉(zhuǎn)換成電壓信號(hào)進(jìn)入從機(jī)的A/D通道,從機(jī)做A/D轉(zhuǎn)換后將數(shù)據(jù)存儲(chǔ)下來(lái);開(kāi)關(guān)量通過(guò)繼電器將電平信號(hào)送至從機(jī)的I/O口,從機(jī)也對(duì)信號(hào)做相關(guān)處理。主機(jī)與從機(jī)之間通過(guò)串行通信進(jìn)行數(shù)據(jù)傳輸,并由主機(jī)將合理數(shù)據(jù)送往LCD顯示。

          4 車(chē)載信息采集系統(tǒng)軟件設(shè)計(jì)

          基于串行通信的多機(jī)通信協(xié)議可以這樣進(jìn)行:1.所有從機(jī)處于監(jiān)聽(tīng)狀態(tài)。2.主機(jī)先發(fā)同步字符(即起始符,這里定為E8H),再發(fā)某個(gè)標(biāo)識(shí)符(根據(jù)信息類(lèi)別來(lái)定義不同值,比如電流值的標(biāo)識(shí)符定義為14H),并將通信狀態(tài)轉(zhuǎn)換為接收狀態(tài)(RXD=1)。3.當(dāng)標(biāo)識(shí)符所定義的從機(jī)(比如負(fù)責(zé)電流數(shù)據(jù)采集的從機(jī)1)監(jiān)聽(tīng)到標(biāo)識(shí)符(14H)后,從機(jī)轉(zhuǎn)為發(fā)送速據(jù)狀態(tài),并將準(zhǔn)備好的數(shù)據(jù)(電流值)和結(jié)束字符(這里定為CEH)傳給主機(jī),結(jié)束字符傳完,從機(jī)通信狀態(tài)轉(zhuǎn)換為監(jiān)聽(tīng)狀態(tài)。4.主機(jī)接收到結(jié)束字符后,將數(shù)據(jù)送往LCD顯示。5.主機(jī)發(fā)同步字符,發(fā)下一個(gè)標(biāo)識(shí)符(比如電壓15H)。

          所以,數(shù)據(jù)幀格式可以列為:起始符(E8H)+標(biāo)識(shí)符+數(shù)據(jù)串+結(jié)束符(CEH),所有特定字符的選擇都是為了與數(shù)據(jù)串中數(shù)字的ASCⅡ碼(30H–39H)區(qū)分開(kāi)來(lái)。

          下面是主機(jī)和從機(jī)程序流程:

          33.jpg

          主機(jī)采用循環(huán)點(diǎn)明的方式查詢(xún)從機(jī),被點(diǎn)到名的從機(jī)作出應(yīng)答,將采集到的數(shù)據(jù)或信號(hào)傳給主機(jī),主機(jī)將數(shù)據(jù)送給LCD顯示,再進(jìn)入下一個(gè)循環(huán)。串行通信的波特率選用9600,數(shù)據(jù)格式定義為8位數(shù)據(jù)位加一位停止位。串口初始化程序如下:

          voidinit_usart(void)//串口初始化

          {

          UCSRB|=0x18;//數(shù)據(jù)發(fā)送允許和接收允許

          UBRRL=(fosc/16/(baud+1))%256;//設(shè)置波特率寄存器低位字節(jié)

          UBRRH=(fosc/16/(baud+1))/256;//設(shè)置波特率寄存器高位字節(jié)

          UCSRC=0x86;//8位數(shù)據(jù)位+1位停止位

          }

          主機(jī)和從機(jī)都采用查詢(xún)方式接收和發(fā)送數(shù)據(jù):

          voidtransmit(unsignedchardata)//數(shù)據(jù)發(fā)送

          {

          while(!(UCSRA(1

          UDR=data;//發(fā)送數(shù)據(jù)

          }

          unsignedcharreceive(void)//數(shù)據(jù)接收

          {

          while(!(UCSRA(1

          returnUDR;//接收數(shù)據(jù)

          }

          5 結(jié)束語(yǔ)

          本文成功設(shè)計(jì)了針對(duì)一款電動(dòng)汽車(chē)的車(chē)載信息采集系統(tǒng)結(jié)構(gòu),一方面用多個(gè)從機(jī)采集車(chē)載信息解決了車(chē)載信息眾多而難于采集的問(wèn)題;用簡(jiǎn)單的串口通信的多機(jī)通信原理避免了車(chē)身周?chē)季€繁多的麻煩,另一方面采用液晶顯示車(chē)載信息,給用戶(hù)提供友好界面的同時(shí),又可以準(zhǔn)確實(shí)時(shí)地掌握汽車(chē)狀況。從液晶的數(shù)據(jù)顯示和數(shù)據(jù)刷新的效果來(lái)看,這種基于串口通信的車(chē)載信息采集系統(tǒng)是有很好的應(yīng)用前景的。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();