基于RS-485總線的機架式網管光收發器的實現
摘要: 基于RS-485總線的特點實現了機架式網管型光收發器的級聯,從而大大提高了網管的可靠性并且減低了設計成本,實際應用效果良好。
本文引用地址:http://www.j9360.com/article/80010.htm關鍵詞: RS-485總線;網管光收發器;單片機
引言
隨著網絡通信的發展,網絡硬件的安全、可靠性日益顯得尤為重要。由于實際的需要,微機與微機,微機與單片機之間經常需要進行遠程數據通信,串行通信是主要的通信手段。與并行通信相比,盡管它通信速度較慢,但具有傳輸線少、傳輸距離長、連接簡單、數據傳輸可靠性高等特點,因此在通信系統中得到了廣泛的應用。在帶網管的機架式光纖收發器系統中,在各機架間,采用RS-485串行總線,可通過機房的控制中心,與機架上的網管板進行通信,從而實現對所有的近/遠端光纖收發器進行監控和管理,實現了系統網絡預防和及時維護功能,提高網絡運營商對用戶的服務質量。
系統硬件設計
目前,有多種接口標準可用于串行通信,其中包括RS-232C,RS-422,RS-423和RS-485。RS-232C是最早的串行接口標準,在短距離、較低波特率串行通信中得到了廣泛應用。其后發展起來的RS-422,RS-485是平衡傳送的電氣標準,比起RS-232C非平衡的傳送方式在電氣指標上有了大幅度提高。RS-485串行接口的電氣標準實際上是RS-422的變型,它屬于七層OSI(開放系統互連)模型物理層的協議標準。依賴其性能優異、結構簡單、容易組網的優點,RS-485總線標準得到了越來越廣泛的應用。
機架式網管光收發器系統
網管光收發器是指帶有網管功能的光纖收發器,其網管系統是專門對機箱內的光纖收發器模塊、光纖鏈路遠程監控和管理的系統,為用戶提供基于Windows XP/Windows 2000系統、管理站——代理模式的遠程管理解決方案。適用于構建寬帶城域網的地方,為用戶提供光纖IP網絡解決方案。一般來說,一個單一的機架式網管光收發器主要有2部分組成:網管板和收發板。在本系統中,對單個機架來說,網管板必須要包括一個嵌入式模塊和一個MCU。一塊網管板可以監控和管理15個收發板。網管板通過CPU接口(CPUC和CPUIO)負責收集收發器的各種工作狀態信息并傳到PC機上的網管中心,這樣就完成整個網管收發器系統進行監控和管理。單個機架的網管收發器的總體框圖如圖1。
圖 1 單機架網管收發器系統框圖
網管中心與網管板是多對多的關系,對一個網管板來說網管中心最多為三個,網管板以組的方式管理收發板,分為4組,每組管理4片收發板。
RS-485總線在系統中的應用
當在局端要管理多個機架時,為了節約成本(節省網管板中的嵌入式模塊),我們可以用RS-485總線將各個機架中的網管板級聯起來,從而也將多個機架級聯起來。一般的RS-485網絡是一個主機(一個主機架)、多個從機(從機架),每個從機分配唯一的地址,工作時采用命令/應答的通信方式,每一個命令幀都對應著一種應答幀,其他從機對命令不予理睬。這種問答式的通信方式極大提高了數據傳輸的可靠性,但是相對于RS-232C等全雙工總線,效率低了許多。在本設計中,主網管板上的嵌入式模塊通過RS-485總線監控和管理自己板卡上的單片機(MCU)和其它從網管板上的單片機。機架式網管光收發器級聯如圖2。
圖 2 機架式網管光收發器級聯
該機架式網管光收發器系統的核心部分是網管板部分,主機架的網管板主要有3個模塊構成:
·嵌入式網絡模塊:是以網絡數據通訊為特色的嵌入式PC 模塊,配有Flash、串口、以太網接口、GPIO、精簡ISA 總線、實時時鐘、LCD 接口、矩陣鍵盤接口等板載資源;采用BC3.1 作為開發調試工具;支持RS-232/RS-485 數據通訊、常規TCP/IP 應用、NAT 路由、無線網關、FTP 服務器、Web 服務器等多種應用;可用于通訊管理、工業控制。本設計中,嵌入式網絡模塊遵循TCP協議與網管中心通信。通過RS-485接口與本板和其它網管板上的MCU通信。
·MCU模塊:MCU部分選用SM89516A。它是一種內嵌64K字節內存和1K字節片上RAM的8位單片微控制器。它是8052微控制器家族的派生產品。SM89516A的PLCC封裝具有多達36個I/O口,且片上多達64K字節的內存既可以當作程序空間,又可以當作數據空間,或者數據和程序混合空間。由于這些硬件特性和強大的指令系統,使得它成為一種性價比很高的控制器。本設計中SM89516A主要負責與嵌入式網絡模塊通信,并且和所在網管板下面的4組(即16個)收發板通信。每組只需一個CPUC(時鐘線)線和CPUIO(輸入輸出線)線即可實現通信。
·RS-485接口模塊:RS-485接口模塊是由SN75LBC184組成。它是美國TI公司生產的一種RS-485接口芯片,可在總線上連接64個收發器。RS-485接口芯片在使用、焊接或設備的運輸途中都有可能受到靜電的沖擊而損壞,SN75LBC184不但能抗雷電的沖擊而且能承受高達8kV的靜電放電沖擊。其工作原理如圖3所示。發送使能端DE為高電平,SN75LBC184作為發送器,數據從第4引腳輸入,第6、7引腳輸出,其中7引腳輸出信號的非;接收使能RE為高電平,SN75LBC184作為接收器,信號從6引腳或7引腳輸入,1引腳輸出口。RS-485接口采用的是差分傳輸方式,具有一定的抗共模干擾的能力,但當共模電壓超過RS-485接收器的極限接收電壓,即大于+12V或小于-7V時,接收器就再也無法正常工作了,嚴重時甚至會燒毀芯片和儀器設備。因此設計中電路使用了高速光電耦合器將信號隔離,徹底消除共模電壓的影響。
圖 3 SN75LBC184邏輯功能圖
從機架的網管板主要由后面2個模塊構成,沒有嵌入式網絡模塊,其他部分和主網管板一樣。通過RS-485總線的級聯,達到了節約成本的目的。
軟件設計
軟件部分主要分為網管板和網管中心通信,網管板和光纖收發板通信,主網管板和從網管板之間通信三部分。網管中心提供基于TCP完成端口異步模式服務監聽接口,網管板提供基于TCP非阻塞的客戶端接口。網管中心用數據庫記錄來自主網管板的信息,這個信息包括:網管板注冊信息、工作模式設置、速率設置、收發板注冊信息,軟件升級等。這部分可用VC++實現。網管板里面的單片機通過CPU接口訪問光纖收發器板。CPU 接口與SMI接口(MDC、MDIO)類似。一對CPU接口(CPUC、CPUIO)線最多可以管理4片收發板芯片。CPUC 最大為2.5MHz。單片機固定輪詢收發板,實時更新收發板數據信息,在單任務操作系統環境限制下最大的實現上報數據的實時性。這部分可以用單片機C語言實現。主網管板和從網管板之間的通信主要是嵌入式處理模塊和單片機SM89516A之間通過RS-485總線來通信。由于RS-485總線是異步半雙工的通信總線,在某一個時刻,總線只可能呈現一種狀態,所以這種方式一般適用于主機對分機的查詢方式通信,總線上必然有一臺始終處于主機地位的設備在巡檢其它的分機,所以需要制定一套合理的通信協議來協調總線的分時共用。這里采用的是數據包通信方式,通信數據是成幀成包發送的,每包數據都有引導碼、長度碼、地址碼、命令碼、內容、校驗碼等部分組成。其中引導碼是用于同步每一包數據的引導頭;長度碼是這一包數據的總長度;命令碼是主機對分機(或分機應答主機)的控制命令;地址碼是分機的本機地址號;“內容”是這一包數據里的各種信息;校驗碼是這一包數據的校驗標志,可以采用奇偶校驗、和校驗等不同的方式。單片機SM89516A主要記錄來自自己機架上的光纖收發板的各種信息,如工作模式、光口狀態、速率模式、故障管理等和管理與遠端光纖收發器的通信。
結語
RS-485總線,具有高噪聲抑制、寬共模范圍、長傳輸距離、沖突保護且組網方便等優點,本文介紹了一種基于RS-485總線的機架式網管光收發器的設計,在該系統中,主網管板與各從網管板單片機之間采用了RS-485串行通信總線,大大節約了成本,同時使網管網絡的連線簡潔、傳輸距離長、信號傳輸穩定可靠,取得了良好的控制效果。
參考文獻:
1. 李朝青,單片機原理及接口技術,航空航天大學出版社,2006
2. RS-485 - guide [ EB/ OL ],廣州周立功單片機發展有限公司,2007
評論