串列埠伺服器是什麼及其應用?

隨著Internet的廣泛普及,“讓全部裝置連線網路”已經成為全世界企業的共識。為了能跟上網路自動化的潮流,不至於失去競爭優勢,必須建立高品位的資料採集、生產監控、即時成本管理的聯網系統。利用基於TCP/IP的串列埠資料流傳輸的實現來控制管理的裝置硬體,無需投資大量的人力、物力來進行管理、更換或者升級。

串列埠伺服器就使得基於TCP/IP的串列埠資料流傳輸成為了可能,它能將多個串列埠裝置連線並能將串列埠資料流進行選擇和處理,把現有的RS 232介面的資料轉化成IP埠的資料,然後進行IP化的管理,IP化的資料存取,這樣就能將傳統的序列資料送上流行的IP通道,而無需過早淘汰原有的裝置,從而提高了現有裝置的利用率,節約了投資,還可在既有的網路基礎上簡化佈線複雜度。串列埠伺服器完成的是一個面向連線的RS 232鏈路和麵向無連線乙太網之間的通訊資料的儲存控制,系統對各種資料進行處理,處理來自串列埠裝置的串列埠資料流,並進行格式轉換,使之成為可以在乙太網中傳播的資料幀;對來自乙太網的資料幀進行判斷,並轉換成序列資料送達響應的串列埠裝置。

1、 硬體系統

硬體系統是實現整個系統功能的基礎,是整個設計實現的關鍵。

整個串列埠伺服器的關鍵在於串列埠資料包與TCP/IP資料報之間的轉換以及雙方資料因為速率不同而存在的速率匹配問題,在對串列埠伺服器的實現過程中,也必須著重考慮所做的設計和所選擇的器件是否能夠完成這些功能。

1.1  硬體系統組成模組

在制定設計方案和選定器件時遇到的技術難點是如何利用處理器對串列埠資料資訊進行TCP/IP協議處理,使之變成可以在網際網路上傳輸的IP資料包。目前解決這個問題很多時候採用32位MCU + RTOS方案,這種方案是採用32位高檔微控制器,在RTOS(實時多工作業系統)的平臺上進行軟體開發,在嵌入式系統中實現TCP/IP的協議處理。它的缺點是:微控制器價格較高,開發週期較長;需要購買昂貴的RTOS開發軟體,對開發人員的開發能力要求較高。

借鑑上述方案的優缺點,我們決定把串列埠伺服器的硬體部分分為幾個模組設計,這就是主處理模組、串列埠資料處理模組和乙太網介面及控制模組等幾大模組來共同完成串列埠伺服器的功能。

在器件的選擇上,選用Intel公司的801086晶片作為主處理模組的處理器晶片,它是一種非常適合於嵌入式應用的高效能、高整合度的16位微處理器,功耗低。由於考慮到串列埠資料速率較低而乙太網的資料傳輸速率高所造成的兩邊速率不匹配的問題,我們決定採用符合匯流排規範的大容量儲存器來作為資料儲存器;由於主處理模組還涉及到資料線/地址線複用、串並轉換、器件中斷訊號譯碼、時鐘訊號生成、控制訊號接入等功能,若是選用不同的器件來完成,勢必會造成許多諸如時延不均等問題,我們選用了一片大容量的高效能可程式設計邏輯器件來完成上述所提到的功能,這樣的優點在於,我們保證了穩定性和高可靠性,並且可程式設計邏輯器件的可程式設計功能使得對於訊號的處理的空間更大,且具有升級的優勢。

乙太網介面及控制模組在串列埠伺服器的硬體裡面起著很重要的作用,它所處理的是來自於乙太網的IP資料包,考慮到通用性的原則,我們採用一片乙太網控制晶片來完成這些功能,並在主處理模組中添加了一片AT24C01來儲存乙太網控制晶片狀態。通過主處理模組對於乙太網控制晶片資料及暫存器的讀/寫,我們可以完成對IP資料包的分析、解/壓包的工作。

串列埠資料處理模組主要完成的是對於串列埠資料流的電平轉換和資料格式的處理,判斷序列資料的起始位及停止位,完成對資料和校驗位的提取。一般的設計採用的是MAX232和一片UART的設計思想,這裡我們也是遵從這種設計理念,不過我們採用的是集成了MAX232+UART功能的晶片,小尺寸、低成本、低功耗,而且採用與SPITM/QS-PITM/MICROWIRETM相容的序列介面,節省線路板尺寸與微控制器的I/O埠。

這種模組化的方案的優點在於:採用高速度的16位微控制器,外圍器件少,系統成本低;並且採用Intel公司的開發平臺,可以大幅度地縮短開發週期並降低開發成本。

1.2  硬體工作流程及應用架構

主處理器首先初始化網路及串列埠裝置,當有資料從乙太網傳過來,處理器對資料報進行分析,如果是ARP(實體地址解析)資料包,則程式轉入ARP處理程式;如果是IP資料包且傳輸層使用UDP,埠正確,則認為資料報正確,資料解包後,將資料部分通過埠所對應的串列埠輸出。反之,如果從串列埠收到資料,則將資料按照UDP格式打包,送入乙太網控制晶片,由其將資料輸出到乙太網中。可以知道,主處理模組主要處理TCP/IP的網路層和傳輸層,鏈路層部分由乙太網控制晶片完成。應用層交付軟體系統來處理,使用者可以根據需求對收到的資料進行處理。

2、硬體系統模組

根據硬體系統的具體結構和不同功能,我們可以將硬體系統劃分為下述的幾大模組。

2.1主處理器模組

該模組是串列埠伺服器的核心部分,主要由主處理器、可程式設計邏輯器件、資料及程式儲存器等器件構成。

主處理模組完成的功能主要有:在串列埠資料和乙太網IP資料之間建立資料鏈路;通過對乙太網控制晶片的控制讀寫來實現對IP資料包的接收與傳送;判別序列資料流的格式,完成對串列埠裝置的選擇以及對序列資料流格式的指定;控制串列埠資料流與IP資料包之間的速率控制,對資料進行緩衝處理;對UART和乙太網控制晶片的暫存器進行讀寫操作,並存儲轉發器件狀態;完成16位匯流排資料的串並行轉換;完成匯流排地址鎖存功能;完成對各個串列埠以及各個儲存器件的片選功能;完成對各個串列埠的中斷口的狀態判別等功能。

2.2  乙太網介面及控制模組

這個模組主要由乙太網介面部分和乙太網控制部分構成。

乙太網介面部分完成的是串列埠伺服器與乙太網介面電路的功能,控制器對所有模組均有控制作用,使整個介面電路能協調地配合後續電路完成乙太網的收發功能。

乙太網控制部分由收端和發端組成,在他們之間還有乙太網狀態檢測和控制單元,以及收發協調控制器。由於乙太網是半雙工工作的,所以這個部分必須隨時地監視乙太網的狀態,並且要根據需要對乙太網進行控制,同時還要協調好內部收發端電路的工作狀態。乙太網檢測單元和收發協調控制器就是完成這樣的功能的。乙太網狀態檢測單元與乙太網介面的控制器介面,將介面的狀態送到收發協調控制器,同時將協調控制器的控制訊號進行處理,並送到乙太網介面的控制器,以控制介面的狀態。

在收端,接收到的序列資料流訊號通過主處理模組進行串並轉換和編碼,乙太網控制單元控制各部分協調,將產生的地址、資料、寫訊號送到RAM讀寫控制單元進行處理。相應的,發端的工作流程和收端相反。

2.3  串列埠資料處理模組

該模組主要完成串列埠裝置的狀態收集、序列資料流的接收和資料格式的解/封包工作,由8片UART和對應的串列埠介面構成。前面我們已經說明了各個埠的定址方式,當主處理模組定址某個埠時,由主處理模組讀寫相應的UART的暫存器,判定相連線的串列埠裝置的空閒狀態,並與之建立通訊連線,發回控制資料幀給主處理器,主處理器收到控制訊號後,再決定是否傳送和接收資料流。

3、硬體系統流程

在串列埠伺服器中,硬體部分與軟體部分相結合完成整個系統的功能,使用者通過軟體部分的視覺化介面和C/S架構的監控模式來完成對串列埠裝置的控制與管理;硬體部分完成序列資料與IP資料包之間的格式轉換以及控制訊號的處理。

顯示的是串列埠伺服器硬體在系統流程的內部資料流向圖。因為在整個串列埠伺服器的系統中,硬體完成資料格式轉換以及控制訊號處理等主要功能,軟體系統與硬體系統遵循一個標準的介面,在這個介面之上來傳遞資料訊號和控制訊號,串列埠伺服器的狀態資訊主要由中央伺服器來處理和收集,由於伺服器完成的只是一些狀態儲存和轉發,所以與原來的串列埠裝置—前置機模式有很大區別,中央伺服器也不需要負擔太多的工作。

4、應用領域

串列埠伺服器可以將各企事業單位的串列埠裝置接入以太區域網實現資源共享,在通訊、交通、學校、金融、稅務、保險等行業都有廣泛的用途。

相關問題答案