好吊视频一区二区三区-国产精品V欧美精品V日韩精品-老司机亚洲精品影院-国产精品视频免费播放

物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  技術文章  >  其他  >  正文

可實現多串口轉換的嵌入式串口網關的設計

作者:不詳
來源:CK365中國測控網
日期:2015-01-26 16:09:15
摘要:本文介紹了基于TCP/IP 的多串口轉換網關,采用GM8142芯片擴展了串行口數目,較好的適應了,低速,多串口的工業場合,實現了串口設備和監控層透明數據傳輸,以及設備的網絡化控制及信息的分布式管理,能夠廣泛的應用在基于以太網的分布式測控網絡中。

  引言

  Internet 技術的廣泛普及,全球各個領域的不同企業已經對“讓設備聯網”達成共識,而在工業控制和通信設備中,更多的卻是符合RS232 標準的串行口設備。如何將多個串行口的數據轉發到網絡上,實現設備的遠程控制、數據的遠程傳輸便成了一個亟待解決的問題。同時,考慮到成本問題,以往設備又不可能全部淘汰。因此,本文提出一種嵌入式網關可從根本上解決這一難題。多串口轉換網關使得串口數據流到以太網數據流的傳輸成為可能。它能連接多個RS232 串口設備,并將串口數據進行選擇和處理,把RS232 接口的數據流轉化成以太網數據流,這樣就可以進行網絡化的數據處理,實現串行數據的網絡化。采用此種方案,無需淘汰原有串口設備,多臺設備可同時入網,既可以提高設備利用率,GM8142 可實現低成本、較高速度、控制簡單的多串口方案。

  系統結構

  TCP/IP 協議由應用層、UDP 層、IP 層和數據鏈路層組成。為了實現透明傳輸,增加應用進程協議層——串口層。串口層由串口鏈路層和串口網絡層構成。網關在串口層構建,同時解析RS232 數據包,并作為TCP/IP網絡應用層的數據傳輸。多串口網關由TCP/IP協議轉換模塊和多串口收發控制模塊組成,結構如圖1 所示。

  又節約組網費用,還可在已有的網絡基礎上簡化布線復雜度。采用串口擴展芯片

可實現多串口轉換的嵌入式串口網關的設計

圖1 系統結構

  根據實現的功能,系統主要由以下兩部分組成:

  (1)TCP/IP 協議轉換模塊:它是一個微型的以太網接入模塊,由微控制器、網絡隔離變壓器( HR601680 )、SDRAM ( HY57V561620T )、NOR-FLASH(AM29LV320DB)等組成。來自客戶端的數據信息通過RJ45 以太網接口,網路接口芯片傳送給微控制器,微控制器通過內嵌的TCP/IP協議棧,實現地址解析協議(ARP)、Internet 控制報文協議(ICMP)、IP 協議、用戶數據報協議(UDP)等協議的解析和封包。在正常運行時,TCP/IP 協議轉換模塊的任務主要是將以太網發送緩沖區的串口幀封裝在UDP 包中,并傳給IP 層;同時,接收以太網數據幀并向上層層解包,分離應用層數據,然后數據的解析處理交由多串口發送模塊完成,實現RS232 串口流與以太網端口流的透明轉換。

  (2)串口數據處理模塊:它是一個多(最多32個)RS232 串口數據流的收/發控制模塊,由微控制器、串口擴展芯片(GM8142)、MAX232 等元件組成。微控制器與GM8142 共同完成對多串口數據收發的控制:一方面接收多個串口源數據,封裝后寫入以太網發送緩沖區打包傳輸;同時,接收以太網應用層的數據,解析并從串口發出。對于串口處理模塊來說,通信數據的具體形式并不重要,它的任務主要是接收/發送,封裝/拆封串口幀,為網關提供通用接口。

  設計方案

  微控制器是網關的兩大模塊的中樞,通過微控制器,網關實現了通信協議的轉換。

  (1)TCP/IP 協議轉換模塊:圖1 微控制器的左半部分:從RJ45 接頭輸入的10 M/100M以太網雙差分數據信息通過網絡隔離變壓器很好的將模擬地與數字地隔離,從而保證了數據的有效性和外界復雜信號對微控制器的直接沖擊。

  (2) 串口處理模塊:如圖1 微控制器的右半部分:串口數據從32 個串行端口獨立輸入或輸出,標準串口的RS232 電平與TTL 電平通MAX232 相互轉化。值得注意的是所有低速串行接口均采用RJ45 接口,而且為了保證數據的傳輸速度,在實際應用中只使用了TXD,RXD,GND信號,避免了其它握手信號。

  對于多串口的設計,采用串口擴展芯片GM8142,結合強大的SPI性能,完成了32 個獨立于系統固有串口(DB9 接口) 的擴展。每片GM8142 能提供4 個獨立的串行口,該網關設計中采用8 片GM8142,每片GM8142 的片選信號又通過3-8 譯碼器74LV138 連接到微控制器的3個獨立的SPI 接口上,另外,每片GM8142 所必需的中斷信號通過強上拉(4.7K)連接到微控制器的標準IO上,這樣,串口處理模塊搭建完成。

  當兩片或多片GM8142 所管理的串口同時產生數據請求時,微控制器會根據事先設定好的MCU中斷機制判斷中斷請求的優先級,對優先級高的中斷請求優先響應。當同一片GM8142 的不同串行口同時產生中斷請求時,在LINUX下,通過對該字符設備驅動程序的編寫,可使微控制器在SPI 上得到相應端口的編號并及時清除中斷,然后,再次根據用戶事先設定好的中斷優先級處理中斷。這樣,所有的擴展串行接口均能按用戶事先設定好的中斷優先級完成對串口的控制。

  系統的32 個擴展串口均能工作在獨立波特率的獨立場合,在速率上,它們均能單獨穩定運行在115200BPS以內的任何波特率上,但若32 個串口同時雙向并且以115200BPS 的速率運行時應考慮MCU 的處理能力。綜上所述,系統提供了32 個串口、可自定義優先級控制、波特率配置方案的多串口實現方法。

  (3)軟件設計:系統要求用戶能夠在Windows 環境下(客戶端)通過以太網對遠端串口設備進行配置、狀態查詢并且發送和接收數據。這整個過程就像是直接對串口進行操作,用戶無需感知是通過以太網進行的數據傳輸。為了達到以上目的,網關依靠以PIC32處理器為核心的嵌入式系統平臺,在其上運行Linux 操作系統,為各個串口設備提供獨立的打開,關閉,及監聽線程,使串口設備完全獨立運行。在用戶端,用戶對串口的操作實際上是通過socket 編程發送命令或數據給PIC32處理器,供其解析并最終直接控制串口完成。以COMn(n<32)的監聽線程為例,給出串口層上數據流。如圖1所示。

可實現多串口轉換的嵌入式串口網關的設計

圖1 服務器端監聽線程數據流

  結束語

  本文介紹了基于TCP/IP 的多串口轉換網關,采用GM8142芯片擴展了串行口數目,較好的適應了,低速,多串口的工業場合,實現了串口設備和監控層透明數據傳輸,以及設備的網絡化控制及信息的分布式管理,能夠廣泛的應用在基于以太網的分布式測控網絡中。