新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 利用RS-485實(shí)現(xiàn)多路溫度測(cè)量

利用RS-485實(shí)現(xiàn)多路溫度測(cè)量

作者:郭慶亮 中國(guó)電子科技集團(tuán)公司第四十一研究所 時(shí)間:2010-03-09 來(lái)源:電子產(chǎn)品世界 收藏

本文引用地址:http://2s4d.com/article/106708.htm

  本系統(tǒng)對(duì)串行通訊的應(yīng)用電路中,在A和B端預(yù)留了上拉電阻、和AB之間的匹配電阻,但實(shí)際使用過程中,由于通訊距離很短(10m以內(nèi)),所以匹配電阻并沒有焊上,而是在MAX485和微處理器的TXD和RXD接口處增加了兩個(gè)10KΩ的上拉電阻。用示波器測(cè)量其通訊信號(hào)波形時(shí),發(fā)現(xiàn)R2、R3兩個(gè)上拉電阻接上后,通訊數(shù)據(jù)的波形得到了明顯的改善,通訊成功率大大提高。

  通訊需要嚴(yán)格遵循通訊協(xié)議,否則通訊是不會(huì)建立起來(lái)的。尤其是在主采用不同的處理器時(shí),軟件處理一定的仔細(xì)查看其說(shuō)明文件,不能一視同仁。在本電路的實(shí)驗(yàn)過程中,就發(fā)現(xiàn)一個(gè)波特率設(shè)置的問題。波特率的設(shè)置公式如下:

  BAUD= Fosc/16(UBRR+1)

  其中BAUD為通訊速率,F(xiàn)osc為系統(tǒng)時(shí)鐘頻率,UBRR為波特率寄存器UBRRH、UBRRL中的值(0~4095)。

  波特率的設(shè)置公式中用到了微處理器的系統(tǒng)時(shí)鐘頻率Fosc,我們的主雖然都使用了外部4M晶振,但內(nèi)部將4M頻率三分頻,而仍然使用4M主頻,軟件編寫過程中,將主從機(jī)的波特率寄存器初始化值置為一樣的,這樣就造成了主從機(jī)的波特率相差2倍,通訊當(dāng)然是不能成功的。

  為了保證通訊成功,開始時(shí)所有從機(jī)復(fù)位,即處于監(jiān)聽狀態(tài),等待的呼叫。當(dāng)向網(wǎng)上發(fā)出某一從機(jī)的地址時(shí),所有從機(jī)接收到該地址并與自己的地址相比較。如果相符,說(shuō)明主機(jī)在呼叫自己,應(yīng)發(fā)回應(yīng)答信號(hào),表示準(zhǔn)備好開始接收后面的命令和數(shù)據(jù);否則不予理睬,繼續(xù)監(jiān)聽呼叫地址。主機(jī)收到從機(jī)的應(yīng)答后,則開始一次通信。通信完畢,從機(jī)繼續(xù)處于監(jiān)聽狀態(tài),等待呼叫。由于發(fā)送和接收共用同一總線。在任意時(shí)刻只允許一臺(tái)單機(jī)處于發(fā)送狀態(tài)。因此要求應(yīng)答的單機(jī)必須在偵聽到總線上呼叫信號(hào)已經(jīng)發(fā)送完畢,并且沒有其它單機(jī)發(fā)出應(yīng)答信號(hào)的情況下,才能應(yīng)答。接受狀態(tài)和發(fā)送狀態(tài)的轉(zhuǎn)換是通過方向口高低電平的變化來(lái)完成的。

  溫度采集和顯示

  從機(jī)模塊完成的主要功能是8路溫度模擬信號(hào)的采集和向主機(jī)正確的發(fā)送這8個(gè)采樣溫度,本系統(tǒng)中采用溫度傳感器為AD590。AD590是一個(gè)電流型集成溫度傳感器,其輸出電流正比于絕對(duì)溫度,當(dāng)溫度為273開氏度時(shí),其輸出電流為273微安。溫度每變化1K(也可以理解為1℃),輸出電流變化1微安。將電流信號(hào)經(jīng)運(yùn)算放大器后輸出0~5V(參考電壓為5V)的電壓信號(hào),經(jīng)過ATMEG16L的10位A/D轉(zhuǎn)換后變?yōu)閿?shù)字信號(hào)存放在從機(jī)的緩存區(qū)。當(dāng)主機(jī)發(fā)出與該從機(jī)相應(yīng)的地址信號(hào)后,從機(jī)應(yīng)應(yīng)答并將采樣后的數(shù)據(jù)經(jīng)總線送給主機(jī)并顯示在液晶屏幕上。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉