技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 提高RS485總線(xiàn)通信速度的一種設(shè)計(jì)

提高RS485總線(xiàn)通信速度的一種設(shè)計(jì)

時(shí)間:2010-05-12 16:16:59來(lái)源:zhangting

導(dǎo)語(yǔ):?介紹一種通信總線(xiàn)RS485主從通信方式,提高RS485總線(xiàn)采集速度的方法,該方法解決了主從式通信慢的缺點(diǎn),提高了通信速度,運(yùn)行穩(wěn)定、可靠

  介紹一種通信總線(xiàn)RS485主從通信方式,提高RS485總線(xiàn)采集速度的方法,該方法解決了主從式通信慢的缺點(diǎn),提高了通信速度,運(yùn)行穩(wěn)定、可靠。

引言

  工業(yè)現(xiàn)場(chǎng)經(jīng)常要采集多點(diǎn)數(shù)據(jù),模擬信號(hào)或開(kāi)關(guān)信號(hào),一般用到RS485總線(xiàn),使用一主帶多從的通信方式,該種方式接線(xiàn)方便只需要兩根屏蔽電纜線(xiàn),通信距離遠(yuǎn)最大可支持1500m,加中繼器還可延長(zhǎng)通信距離,采用差分信號(hào)方式抗電磁干擾好。但該方式通信速度不能太快,一般采用主從召喚的方式采集各子單元的數(shù)據(jù),即主單元依次召喚各子單元(見(jiàn)圖1),召喚到哪個(gè)單元哪個(gè)單元上傳數(shù)據(jù),總線(xiàn)的使用權(quán)完全由主單元分配,各子單元不能擅自占領(lǐng)總線(xiàn)。如果系統(tǒng)的單元多,主單元循環(huán)采集一周的時(shí)間就很長(zhǎng),子單元信息變化時(shí)不能及時(shí)發(fā)送給主單元,導(dǎo)致系統(tǒng)對(duì)突變事件的反應(yīng)處理速度慢。本文通過(guò)總線(xiàn)狀態(tài)檢測(cè)、從機(jī)主動(dòng)上發(fā)的方式解決。

  
圖1 常規(guī)RS485總線(xiàn)主從方式接口圖



硬件設(shè)計(jì)

  整個(gè)系統(tǒng)由主單元和多個(gè)子單元組成(圖2),主單元包括:ARM7微控制器、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、與子單元通信RS485、與主單元通信RS485、系統(tǒng)電源和通信隔離電源;子單元包括:MSP430單片機(jī)、與子單元通信RS485、系統(tǒng)電源和通信隔離電源。

  
圖2 系統(tǒng)框圖



  主單元

  ARM微控制器是主單元的核心,采用三星32位ARM7TDMI內(nèi)核芯片S3C44B0,該芯片最高處理速度可達(dá)76MHZ,總線(xiàn)開(kāi)放,可外擴(kuò)程序存儲(chǔ)器FLASH和數(shù)據(jù)存儲(chǔ)器SDRAM,該系統(tǒng)外擴(kuò)了SST公司生產(chǎn)的39VF1601和現(xiàn)代生產(chǎn)的HY57V641620HG,2個(gè)UART串行接口,使用ADI的隔離RS485芯片ADM2483進(jìn)行接口電平轉(zhuǎn)換,總線(xiàn)狀態(tài)檢測(cè)使用74HC125三態(tài)門(mén)芯片。

  子單元

  子單元的微控制器使用TI的MSP430F133單片機(jī),該單片機(jī)處理速度可達(dá)8MHz,8K字節(jié)片內(nèi)FLASH存儲(chǔ),256K字節(jié)片內(nèi)SRAM。

  電源電路

  電源電路采用開(kāi)關(guān)電源供電,開(kāi)關(guān)電源輸入電壓范圍比較寬,輸出直流電壓5V,通過(guò)SP1117-3.3和SP1117-2.5芯片輸出3.3V電源。RS485需要的隔離5V電源通過(guò)DC-DC模塊得到。

  總線(xiàn)檢測(cè)電路

  總線(xiàn)狀態(tài)檢測(cè)使用74HC125三態(tài)門(mén)芯片和單片機(jī)的兩個(gè)I/O(圖3),當(dāng)系統(tǒng)都不使用總線(xiàn)時(shí),每個(gè)單元的74HC125都輸出高阻狀態(tài),此時(shí)總線(xiàn)為低電平,當(dāng)有單元要使用總線(xiàn)時(shí),他首先檢測(cè)總線(xiàn)狀態(tài),如果總線(xiàn)為低電平,該單元迅速把74HC125改為輸出狀態(tài),此時(shí)總線(xiàn)變?yōu)楦唠娖剑搯卧碱I(lǐng)總線(xiàn),往總線(xiàn)上發(fā)送數(shù)據(jù),發(fā)送數(shù)據(jù)完成再把74HC125改為高阻狀態(tài)。如果檢測(cè)到總線(xiàn)是高電平,等待檢測(cè),直到總線(xiàn)變低后再占領(lǐng)總線(xiàn)。
  


圖3 總線(xiàn)檢測(cè)電路



  隔離485電路

  使用ADI的ADM2483芯片進(jìn)行接口電平轉(zhuǎn)換(圖4),該芯片屬于隔離485,雙電源供電輸入輸出隔離。


圖4 隔離485電路



軟件設(shè)計(jì)

  主機(jī)程序部分需要實(shí)現(xiàn)各從機(jī)上傳數(shù)據(jù)的接收、處理和上傳。主機(jī)接收子單元信息通過(guò)一個(gè)RS485串口實(shí)現(xiàn),數(shù)據(jù)格式為16進(jìn)制,數(shù)據(jù)位8位,1個(gè)起始位,1個(gè)結(jié)束位,無(wú)寄偶校驗(yàn)位,波特率9600bps。采用串行口中斷的方式接收,主機(jī)程序初始化完成后等待各從機(jī)發(fā)送信息,當(dāng)主機(jī)接收到第一個(gè)字節(jié)后,判斷該字節(jié)是否為設(shè)備號(hào),如果不是設(shè)備號(hào),接收個(gè)數(shù)清零,如果是設(shè)備號(hào)繼續(xù)接收第二個(gè)字節(jié);判定第二個(gè)字節(jié)是否為正確的功能碼,如果功能碼錯(cuò)誤,接收個(gè)數(shù)清零重新接收,功能碼正確;接收第三個(gè)字節(jié),該字節(jié)為從單元發(fā)送信息的字節(jié)個(gè)數(shù)x,計(jì)算從單元發(fā)送總字節(jié)個(gè)數(shù)為M=X+3+2,3個(gè)開(kāi)頭字節(jié)和2個(gè)CRC校驗(yàn)碼,主機(jī)接收到M個(gè)字節(jié)后,首先判斷CRC校驗(yàn)碼是否正確,錯(cuò)誤舍棄所有信息,正確則把從單元的信息保存到數(shù)據(jù)區(qū),該次接收結(jié)束,主機(jī)繼續(xù)等待接收。

  信息的上傳通過(guò)一個(gè)RS232串口實(shí)現(xiàn)。當(dāng)主機(jī)接收到從機(jī)信息后,進(jìn)行數(shù)據(jù)的處理,發(fā)現(xiàn)從單元信息發(fā)生變化,主機(jī)準(zhǔn)備把從機(jī)信息發(fā)送到上位機(jī),首先重新初始化發(fā)送緩沖區(qū),然后通過(guò)中斷的方式依次發(fā)送信息到上位機(jī),發(fā)送信息包括設(shè)備號(hào)、功能碼、發(fā)送字節(jié)個(gè)數(shù)、信息字節(jié)和CRC校驗(yàn)碼。

  主機(jī)單元接收數(shù)據(jù)流程圖示于圖5。

  
圖5 程序流程圖



結(jié)語(yǔ)

  筆者所設(shè)計(jì)的系統(tǒng)實(shí)現(xiàn)了開(kāi)關(guān)信號(hào)的多點(diǎn)監(jiān)測(cè),一個(gè)主機(jī)單元,32個(gè)從機(jī)單元,每個(gè)從機(jī)單元監(jiān)測(cè)32個(gè)開(kāi)關(guān),該系統(tǒng)共可監(jiān)測(cè)1024個(gè)開(kāi)關(guān),使用9600bps的波特率。采用主從召換的方式,開(kāi)關(guān)信號(hào)監(jiān)測(cè)的反應(yīng)時(shí)間一般要用20-30s,使用該種總線(xiàn)檢測(cè)的方式,開(kāi)關(guān)信號(hào)的反應(yīng)速度最慢也不超過(guò)1s,快時(shí)只有幾百ms,大大提高反應(yīng)時(shí)間,并且由于不用時(shí)時(shí)召喚,總線(xiàn)數(shù)據(jù)流少,提高了總線(xiàn)的穩(wěn)定性。

參考文獻(xiàn):

  1. 李朝青著,PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù),北京航空航天大學(xué)出版社

  2. 田澤著,嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用,北京航空航天大學(xué)出版社

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于C8051F005單片機(jī)的小電阻...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。