單片機(jī)遠(yuǎn)距離串行通信電路
單片機(jī)的應(yīng)用越來(lái)越普遍。有些單片機(jī)設(shè)置了串行通信口,使其應(yīng)用范圍更加擴(kuò)大。如51系列單片機(jī)的串行口是一個(gè)全雙工通信接口,能同時(shí)進(jìn)行發(fā)送和接收,且可通過(guò)對(duì)串行控制寄存器SCON的設(shè)置,選擇多種串行通信模式,包括多機(jī)通信。實(shí)際應(yīng)用系統(tǒng)中往往要涉及遠(yuǎn)距離多機(jī)串行通信。
按一般介紹,多機(jī)通信的主機(jī)與從機(jī)連接如圖1-9所示,通過(guò)軟件編程實(shí)現(xiàn)由主機(jī)查詢、從機(jī)響應(yīng)的通信方式,但這種通信方式只限于主機(jī)與從機(jī)近距離(幾米)范圍內(nèi)。這是因?yàn)榇锌赥xD發(fā)出的TTL電平信號(hào)無(wú)論在驅(qū)動(dòng)能力還是在抗干擾能力方面都不足以實(shí)現(xiàn)遠(yuǎn)距離串行數(shù)據(jù)傳送,所以要實(shí)現(xiàn)單片機(jī)串行口的遠(yuǎn)距離通信(幾十米到幾千米),必須另辟蹊徑。
遠(yuǎn)距離串行通信電路
1.單片機(jī)遠(yuǎn)距離串行通信電路
為實(shí)現(xiàn)單片機(jī)的遠(yuǎn)距離串行通信,在串行口TxD和RxD信號(hào)前端分別加入一差分驅(qū)動(dòng)器MC3487和一差分接收器MC3486,變電平收發(fā)為差分收發(fā)。加入差分驅(qū)動(dòng)和差分接收電路后的多機(jī)串行通信連接如圖1- 10所示。空方框代表加入的差分驅(qū)動(dòng)、接收電路。由圖可知,加入差分驅(qū)動(dòng)、接收器后,主機(jī)與從機(jī)的連線只剩下D+和D_兩根數(shù)據(jù)線,主機(jī)與從機(jī)無(wú)需共地連接,徹底消除了遠(yuǎn)距離因地電位不等造成的影響,且簡(jiǎn)化了拉線。但值得注意的是,兩根傳輸線要用雙絞線,以更好地消除電磁干擾。接入驅(qū)動(dòng)、接收電路后不影響原通信程序設(shè)計(jì)。
電路與單片機(jī)有TxD,RxD,GND三個(gè)連接信號(hào),輸出有D+和D_兩個(gè)數(shù)據(jù)信號(hào)。電路中用到一個(gè)74LS04非門、一個(gè)MC3487差分驅(qū)動(dòng)器和一個(gè)MC3486差分接收器;電容C1和C2分別為傳輸線D+和D_的濾波電容,用于濾除系統(tǒng)高頻干擾;Ri為D+信號(hào)的電平提升電阻。MC3487和MC3486是配對(duì)的優(yōu)良差分驅(qū)動(dòng)、接收芯片,電氣性能符合串行通信的RS - 422 A標(biāo)準(zhǔn)。市場(chǎng)上可以購(gòu)買到,且價(jià)格不高(國(guó)產(chǎn)型號(hào)分別為DS3487和DS3486)。
MC3487的引腳如圖1- 12所示,真值表如表1-6所列。它是一個(gè)有三態(tài)輸出的四RS -422 A傳輸線驅(qū)動(dòng)器,腳1是第一個(gè)驅(qū)動(dòng)器的輸入端;腳2、腳3是第一個(gè)驅(qū)動(dòng)器的同相、反相輸出,輸出受腳4控制。當(dāng)腳4為低電平時(shí),輸出腳2、腳3呈高阻態(tài)。MC3486的引腳如它是一個(gè)有三態(tài)輸出的四差分線路接收器,腳l、腳2為第一個(gè)差分接收器的反相、同相輸入端;腳3為輸出端,輸出受腳4電平控制。當(dāng)腳4接高電平時(shí),允許輸出。
現(xiàn)在來(lái)分析一下圖1 - 11差分驅(qū)動(dòng)接收電路的工作過(guò)程。以串行口發(fā)送數(shù)據(jù)為例,當(dāng)TxD送出低電平時(shí),經(jīng)74LS04反相后變高電平加到MC3487的控制端腳4。輸入端腳1固定接地,為低電平。由表1-6可知,此時(shí)輸出腳2為低電平,腳3為高電平,腳2和腳3信號(hào)分別經(jīng)傳輸線D+和D_送到遠(yuǎn)端差分驅(qū)動(dòng)器、接收器。此時(shí)遠(yuǎn)端接收MC3486的腳2(對(duì)應(yīng)D+)收到為低電平,腳1(對(duì)應(yīng)D_)收到為高電平,即運(yùn)放器同相輸入端為低電平,反相輸入端為高電平。所以輸出腳3為低電平,也即遠(yuǎn)端單片機(jī)RxD收到的信號(hào)與發(fā)端單片機(jī)TxD發(fā)出的低電平一致。當(dāng)TxD發(fā)送高電平時(shí),經(jīng)反相加在控制腳4為低電平。此時(shí)輸出端腳2和腳3都呈高阻態(tài),相當(dāng)于懸空。這時(shí)遠(yuǎn)端接收因D+接有電平上拉電阻,故D+為高電平,而D_為低電平,也即遠(yuǎn)端接收MC3486的輸入端腳2為高電平,腳1為低電平,輸出腳3為高電平。由上面分析可知,遠(yuǎn)端RxD收到的信號(hào)電平完全是發(fā)送端TxD的電平,即對(duì)單片機(jī)收/發(fā)端串行通信口的電平狀態(tài)不改變。因MC3487具有較強(qiáng)的線路驅(qū)動(dòng)能力,加上MC3486的差分電平接收,大大延長(zhǎng)了數(shù)據(jù)傳輸?shù)木嚯x,消除了共地系統(tǒng)的地勢(shì)電位影響。
2.計(jì)算機(jī)遠(yuǎn)距離串行通信電路
有時(shí)多機(jī)通信系統(tǒng)中一端是計(jì)算機(jī)或兩端都是計(jì)算機(jī),如圖1 - 14所示。通常計(jì)算機(jī)本身都帶有RS - 232C串行通信口。RS - 232C串行口是電子工業(yè)協(xié)會(huì)(EIA)的一種標(biāo)準(zhǔn)串行數(shù)據(jù)通信口,在電氣性能上采用負(fù)邏輯定義。邏輯1電平為-5~-15 V,邏輯O電平為+5~+15 V。但RS一232C的通信距離也不允許太遠(yuǎn),一般要求在15 m內(nèi)。為延長(zhǎng)計(jì)算機(jī)通信距離,可像前面介紹的方法一樣,在RS - 232C前加入一個(gè)232C/422A轉(zhuǎn)換器,把232C電平傳輸變成差分驅(qū)動(dòng)、接收。232C/422A轉(zhuǎn)換器的電路如圖1-15所示。由圖可見(jiàn),電路只是比前面詳細(xì)介紹過(guò)的圖1- 11電路多加一片MC1489和一片MC1488。MC1489是RS - 232C串行通信接收器,圖1-15中它把計(jì)算機(jī)串行TxD發(fā)出的232C電平轉(zhuǎn)換成TTL電平,供MC3487驅(qū)動(dòng)傳輸;MC1488是RS - 232C串行通信發(fā)送器,圖1-15中它把MC3486接收的電平轉(zhuǎn)換成232C電平,送到計(jì)算機(jī)串行接收端RxD。這樣接入232C/422A轉(zhuǎn)換器后,計(jì)算機(jī)間變成差分線路傳輸,只需D+和DL兩根雙絞線,達(dá)到延長(zhǎng)通信距離,消除共地地電勢(shì)影響的目的。
實(shí)際應(yīng)用系統(tǒng)
單片機(jī)、計(jì)算機(jī)的遠(yuǎn)距離串行通信已應(yīng)用在重慶市交通局的多區(qū)制、多信道集群無(wú)線通信系統(tǒng)中。我們將重慶市交通局組建的集群無(wú)線通信網(wǎng)分為四個(gè)區(qū),覆蓋全市9區(qū)、12縣。每個(gè)區(qū)的總臺(tái)控制中心如圖1 - 16所示??偱_(tái)控制中心采用STD工業(yè)控制微機(jī)為上位機(jī),通過(guò)一塊用單片機(jī)8031做成的串行通信板與各信道從機(jī)進(jìn)行串行數(shù)據(jù)通信。系統(tǒng)中每個(gè)工作信道由一塊用單片機(jī)8751做成的控制板對(duì)電臺(tái)進(jìn)行控制和管理,同時(shí)控制板通過(guò)單片機(jī)串行口與上位主機(jī)通信板實(shí)現(xiàn)串行通信,把數(shù)據(jù)送向上位STD微機(jī)進(jìn)行處理,并接受上位機(jī)的命令控制。串行通信板與各信道控制板的通信就是一個(gè)典型的單片機(jī)多機(jī)通信系統(tǒng),因各信道電臺(tái)架設(shè)在山上,與STD工業(yè)控制微機(jī)所處的控制室相距較遠(yuǎn)(最遠(yuǎn)2~3 km),采用了上面介紹的遠(yuǎn)距離串行通信方法,通信速率取2 400 b/s,軟件設(shè)計(jì)加入CRC - 16檢驗(yàn),自開(kāi)通以來(lái),通信網(wǎng)運(yùn)行可靠,串行通信數(shù)據(jù)誤碼率極低。
以上所介紹的單片機(jī)、計(jì)算機(jī)遠(yuǎn)距離串行通信方法不失為一種簡(jiǎn)便、可行的方法。利用現(xiàn)成的集成芯片,采用最經(jīng)濟(jì)的雙線傳輸,解決了遠(yuǎn)距離數(shù)據(jù)交換的問(wèn)題。它具有抗電磁干擾能力強(qiáng),速率高,誤碼率低,徹底擺脫了公共地電勢(shì)電平影響等優(yōu)點(diǎn);其缺點(diǎn)是數(shù)據(jù)傳輸只能以半雙工方式進(jìn)行,即不能同時(shí)收/發(fā),當(dāng)距離更遠(yuǎn)(萬(wàn)米以上)時(shí),恐怕就只能改用其他傳輸方法了,如加調(diào)制解調(diào)器,利用現(xiàn)行電話線進(jìn)行傳輸?shù)确椒ā?/p>