《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > RS485串行通信接口電路的總體設計
RS485串行通信接口電路的總體設計
互聯網
摘要: 為了實現RS485協議的串行通信,必須在PC機側配置RS485/RS232轉換器,或者購買適合PC機的RS485卡。 ...
關鍵詞: 單片機 數據 遠程
Abstract:
Key words :

在電參數儀的設計中,數據采集由單片機AT89C52負責,上位PC機主要負責通信(包括與單片機之間的串行通信和數據的遠程通信),以及數據處理等工作。在工作中,單片機需要定時向上位PC機傳送大批量的采樣數據。通常,主控PC機和由單片機構成的現場數據采集系統相距較遠,近則幾十米,遠則上百米,并且數據傳輸通道環境比較惡劣,經常有大容量的電器(如電動機,電焊機等)啟動或切斷。為了保證下位機的數據能高速及時、安全地傳送至上位PC機,單片機和PC機之間采用RS485協議的串行通信方式較為合理。

實際應用中,由于大多數普通PC機只有常用的RS232串行通信口,而不具備RS485通信接口。因此,為了實現RS485協議的串行通信,必須在PC機側配置RS485/RS232轉換器,或者購買適合PC機的RS485卡。這些附加設備的價格一般較貴,尤其是一些RS485卡具有自己獨特的驅動程序,上位PC機的通信一般不能直接采用WINDOW95/98環境下有關串口的WIN32通信API函數,程序員還必須熟悉RS485卡的應用函數。為了避開采用RS485通信協議的上述問題,我們決定自制RS485/RS232轉換器來實現單片機和PC機之間的通信。

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

從圖1可看出,單片機的通信信號首先通過光隔,然后經過RS485接口芯片,將電平信號轉換成電流環信號。經過長距離傳輸后,再通過另一個RS485接口芯片,將電流環信號轉換成電平信號。

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

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

2接口電路的具體設計

2-1單片機側RS485接口電路的設計

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


         圖2單片機側RS485接口電路




              圖3MAX490的內部結構

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

2-2PC機側RS485/RS232轉換器的設計

RC機側RS485/RS232轉換器的電路如圖4所示。

該電路首先通過MAX490芯片將單片機側經遠距離傳輸的電流環信號轉換成TTL/CMOS標準

        圖4PC機側RS485/RS232轉換器的實際電路(略)
 


           圖5MAX232A的內部結構

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

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

3 通信軟件的設計

利用上述硬件通信電路,可以實現符合RS485協議的串行通信,同時又對軟件的編寫沒有任何額外要求,因為本電路改變了傳輸通道的信號傳輸方式。單片機側的通信可以采用查詢方式或串行中斷方式。在電參數測試儀中,為了保證上位機和下位機之間時序的嚴格一致,我們采用了查詢方式,這部分程序的編寫較簡單,具體可參閱文獻[1][3]。PC機側WINDOWS環境下的通信程序,可直接利用VC++提供的相應于串口的API函數完成RS232通信編程,具體可參閱文獻[2][3]。

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

4 實際應用

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

實踐證明本文設計符合RS485協議的串行通信電路,可以滿足高速率、高可靠、遠距離的串行通信,同時價格又比較便宜,不失為一種較為理想的串行通信方案。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产叼嘿久久精品久久| 中文字幕一区二区区免| 澳门永久av免费网站| 国产乱妇无码大片在线观看| 777米奇影视盒| 成年女人免费v片| 亚洲JIZZJIZZ中国少妇中文| 特级深夜a级毛片免费观看| 国产www视频| 欧美丰满白嫩bbwbbw| 在线视频1卡二卡三卡| 中文字幕高清免费不卡视频| 桃花影院www视频播放| 亚洲精品自产拍在线观看| 美女羞羞动画网站视频| 国产影片中文字幕| 2020国产精品视频| 天天做天天摸天天爽天天爱| 中文字幕无码不卡一区二区三区| 最近中文字幕高清中文字幕无| 亚洲精品无码久久毛片 | 亚洲欧美国产日本| 精品一区二区三区在线视频观看| 国产亚洲精彩视频| 天天久久影视色香综合网| 国自产精品手机在线观看视频 | bestialityvideo另类骆驼| 成年男女男精品免费视频网站| 久久综合国产乱子伦精品免费| 欧美日韩一区二区综合| 人妻体体内射精一区二区| 精品视频无码一区二区三区| 国产免费久久精品99久久| 欧美黑人两根巨大挤入| 国产精品视频第一区二区三区 | 怡红院免费手机在线观看| 久久久综合九色合综国产精品| 欧洲美女与动性zozozo| 亚洲欧美一区二区三区在线| 男人j桶进女人j的视频| 北条麻妃一区二区三区av高清|