采用C8051F020的RS485串行通信電路設(shè)計(jì)
目前,有多種接口標(biāo)準(zhǔn)可用于串行通信,包括RS232、RS422、RS485等。RS232是最早的串行接口標(biāo)準(zhǔn),在短距離、較低波特率串行通信中得到了廣泛應(yīng)用。但是,RS232 通信存在著傳輸速度慢、傳輸距離短、信號(hào)容易受到干擾等不足,其應(yīng)用局限性已日益突出。而RS485 通信采用差分方式來消除噪聲,即信號(hào)在發(fā)送前會(huì)分解為正負(fù)2 條線路,當(dāng)?shù)竭_(dá)接收端時(shí)將信號(hào)相減,使噪聲相互抵消,還原成原來的信號(hào),這種方式對(duì)共模干擾抑制能力較強(qiáng),已廣泛應(yīng)用于工業(yè)控制等領(lǐng)域。
本文引用地址:http://m.butianyuan.cn/article/201612/325064.htm要實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)之間的RS485通信,一般可以采用2 種方法:一種方法是在單片機(jī)與計(jì)算機(jī)兩端分別采用RS232與RS485 電平轉(zhuǎn)換裝置;另一種方法是采用RS485通信卡,并將其插在計(jì)算機(jī)主板上。采用前一種方法的優(yōu)點(diǎn)是硬件裝置安裝簡(jiǎn)便,軟件編程相對(duì)簡(jiǎn)單;缺點(diǎn)是通信速率被限制在20 kb/s以內(nèi)。第二種方法的優(yōu)點(diǎn)是通信距離較遠(yuǎn),速率較高,可達(dá)10 Mb/s;缺點(diǎn)是需要安裝通訊卡和驅(qū)動(dòng)程序,并進(jìn)行必要的設(shè)置。本文采用第二種方法。
電路設(shè)計(jì)
采用UART 串行總線進(jìn)行通信,因?yàn)閁ART 是一種廣泛應(yīng)用于遠(yuǎn)距離、低速率、低成本通信的串行傳輸接口,由于其具有數(shù)據(jù)線少的特點(diǎn),在數(shù)字系統(tǒng)設(shè)計(jì)中得到了大量應(yīng)用?;镜腢ART 通信只需要兩根數(shù)據(jù)線(RXD、TXD)即可完成數(shù)據(jù)的相互通信,接收和發(fā)送都是全雙工形式,其中RXD 是接收端,TXD 是發(fā)送端。
C8051F020單片機(jī)有2 個(gè)UART(UART0 和UARTl),以UART0 為例,它的TxD 和RXD 分別與數(shù)字I/0 引腳PO.O 和PO.1 復(fù)用,通過交叉開關(guān)配置寄存器進(jìn)行選擇。由于MAX485工作在半雙工狀態(tài),它與單片機(jī)連接時(shí)的接線比較簡(jiǎn)單,只需要用單片機(jī)某一個(gè)引腳(如PO.2)來控制RE 和DE 這2 個(gè)引腳。PCL-846B 通信卡有4 個(gè)通道,選擇通道1 與單片機(jī)進(jìn)行通信,另外將通道2 和通道4 進(jìn)行連接,以自發(fā)自收的方式實(shí)現(xiàn)通信卡的自檢。單片機(jī)與外部電路的連接關(guān)系如圖2 所示。
在使用RS485通信卡進(jìn)行通信時(shí),當(dāng)信號(hào)傳遞到通信線路兩端時(shí),如果阻抗不匹配,可能會(huì)產(chǎn)生信號(hào)反射問題。信號(hào)反射會(huì)造成信號(hào)的失真和變形,從而導(dǎo)致通信錯(cuò)誤。其解決方法就是在通信線路的兩端各連接一個(gè)終端匹配電阻,保證阻抗匹配。當(dāng)通信距離較短, 一般在小于300 m 時(shí),可不使用終端電阻。當(dāng)通信距離大于300 m 時(shí),應(yīng)當(dāng)使用終端電阻,其阻值必須與通信線路的線性阻抗相同。電阻值一般選取120 Ω左右,當(dāng)通信距離較長(zhǎng)時(shí),可以選用300 Ω。
評(píng)論