當20世紀70和80年代采用RS-232串行協議來解決電子終端及個人電腦的需求時,很少有人會想到它會成為這樣一種普適標準特性。數以千計的工業設備是基于RS-232接口開發出來的。但對于電子通信而言,發展的步伐已進入到一個更高水平。
今天,以太網是用于本地和廣域網應用、定義完善的標準。無數設備通過以太網TCP/IP協議訪問互聯網。盡管存在其它物理層實現,但直到電子通信因需要引入更快、更先進的協議之前,以太網仍將會占有相當話語權。
無數新設計仍將以太網作為主要網絡標準。其它設計可能采用不同的物理接口,但仍將采用TCP/IP來接入互聯網等網絡。事實上,廣為接受的以太網TCP/IP協議是互聯網得以在過去二十年迅速發展的主要原因。但RS-232又面臨哪些情況?
持續發展
數以百萬的電子產品仍將RS-232作為一種串行接口。這種情況在發展中國家尤其如此,這些國家和地區的開發商可能缺乏足夠的預算以從傳統系統升級到新技術。因此,必須考慮某些形式的可持續發展。
RS-232串口轉以太網適配器,即用來將傳統系統轉變為網絡應用全新環境的進化鏈中的“缺失環節”,是在這種新環境下仍能發揮作用的具成本效益的方式。當*估一個串口轉以太網橋方案時,開發人員應考慮如下因素。
小尺寸:優化的PCB設計,以及集成度更高因而數量更少的器件,使得設計項目的體積和成本都得以降低;工作電壓:應與RS-232和RS-485等通用串行通信標準兼容。適應性:強烈建議采用可定制和分層的軟件以及靈活的硬件設計以使該設計更適用于不同的應用;易用性:用于配置和監控的簡單接口,如圖形用戶界面和LED指示燈等提升了易用性;性能:橋接方案應在不給用戶帶來任何不便的情況下,實現RS-232和/或RS-485與以太網的轉換。建議使用一個帶串行通信接口的微控制器和一個以太網媒體訪問控制器(MAC)。為降低成本,設備只需具有恰好能滿足應用所需的性能就好;系統成本:開發人員應盡可能降低系統成本。
實現成本效益
當你試圖把新舊系統連接起來時,成本效益是什么?即軟件必須是互補的而硬件成本應盡量低。因此,強烈建議采用不花成本但仍然具有魯棒性且可定制的軟件方案。
現成的操作系統和協議棧可以簡化這一工作。與從頭開發自己的任務調度器、以太網TCP/IP協議棧或應用相比,添加、修改或刪除軟件模塊所花的力氣要小得多。目前,你可以找到各種各樣的免授權和開源協議棧及操作系統。但選擇的時候仍需明智,因為它們與硬件和所能獲得的支持息息相關。
你可能有能夠滿足串口轉以太網橋接功能的應用。但如果所選處理器件(微處理器或微控制器)功能超過了性能要求,則成本就可能過高。而如果所選器件的性能不夠,那么最終產品的功能將滿足不了應用需求。
微處理器可以輕松完成這個任務。但微控制器已經發展到可以運行操作系統且能以低得多的成本提供以太網連接這樣一個階段。采用一款帶有小容量SRAM和閃存的低端32位微控制器可以輕松實現一個串口轉以太網的橋接設計。
使設計和定制更容易
即使你已經找到了具有所需性能和外設以及足夠的SRAM和閃存以運行簡化的操作系統和基本以太網協議棧的具有成本效益的微控制器,你仍需把這些軟件和硬件模塊整合在一起。工程時間會影響系統成本,那么,該如何簡化開發工作呢?
建議采用分層軟件架構。可以把所有不同模塊整合在一起創建一個可組織開發進程的軟件環境。這會直接影響工程進度以及后繼對串口轉以太網橋的定制。
這種分層軟件模型基于把幾個主要軟件模塊分成不同層以及從本質上對所用的硬件實施抽象。硬件抽象層(HAL)被定義為:通過HAL/HW接口直接訪問硬件資源的軟件組件集,它們包括外設、配置寄存器,優化的匯編器程序(帶合適的原型)、預編譯的目標代碼庫或任何其它硬件相關資源。
這樣,若以后需對軟件設計進行修改,就可將其移植到更高端的微控制器和不同的硬件平臺。軟件可容易地“進化”,并且當新增外設甚至改變協議和硬件時可以平穩過渡,從而使更多軟件可復用于未來改善的設計。
集成
圖1詳解了一個典型的分層軟件架構。應用軟件工作在操作系統(FreeRTOS)下,它處理以太網協議棧(LwIP)和微控制器外設(見下表)。硬件包括飛思卡爾的32位MCF51CN128微控制器,所需外部元件極少。
在商用串口轉以太網橋應用中,FreeRTOS開源軟件提供了足夠的功能。它處理信號、多路復用、中斷、RAM管理、搶占式任務、棧空間和任務優先級等工作。FreeRTOS得到廣泛支持,這款嵌入式微控制器業界的知名軟件已在至少19種架構中得到應用。代碼精煉是其一個關鍵優勢。
所選的開源TCP/IP協議棧處理所有以太網事務。因其平衡了功能性和低RAM /閃存需求,所以在串口轉以太網橋應用中受到極力推薦。在編譯時,LwIP占用12.15kb的RAM來啟動串口橋所需的所有TCP/IP服務。
在運行時,堆棧分配并釋放一些緩沖區,并從堆棧中獲取所需的RAM。它使用非常有限的一組網絡緩沖區發送和接收來自應用更高層的信息。支持的協議包括TCP/IP、ICMP、UDP、專門的RAW API(用于該串口橋)、可選的插孔API、DHCP、PPP以及ARP等。
32位微控制器MCF51CN128包含128kb閃存和24kb SRAM。其片上存儲器足夠運行串口轉以太網橋應用以及操作系統和以太網棧。
MCF51CN128工作在50MHz最高頻率提供所需功能。它集成了一個快速以太網控制器(FEC)和諸如UART(SCI)、SPI和I2C等串行接口。其余的通用I/O(GPIO)引腳支持驅動面向狀態驗證的LED等其它工作。該芯片適合這一應用并具有低BOM成本。
串口轉以太網橋實現
為簡單的串口轉以太網橋研制了一個參考設計作為交鑰匙方案,它具有Web服務器、FTP服務、電子郵件客戶端、SD-CARD支持及其它吸引人的特性。為簡化設計并能最大限度地在不同產品設計中復用該設計布局,可將該系統分為兩個主要硬件模塊:最小系統和演示系統(圖2)。
最小系統包括實現以太網功能所需的所有硬件。這個最小的硬件模塊只有1.15×1.55英寸大。通過提供一個未穩壓的3.7到5.5V電源,這款以太網功能的最小實現不再需要其它器件。
演示系統則帶有uSD卡插座、按鈕和LED等其它功能。頂層和底層分別可見用于隔離這兩個系統的零歐姆電阻(圖3)。斷開零歐姆電阻就把演示系統和最小系統隔離開來。
對于這個具體實現來說,以太網接口通過以太網電纜中兩對空閑電纜對參考設計板供電。請注意,這不是以太網供電(PoE)標準。UART引腳(+5.5 V)、電源插座連接器以及經過穩壓的3.3V電源接口也可供電并支持特定的系統功能(圖2)。利用PCB上的削切線(cut-trace)可實現所有這些選項。
該串口橋可通過一組命令工作在配置模式,其中UART(SCI)或SPI用于配置功能。在配置模式,可改變MAC、IP、掩膜、網關和服務器地址等各種選項。
可以指定是使用靜態還是動態地址,而諸如連接哪個端口以及客戶機/服務器實現地址等TCP參數也是可配置的。可修改的UART參數包括端口、波特率、奇偶校驗、位數、停止位和流量控制(硬件或軟件)。最后,可對SPI進行端口、波特率、極性、相位、主/從和輪詢/中斷處理等配置。
當該參考設計工作在橋模式,串口收到的字符被發送到以太網,反之亦然。串口轉以太網橋工作在兩個接口之間,其目的是在這兩個接口間提供高速數據傳輸。
連接串口與以太網
快速以太網控制器(FEC)是飛思卡爾的MAC實現。FEC在緩沖區描述符表中存儲RX和TX數據包。緩沖區描述符包括大多緩沖區描述符狀態和控制標志、接收或發送數據的緩沖區長度以及與接收或傳送操作相關的緩沖區指針。
當諸如以太網這樣的高速接口試圖連接到UART或SPI等低速接口時,必須采用流量控制協議作為速度適配器。以太網沒有流量控制功能,這點與TCP/IP不同。UART具有軟件和硬件流量控制功能。
當應用需要進行持續數據傳送時,若串口橋應用沒能以同一速率對數據進行處理,則數據會迅速填滿UART的軟件緩沖器。確定工作波特率和UART緩沖區大小時需格外小心,因為當使用實時操作系統(RTOS)時,這兩個因素會影響到運行任務的實現及其優先級。
SPI通信沒有流量控制。不應改變其軟件驅動器以在通信中增加額外的頭文件。應在應用層通過采用響應或其它定制流量控制協議來實現流量控制。
借助流量控制協議可以輕松中止通訊。但若頻繁發生這種中止情況,通信性能將會降低,特別是對諸如UART和SPI等串口協議來說。可以通過UART或SPI硬件緩沖區(通常1~4字節長)解決該性能問題。為盡可能減少延誤,采用中斷來通知應用橋何時可以發送字符。
但是,向UART硬件緩沖區要求可用空間的中斷請求和緩沖區相應該請求之間的延遲必須予以考慮。通過在橋應用和UART控制器間加入軟件緩沖區可縮短該延遲。采用這種方式,應用橋可填充軟件緩沖區,而UART ISR(中斷服務程序)可逐字符地取走數據,直至軟件緩沖區被清空。該技術減少了流量控制中止通信的次數,提升了整體性能。對UART接收來說,軟件緩沖區對存儲所有可以接收到的字符來說很重要。
以太網數據包由數據和協議報頭組成。對串口轉以太網橋應用而言,有效的以太網數據包是通過在數據部分使用可能多的字節數組成。這將抵消所需報頭部分帶來的開銷。
應用層(串口橋)通過使用FIFO等軟件緩沖區進行數據排列和解排列解決了該問題。可采用獨立的串口接收(Rx)和發送(TX)緩沖區來存儲應用無法一次處理的所有信息。
本文小結
許多設備內基于串行的接口(RS-232、RS-485和SPI)無法提供類似以太網協議所實現的更強的連接能力。串口轉以太網橋是解決該問題的一個具成本效益的方案。在設計這種轉換橋時,必須把結構和分層軟件與具成本效益的硬件結合起來以滿足應用對功能的要求。我們采用Free-RTOS、LightweightIP(以太網-TCP/IP棧)和飛思卡爾的MCF51CN128嵌入式控制器為簡單串口轉以太網橋構建了一個參考設計。
責任編輯:gt
-
控制器
+關注
關注
112文章
16214瀏覽量
177480 -
以太網
+關注
關注
40文章
5385瀏覽量
171161 -
適配器
+關注
關注
8文章
1933瀏覽量
67930
發布評論請先 登錄
相關推薦
評論