在工業現場,有很多需要使用多個串口的場合,如通訊系統管理、電力設備管理和自動化設備管理及通訊等等。這樣,很多客戶就提出了多串口開發平臺的需求,這些需求的主要特點概括如下:
(1) 串口數量多,從幾個到十多個(如5個到16個串口),可自由選擇
(2) RS232C/RS485/RS422/TTL等多種串口形式可自由選擇、配置
(3) 可以進行以太網通訊并支持多種常用外部設備,如LCD、USB存儲等
(4) 方便整合安裝,特別適合裝入1U高度的19‘‘機箱中,上架運行
(5) 方便二次開發,各種接口、通訊函數完整可靠,用戶可靈活構建應用程序
(6) 成本低廉
綜合以上的客戶應用需求,英創公司在英創嵌入式網絡模塊的基礎上進行了應用開發,推出了完整的模塊化多串口設備軟硬件開發平臺。
系統構成示意圖
這個平臺最主要的特點是模塊化,也就是客戶可以按照自己的需求像搭積木一樣來構建自己的多串口設備的硬件系統。其具體組成是:
(1) 選擇ETR232i或NetBox-II嵌入式網絡模塊之一作為主控CPU板,主控CPU板安裝在ETA518-M多串口底板上。ETA518-M多串口底板擁有8個串口擴展插座,這些串口擴展插座可以安裝相應的串口驅動模塊。
串口服務器硬件構成示意圖
(2) 串口驅動模塊有ETA518-232、ETA518-485、ETA518-422、ETA518-PASS四種型號可選,分別實現RS232C、RS485(光隔可選)、RS422(光隔可選)和TTL的串口功能,將相應的串口驅動模塊插入ETA518-M的串口擴展插座就實現了相應的串口擴展,需要多少個串口,就插入多少個驅動模塊,各串口均以5芯HT508L的接線端子對外引出。
(3) 如客戶需要的串口數量大于8個,就需要在ETA518-M上面再安裝一個ETA518-S串口擴展板,ETA518-S提供了額外的8個串口擴展插座,使客戶可使用的串口數量可以達到16個之多。此外,ETA518-M還提供個一個以太網口、一個調試串口、GPIO接口和一個LCD接口,客戶還可選擇自主擴展USB存儲接口和第二個以太網口。
ETR232i + ETA518-M + ETA518-S + 部分功能模塊示意圖
ETA518在標準1U機箱中的安裝示意圖
客戶在按照自己的應用需求完成硬件平臺搭建后,即可以進行應用程序的開發。多串口服務器整機大多數應用在串口到以太網的數據轉換或多串口通訊管理的場合。針對這種應用英創公司提供了相應的應用程序,實現了串口和以太網數據之間的數據透明傳輸,其中各個通訊口的參數配置采用IE瀏覽器,通過對網頁的操作來實現。
下面分為兩部分來介紹。
多串口服務器通訊參數設置
多串口服務器上運行的程序實現了嵌入式WebServer的功能,其作為Web服務器采用的是固定IP(IP:“192.168.202.22”)。用戶的電腦和多串口服務器網絡連好后,可直接用IE訪問該IP,得到如下的網頁畫面,再進行相應的配置。
多串口服務器應用程序簡介
在多串口服務器方案中,由于串口的數量一般都較多,如果每個串口都產生中斷來獨立收發數據,會占用較大的系統開銷,從而會影響到系統的響應性能。所以在本方案中各個串口的驅動程序采用定時器中斷的方式進行串口操作,由系統時鐘定時對各個串口的操作,系統時鐘定時間隔一般選用在2.6ms左右,如果串口所使用的通訊波特率較高,如115200bps,可進一步縮短時間間隔,可選用在1ms左右。在使用ETR232i作為主控CPU模塊的情況下, 約200us左右可以完成16個串口的輪詢操作。
英創提供的多串口服務器應用程序的框架主要以事件驅動機制為特色,核心是通過對一個簡單的任務命令隊列進行操作,來實現相應不同的應用程序功能,在此應用中包括網絡數據處理、串口數據處理,從而實現了以太網到串口之間的數據透明傳輸。對于選用多串口服務器整機方案的客戶,如通訊數據還需要作相應的協議轉換,可以此框架為基礎,直接進入應用功能的軟件規劃及實現,從而大大節省應用程序的開發時間,同時保證應用程序的高穩定性。 對于通訊規約種類較多、又需要進行靈活配置的情況,可以利用DOS操作系統的TSR駐留程序技術,以串口為單位分別采用不同的TSR駐留程序來實現相應的規約轉換,在運行主程序之前,先加載各個不同的TSR駐留程序,從而實現通訊規約的靈活配置。具體的TSR程序的編寫方法請參見“可配置的通訊規約轉換方案”中的相關說明。
本方案的典型流程框圖如下: