RS485/RS232轉(zhuǎn)換器實(shí)現(xiàn)的串行通信
在電參數(shù)儀的設(shè)計(jì)中,數(shù)據(jù)采集由單片機(jī)AT89C52負(fù)責(zé),上位PC機(jī)主要負(fù)責(zé)通信(包括與單片機(jī)之間的串行通信和數(shù)據(jù)的遠(yuǎn)程通信),以及數(shù)據(jù)處理等工作。在工作中,單片機(jī)需要定時(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é)議的串行通信方式較為合理。
本文引用地址:http://m.butianyuan.cn/article/201612/330824.htm實(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ù)。為了避開(kāi)采用RS485通信協(xié)議的上述問(wèn)題,我們決定自制RS485/RS232轉(zhuǎn)換器來(lái)實(shí)現(xiàn)單片機(jī)和PC機(jī)之間的通信。
單片機(jī)和PC機(jī)之間的RS485通信硬件接口電路的框圖,如圖1所示。
從圖1可看出,單片機(jī)的通信信號(hào)首先通過(guò)光隔,然后經(jīng)過(guò)RS485接口芯片,將電平信號(hào)轉(zhuǎn)換成電流環(huán)信號(hào)。經(jīng)過(guò)長(zhǎng)距離傳輸后,再通過(guò)另一個(gè)RS485接口芯片,將電流環(huán)信號(hào)轉(zhuǎn)換成電平信號(hào)。
該電平信號(hào)再經(jīng)過(guò)光電隔離,最后由SR232接口芯片,將該電平信號(hào)轉(zhuǎn)換成與PC機(jī)RS232端口相兼容的RS232電平。由于整個(gè)傳輸通道的兩端均有光電隔離,故無(wú)論是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ī)的串行通信口P30(RXD)和P31(TXD)的電平符合TTL/CMOS標(biāo)準(zhǔn)(邏輯“0”的電平范圍為 0V~0.8V,邏輯“1”的電平為24V~VCC),它們首先通過(guò)光電隔離器件6N137隔離,以保護(hù)單片機(jī)不受傳輸通道的干擾影響,其中T01和 T02是為了增加光隔輸入端的驅(qū)動(dòng)能力。光隔6N137的左側(cè)電源與單片機(jī)相同,右側(cè)必須采用另一組獨(dú)立的+5V電源,且兩組電源不能供電。
MAX490[4]是MAXIM公司的RS485接口芯片,其內(nèi)部結(jié)構(gòu)如圖3所示。MAX490支持單電源+5V工作,傳輸速率最高可達(dá)25MBPS,可實(shí)現(xiàn)全 雙工通信。其RO、DI端的邏輯“0”的電平在 -0.5V~0.8V之間,邏輯“1”的電平在20V~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的終端匹配電阻器。
評(píng)論