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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > RS485串行通信接口電路的總體設(shè)計(jì)

          RS485串行通信接口電路的總體設(shè)計(jì)

          作者: 時(shí)間:2006-11-01 來源:網(wǎng)絡(luò) 收藏
          在電參數(shù)儀的設(shè)計(jì)中,采集由AT89C52負(fù)責(zé),上位PC機(jī)主要負(fù)責(zé)通信(包括與之間的串行通信和通信),以及處理等工作。在工作中,需要定時(shí)向上位PC機(jī)傳送大批量的采樣數(shù)據(jù)。通常,主控PC機(jī)和由單片機(jī)構(gòu)成的現(xiàn)場(chǎng)數(shù)據(jù)采集系統(tǒng)相距較遠(yuǎn),近則幾十米,遠(yuǎn)則上百米,并且數(shù)據(jù)傳輸通道環(huán)境比較惡劣,經(jīng)常有大容量的電器(如電動(dòng)機(jī),電焊機(jī)等)啟動(dòng)或切斷。為了保證下位機(jī)的數(shù)據(jù)能高速及時(shí)、安全地傳送至上位PC機(jī),單片機(jī)和PC機(jī)之間采用RS485協(xié)議的串行通信方式較為合理。

          實(shí)際應(yīng)用中,由于大多數(shù)普通PC機(jī)只有常用的RS232串行通信口,而不具備RS485通信接口。因此,為了實(shí)現(xiàn)RS485協(xié)議的串行通信,必須在PC機(jī)側(cè)配置RS485/RS232轉(zhuǎn)換器,或者購(gòu)買適合PC機(jī)的RS485卡。這些附加設(shè)備的價(jià)格一般較貴,尤其是一些RS485卡具有自己獨(dú)特的驅(qū)動(dòng)程序,上位PC機(jī)的通信一般不能直接采用WINDOW95/98環(huán)境下有關(guān)串口的WIN32通信API函數(shù),程序員還必須熟悉RS485卡的應(yīng)用函數(shù)。為了避開采用RS485通信協(xié)議的上述問題,我們決定自制RS485/RS232轉(zhuǎn)換器來實(shí)現(xiàn)單片機(jī)和PC機(jī)之間的通信。

          單片機(jī)和PC機(jī)之間的RS485通信硬件接口電路的框圖,如下圖1所示。

          從圖1可看出,單片機(jī)的通信信號(hào)首先通過光隔,然后經(jīng)過RS485接口芯片,將電平信號(hào)轉(zhuǎn)換成電流環(huán)信號(hào)。經(jīng)過長(zhǎng)距離傳輸后,再通過另一個(gè)RS485接口芯片,將電流環(huán)信號(hào)轉(zhuǎn)換成電平信號(hào)。

          圖1單片機(jī)與PC機(jī)之間的RS485通信硬件接口電路的框圖(略)

          該電平信號(hào)再經(jīng)過光電隔離,最后由SR232接口芯片,將該電平信號(hào)轉(zhuǎn)換成與PC機(jī)RS232端口相兼容的RS232電平。由于整個(gè)傳輸通道的兩端均有光電隔離,故無論是PC機(jī)還是單片機(jī)都不會(huì)因數(shù)據(jù)傳輸線上可能遭受到的高壓靜電等的干擾而出現(xiàn)“死機(jī)”現(xiàn)象。

          2接口電路的具體設(shè)計(jì)

          2-1單片機(jī)側(cè)RS485接口電路的設(shè)計(jì)

          單片機(jī)側(cè)RS485接口電路如圖2所示。
            
            AT89C52單片機(jī)的串行通信口P30(RXD)和P31(TXD)的電平符合TTL/CMOS標(biāo)準(zhǔn)(邏輯“0”的電平范圍為0V~0.8V,邏輯“1”的電平為24V~VCC),它們首先通過光電隔離器件6N137隔離,以保護(hù)單片機(jī)不受傳輸通道的干擾影響,其中T01和?T02是為了增加光隔輸入端的驅(qū)動(dòng)能力。光隔6N137的左側(cè)電源與單片機(jī)相同,右側(cè)必須采用另一組獨(dú)立的+5V電源,且兩組電源不能供電。

                   圖2單片機(jī)側(cè)RS485接口電路



                        圖3MAX490的內(nèi)部結(jié)構(gòu)

          MAX490[4]是MAXIM公司的RS485接口芯片,其內(nèi)部結(jié)構(gòu)如圖3所示。MAX490支持單電源+5V工作,傳輸速率最高可達(dá)25MBPS,可實(shí)現(xiàn)全雙工通信。其RO、DI端的邏輯“0”的電平在-0.5V~0.8V之間,邏輯“1”的電平在20V~VCC之間。輸出電流環(huán)的電流在150μA~500μA之間。其工作狀態(tài)為:當(dāng)A端電壓比B端電壓高200mV以上,RO輸出邏輯“1”,當(dāng)A端電壓比B端電壓低200mV,RO輸出邏輯“0”;當(dāng)DI為邏輯“0”,輸出Y低、Z高,當(dāng)DI為邏輯“1”,輸出Y高、Z低。圖2中的電阻器RRS為MAX490的終端匹配電阻器。

          2-2PC機(jī)側(cè)RS485/RS232轉(zhuǎn)換器的設(shè)計(jì)

          RC機(jī)側(cè)RS485/RS232轉(zhuǎn)換器的電路如圖4所示。

          該電路首先通過MAX490芯片將單片機(jī)側(cè)經(jīng)遠(yuǎn)距離傳輸?shù)碾娏鳝h(huán)信號(hào)轉(zhuǎn)換成TTL/CMOS標(biāo)準(zhǔn)

                  圖4PC機(jī)側(cè)RS485/RS232轉(zhuǎn)換器的實(shí)際電路(略)

                     圖5MAX232A的內(nèi)部結(jié)構(gòu)

          的電平信號(hào),然后通過光隔6N137隔離,得到兩個(gè)同樣是與TTL/CMOS電平相兼容的電平信號(hào);最后,經(jīng)RS232芯片轉(zhuǎn)換成RS232電平:其中RS232電平的邏輯“0”的電平范圍為-5V~-15V,邏輯“1”的電平范圍為+5V~+15V。這里RS232電平轉(zhuǎn)換芯片選 用MAXIM公司的MAX232A[4],該芯片采用單電源(+5V)供電,RS232電平由內(nèi)部電荷泵產(chǎn)生,其內(nèi)部結(jié)構(gòu)如圖5所示。

          在RS485/RS232轉(zhuǎn)換器的設(shè)計(jì)過程中需要特別注意的是電源的設(shè)計(jì)。單片機(jī)側(cè)和PC機(jī)側(cè)的RS485芯片理論上可共用一個(gè)電源。實(shí)際上,如果穩(wěn)壓電路安裝在單片機(jī)側(cè),同時(shí)又將此電源直接拉至PC側(cè)的RS485/RS232轉(zhuǎn)換器中,由于電源線可能長(zhǎng)達(dá)上百米,電源線的線徑又不可能選得很粗。如此遠(yuǎn)距離的傳輸將會(huì)導(dǎo)致電源電壓在PC機(jī)側(cè)有一個(gè)很大的落差,這樣,有可能造成PC機(jī)側(cè)的MAX490或光隔IC702工作不正常。一個(gè)比較好的解決辦法是首先直接將單片機(jī)側(cè)變壓器輸出的交流信號(hào)經(jīng)長(zhǎng)距離傳輸至RS485/RS232轉(zhuǎn)換器,然后經(jīng)整流和穩(wěn)壓,作為PC機(jī)側(cè)MAX490和光隔IC702的供電電源。此外,RS232和光隔左側(cè)的供電電源PCVCC可以利用PC機(jī)內(nèi)部開關(guān)電源的+5V輸出,或者由外部穩(wěn)壓電源提供。

          3 通信軟件的設(shè)計(jì)

          利用上述硬件通信電路,可以實(shí)現(xiàn)符合RS485協(xié)議的串行通信,同時(shí)又對(duì)軟件的編寫沒有任何額外要求,因?yàn)楸倦娐犯淖兞藗鬏斖ǖ赖男盘?hào)傳輸方式。單片機(jī)側(cè)的通信可以采用查詢方式或串行中斷方式。在電參數(shù)測(cè)試儀中,為了保證上位機(jī)和下位機(jī)之間時(shí)序的嚴(yán)格一致,我們采用了查詢方式,這部分程序的編寫較簡(jiǎn)單,具體可參閱文獻(xiàn)[1][3]。PC機(jī)側(cè)WINDOWS環(huán)境下的通信程序,可直接利用VC++提供的相應(yīng)于串口的API函數(shù)完成RS232通信編程,具體可參閱文獻(xiàn)[2][3]。

          由于數(shù)據(jù)傳輸是在強(qiáng)干擾的環(huán)境中進(jìn)行的,而且傳輸距離又較遠(yuǎn),為了保證數(shù)據(jù)能高速、準(zhǔn)確傳輸,軟件編程時(shí)可以考慮對(duì)大批量的數(shù)據(jù)進(jìn)行分組傳送,同時(shí)對(duì)每組數(shù)據(jù)進(jìn)行和校驗(yàn),檢查其傳輸?shù)臏?zhǔn)確性。在實(shí)際使用中,設(shè)定每組數(shù)據(jù)的數(shù)據(jù)頭為單字節(jié)0AAH,中間為256個(gè)字節(jié)的采樣數(shù)據(jù),數(shù)據(jù)最后一個(gè)字節(jié)為和校驗(yàn)結(jié)果。PC機(jī)每接收到一組數(shù)據(jù),均要進(jìn)行再次和校驗(yàn),,然后將PC機(jī)的校驗(yàn)結(jié)果和單片機(jī)的校驗(yàn)結(jié)果(該組數(shù)據(jù)的最后一個(gè)字節(jié))相比較,若兩者不等則校驗(yàn)失敗,PC機(jī)給單片機(jī)發(fā)重傳命令,要求單片機(jī)重傳本組數(shù)據(jù);若兩者相等則校驗(yàn)正常,PC機(jī)給單片機(jī)發(fā)確認(rèn)認(rèn)號(hào),并準(zhǔn)備接收下一組采樣數(shù)據(jù),單片機(jī)則開始新一輪采樣。

          4 實(shí)際應(yīng)用

          在電參數(shù)測(cè)試儀的工作過程中,大約每隔一分鐘單片機(jī)和上位PC機(jī)之間就要經(jīng)過多次命令和數(shù)據(jù)的雙向傳遞,其數(shù)據(jù)量較大,每次約有7k字節(jié)左右。本系統(tǒng)單片機(jī)選用ATMEL公司的AT89C52,晶振頻率為110592MHz,串行通信方式為模式1,通信速率為57.6kBPS。上位機(jī)的通信和數(shù)據(jù)處理程序采用VC++6.0編寫。單片機(jī)和PC機(jī)之間的距離約100米左右,傳輸線由普通的多芯電源線替代,且經(jīng)過有電焊機(jī)、電動(dòng)機(jī)、高壓靜電發(fā)生器等頻繁起動(dòng)的場(chǎng)合。采用上述硬件通信電路,同時(shí)考慮編程時(shí)的軟件糾錯(cuò),該儀器經(jīng)過多次24小時(shí)的不間斷運(yùn)行,都沒有發(fā)生過死機(jī)現(xiàn)象,工作一切正常。調(diào)試時(shí),通過觀察上位PC機(jī)中設(shè)置的數(shù)據(jù)重傳計(jì)數(shù)器,發(fā)現(xiàn)數(shù)據(jù)重傳次數(shù)極少。

          實(shí)踐證明本文設(shè)計(jì)符合RS485協(xié)議的串行通信電路,可以滿足高速率、高可靠、遠(yuǎn)距離的串行通信,同時(shí)價(jià)格又比較便宜,不失為一種較為理想的串行通信方案。
          電焊機(jī)相關(guān)文章:電焊機(jī)原理


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();