在工業(yè)自動化、機(jī)械、機(jī)器人和其他工業(yè)領(lǐng)域中,許多嵌入式系統(tǒng)是通過以太網(wǎng),或者是實時現(xiàn)場
總線,如PROFIBUS,抑或EtherCAT,來完成數(shù)據(jù)間的相互通訊。通常,嵌入式系統(tǒng)是網(wǎng)絡(luò)中的一部分,而網(wǎng)絡(luò)中一般包括傳感器及通過TCP/IP通訊的計算機(jī)。TCP/IP是計算機(jī)通信的一組協(xié)議,數(shù)據(jù)的交互通過一系列的請求與應(yīng)答來完成。
以室溫模型作為例子,文章將會描述模型通過TCP/IP與其它設(shè)備通訊的方法。通訊的方法是基于低成本的TCP/IP到串行轉(zhuǎn)換的硬件。實時系統(tǒng)是xPC,它能使Simulink模型實時運(yùn)行在獨立的PC上。目標(biāo)計算機(jī)是x86處理器Intel/AMD標(biāo)準(zhǔn)的PC,帶有輸入/輸出接口卡。
在這里所描述的連接方法適用于任何支持串行通訊的實時或嵌入式系統(tǒng)。
選擇一款變換器
選擇一款與你的應(yīng)用程序和通訊設(shè)備最匹配的變換器,主要從連接的數(shù)量、波特率和連接協(xié)議這三方面考慮。對于文中的例子,我們選擇GW212,如圖1所示。
圖1 GW212 TCP/IP-to-serial變換器
配置變換器
配置變換器包括設(shè)置串行規(guī)格和TCP/IP參數(shù)。這里,我們使用telnet命令完成對GW212的配置。另外,選擇我們網(wǎng)站的TCP/IP地址,并設(shè)置變換器為客戶端模式,以便從NOAA(美國國家海洋的大氣局)網(wǎng)站通過服務(wù)器端腳本獲取數(shù)據(jù)。
測試變換器
變換器最好先在非實時系統(tǒng)中測試。為了測試GW212,我們將它連接到Internet和臺式機(jī)的串口上,然后發(fā)送http命令GET和HOST,幾乎同時,收到了相應(yīng)的數(shù)據(jù)。
既然變換器正常工作,最后的任務(wù)就是解析從服務(wù)器返回的數(shù)據(jù),并使用在溫度模型上。
圖2 測試TCP/IP的信息
在實時仿真中使用TCP/IP數(shù)據(jù)
將變換器連接到實時仿真機(jī)的串口上,然后運(yùn)行如圖3的室溫模型,模型中的OAT(外界空氣溫度)既是取自NOAA。為了提高效率,我們創(chuàng)建了服務(wù)器端腳本去解析NOAA數(shù)據(jù),以簡化實時任務(wù)。接著xPC通過服務(wù)器上的腳本請求獲取數(shù)據(jù)。再由實時模型取回感興趣的數(shù)據(jù)。OAT數(shù)據(jù)是通過如圖4所示的子系統(tǒng)從Internet獲取的。
圖3 室溫模型
仿真結(jié)果
從獲取的溫度數(shù)據(jù)可以看出溫度從來沒有超過25度,所以圖5所示的仿真結(jié)果表明在這種條件下用電器加熱屋子是有限制的——一天的費用是40多美元。
在實時應(yīng)用中使用變換器
由于串口通訊的速度要比以太網(wǎng)通訊慢,所以文中所描述的連接方案在傳輸大量數(shù)據(jù)時是不合適的。但是,對于基層任務(wù)卻不失為一個好的方法,比如與TCP/IP網(wǎng)絡(luò)上的傳感器或設(shè)備交互命令或狀態(tài)數(shù)據(jù)等。
文中所述的方法適用于任何不支持TCP/IP而支持串口通訊的實時設(shè)備,比如Real-Time Windows Target或是嵌入式處理器(如TI C2000和MPC55x系列),只要串口的電氣接口匹配就可以。
圖4:室內(nèi)室外溫度(華氏溫度,從2007.12.4日早上9點到2007.12.6日早上9點)上圖:加熱屋子的估計費用(美元)
(e