還不會用RS 485實現(xiàn)串口通信就太out了,教你輕松替代RS 232
ARM(Advanced RISC Machines)是對一類微處理器的通稱。ARM是微處理器行業(yè)的一家知名企業(yè),它設計了大量高性能、廉價、耗能低的RISC處理器、相關技術及軟件。ARM微處理器是一種高性能、低功耗的32位微處理器,該處理器廣泛應用于嵌入式系統(tǒng)中。ARM 9代表了ARM公司主流的處理器,已經(jīng)在手持電話、機頂盒、數(shù)碼相機、GPS、個人數(shù)字助理以及因特網(wǎng)設備等方面有了廣泛的應用。在此,以ST公司生產(chǎn)的ARM 9系列中典型的STR912FW44X6芯片作為硬件開發(fā)平臺的MCU,完成了基于ARM的太陽能發(fā)電系統(tǒng)中數(shù)據(jù)采集與傳輸系統(tǒng)的硬件設計,并提出了一種利用RS 485串口代替RS 232串121來進行通信的新方法。
l 硬件總體設計框架
硬件總體設計框架如圖1所示。
圖1 硬件總體設計框架
2 硬件介紹
現(xiàn)以STR912FW44X6芯片作為硬件開發(fā)平臺的MCU,STR912FW44X6外擴張了點陣LCD顯示屏、輸入按鍵、UART接口、IrDA、CAN、USB、ETM接口、音頻放大器/話筒放大器和以太網(wǎng)接口。其中,本文使用的有UART接口和以太網(wǎng)接口。UART接口分為一個RS 232串口和兩個RS 485串口。RS 232串口用來與GSM模塊的RS 232串口相連,以實現(xiàn)GPRS的無線傳輸;兩個RS 485串口,一個用來作MODBUS通信接口,另一個用來接電度表計,以采集統(tǒng)計并顯示太陽能發(fā)電系統(tǒng)的發(fā)電量。以太網(wǎng)通過網(wǎng)線連接到網(wǎng)絡,以實現(xiàn)數(shù)據(jù)的無線傳輸。
3 硬件電路設計和功能實現(xiàn)
3.1 RS 232串口的電路設計和功能實現(xiàn)
RS 232是一種串行數(shù)據(jù)接口標準,是目前最常用的串行接口標準,用于計算機與計算機之間、計算機與外設之間的數(shù)據(jù)傳輸。RS 232串行接口總線適用于設備之間通信距離不大于15 m,傳輸速率最大為20 KB/s.
RS 232串口是通過ST公司生產(chǎn)的ST3232EAR來實現(xiàn)的。ST3232EAR是一種把電腦的串行口RS 232信號電平(-lO V,+10 V)轉(zhuǎn)換為單片機所用到的TTL信號電平(O V,+3.3 V)的芯片。它的內(nèi)部結構由三部分組成:第一部分是電荷泵電路,由1~6腳和4只電容構成。其功能是產(chǎn)生+12 V和-12 V兩個電源,為RS 232串口提供電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道,由7~14腳構成2個數(shù)據(jù)通道。其中,13腳(RlIN)、12腳(R1OUT)、11腳(TlIN)、14腳(T1OUT)為第一數(shù)據(jù)通道;8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從TlIN,T2IN輸入轉(zhuǎn)換成RS 232數(shù)據(jù),從T1OUT,T20UT送到電腦DP9插頭;DP9插頭的RS 232數(shù)據(jù)從RlIN,R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后,從R1OUT,R2OUT輸出。第三部分是供電,由15腳GND、16腳VCC(+5 V)構成。
通過將MCU中GPIO的RXD和TXD分別與ST3232的12腳(R1OUT)和11腳(T1IN)相連,使14腳(T10UT)和13腳(R1IN)輸出RS 232電平,然后連接GSM模塊RS 232串口和MCU板上的RS 232串口,可以通過向RS 232接口寫AT指令來達到控制GSM模塊功能的目的,以通過GPRS實現(xiàn)數(shù)據(jù)的傳輸。
3.2 RS 485串口的電路設計和功能實現(xiàn)
RS 485是用來采集太陽能發(fā)電系統(tǒng)數(shù)據(jù)的,這里之所以采用RS 485而不采用RS 232,是因為RS 485比RS 232具有很多優(yōu)勢。RS 232采取不平衡傳輸方式,即單端通信,其收發(fā)端的數(shù)據(jù)信號都是相對于地信號的。所以它的共模抑制能力差,再加上雙絞線的分布電容,其傳輸距離最大約為15 m,最高速率為20 KB/s,且其只能支持點對點通信。而RS 485采用平衡發(fā)送和差分接受方式實現(xiàn)通信,由于傳輸線通常使用雙絞線,有時差分傳輸,所以有極強的抗共模干擾能力,總線收發(fā)器的靈敏度很高,可以檢測到低至200 mV的電壓,故其傳輸信號在千米以上是可以恢復的。RS 485的最大通信距離約為1 219 m,最大傳輸速率為10 MB/s,它采用雙半工工作方式,可支持多點數(shù)據(jù)通信,其總線一般最大支持32個節(jié)點。
RS 485接口芯片采用的是ADM3485.ADM3485采用單一電源+3.3 V工作,半雙工通信方式,可完成將TTL電平轉(zhuǎn)換為RS 485電平的功能。ADM34185芯片的結構和引腳都非常簡單,內(nèi)部含有一個驅(qū)動器和一個接收器,RO和DI端分別為接收器的輸出端和驅(qū)動器的輸入端,與單片機連接時只需分別與單片機的RXD和TXD相連即可。RE和DE端分別為接收和發(fā)送的使能端,當RE為邏輯0時,器件處于接收狀態(tài);當DE為邏輯1時,器件處于發(fā)送狀態(tài),因為ADM3485工作在半雙工狀態(tài),所以只需用單片機的一個管腳控制這兩個引腳即可。A端和B端分別為接收和發(fā)送的差分信號端,當A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)為1;當A的電平低于B端時。代表發(fā)送的數(shù)據(jù)為O.在與單片機連接時接線非常簡單,只需要一個信號控制ADM3485的接收和發(fā)送即可。同時將A和B端之間加匹配電阻,一般可選100Ω的電阻。該設計有兩個RS 485,其中一個用來作MODBUS通信接口,另一個用來接電度表,以采集統(tǒng)計并顯示太陽能發(fā)電系統(tǒng)的發(fā)電量。
3.3 以太網(wǎng)的電路設計和功能實現(xiàn)
以太網(wǎng)網(wǎng)口采用的是0880-1X1T-01,以太網(wǎng)物理層接口芯片采用的是ST公司的STElOOP快速以太網(wǎng)物理層芯片。STEl00P以太網(wǎng)接口芯片提供了一組媒體獨立接口(MII)。媒體獨立指的是在不對MAC硬件重新設計或替換的情況下,任何類型的PHY設備都可以正常工作。MII接口是快速以太網(wǎng)MAC層與PHY層之間的標準接口,是IEEE 802.3定義的以太網(wǎng)行業(yè)的標準。它包括一個數(shù)據(jù)接口,以及一個MAC和PHY之間的管理接口。數(shù)據(jù)接口包括分別用于發(fā)送器和接收器的兩條獨立信道。每條信道都有自己的數(shù)據(jù)、時鐘和控制信號。MII數(shù)據(jù)接口總共需要16個信號。管理接口是個雙信號接口:一個是時鐘信號,另一個是數(shù)據(jù)信號。
通過管理接口,上層監(jiān)視和控制PHY.基于以太網(wǎng)的TCP/IP通信,使ARM可以通過網(wǎng)線進行聯(lián)網(wǎng),并可以實時地與計算機進行通信,用來傳輸太陽能發(fā)電系統(tǒng)的實時數(shù)據(jù)。
提出一種利用RS 485串口代替RS 232串口進行通信的新方法。這種方法解決了RS 232串口在傳輸距離和節(jié)點數(shù)量的限制,大大提高了數(shù)據(jù)傳輸?shù)哪芰Α?/p>
評論