1. 引言
隨著世界范圍內(nèi)網(wǎng)絡和信息技術(shù)的日趨成熟,,工業(yè)自動控制系統(tǒng)日益采用以太網(wǎng)和TCP/IP協(xié)議作為最主要的通信接口和手段,。以太網(wǎng)作為目前應用最廣泛、成長最快的局域網(wǎng)技術(shù),,在工業(yè)自動化領域得到了超乎尋常的發(fā)展?,F(xiàn)在的設計挑戰(zhàn)是在不改變原有設計且投資較少的情況下,方便快捷地實現(xiàn)工業(yè)現(xiàn)場使用的串口設備與以太網(wǎng)之間的連接,。在我們的課題研究中,即采用了XPORT服務器策略,。
XPORT由美國Lantronix公司于2002年研發(fā)成功,,它是目前最小、最完整的串行口到以太網(wǎng)的轉(zhuǎn)換方案,。XPORT使用了Lantronix公司的DSTni系列網(wǎng)絡芯片,,10/100M的PHY,以及256KB的RAM和512KB的閃存,。XPORT工作電壓為3.3V,,支持TCP/IP等網(wǎng)絡通信協(xié)議,有一個支持RS-232串行標準,、速度高達230Kbps的串行端口,,完全可以滿足工業(yè)現(xiàn)場通信速度的要求。它還提供一個RJ-45網(wǎng)絡端口,,可以方便快捷地實現(xiàn)串行設備與以態(tài)網(wǎng)的連接,,從而實現(xiàn)工業(yè)現(xiàn)場的遠距離實時通信。本文主要討論XPORT在目標板上電自動配置參數(shù)的實現(xiàn)方法,,本文中的目標板主要由RABBIT2000 CPU芯片,、XPORT元件,、液晶屏及按鍵等資源組成,實現(xiàn)以太網(wǎng)的通訊和字符的輸出顯示等功能,。
2. 設計思路
2.1. XPORT參數(shù)配置方法比較
XPORT可以使用多種方式進行參數(shù)的配置,,其中主要提供了從以太網(wǎng)和串口設置的兩種途徑:通過以太網(wǎng)口可以使用XPORT Installer、網(wǎng)頁,、Telnet等手段進行設置;通過串口可以使用串口登陸的方法,。
在網(wǎng)口進行設置的幾種方法中,XPORT Installer是Lantronix公司為XPORT專門提供的操作軟件,,最適合第一次對XPORT進行配置或是在不明XPORT的IP地址時使用,,它可以自動搜索在線上的XPORT地址列表。網(wǎng)頁和Telnet設置的方法適用于需要對其參數(shù)進行修改時使用,,前提條件是必須已經(jīng)知道XPORT的IP地址,。這幾種方法的共有特性是必須在主機上對XPORT進行參數(shù)設置,不能脫離主機自行配置,。
從串口進行配置的做法是通過串口登陸到XPORT的監(jiān)視模式下,,通過設置信息進行配置。這樣既可以在主機通過串口登陸時配置,,又能夠通過目標板CPU編程實現(xiàn),,達到脫離主機上電自動配置完畢的目標。以下我們就采用這種方法在RABBIT 2000平臺上實現(xiàn)以太網(wǎng)通訊,。
2.2. 監(jiān)視模式中設置參數(shù)的原理
從串口進入監(jiān)視模式的方法是將XPORT元件進行復位或是重啟電源,,用一秒的時間鍵入三個小寫x字符就可以進入監(jiān)視模式。但需要注意的是輸入3個x時應該控制好輸入的時間,,最簡單的方法是一直輸入x直到進入監(jiān)視模式,。進入監(jiān)視模式之后,從串口會傳回一些字符標志以進入監(jiān)視模式,,并且出現(xiàn)提示符,,0>提示符表明成功進入監(jiān)視模式,其中提示符的含義見圖1,。
圖1
進入監(jiān)視模式得到0>提示符后,,可以鍵入VS、GC等命令得到版本號和設置信息,,具體的命令請參考技術(shù)手冊,。如要在監(jiān)視模式中進行設置,必須有設置信息的120位數(shù)據(jù),,鍵入SC按回車鍵后,,將設置信息輸入即可,但新的設置需要重啟后才能夠起作用。最簡單的方法是將使用者希望設置的信息通過GC命令得到,,將數(shù)據(jù)拷貝保存,,并且修改其中需要更改的信息,在鍵入SC及回車后直接將希望設置的新信息復制過來,。這種方法在串口設置中常用,,提供的初始化設置程序也是基于這種方法的。
設置信息包括了XPORT的主要參數(shù),,因此我們需要分析設置信息的含義,,以便使用者能夠根據(jù)個人的定義去實現(xiàn)。其中第一條設置信息中包括了本地IP地址,、遠程IP地址,、子網(wǎng)掩碼、波特率,、本地端口,、遠程端口及UDP/TCPIP模式等幾個重要參數(shù)。我們進行相應配置就可以實現(xiàn)正常的通信,。
3. Xport設置程序
3.1. 程序流程
應用程序?qū)PORT進行設置時,,采用的原理是通過串口方式進入監(jiān)視模式,由于監(jiān)視模式許多命令可以應用,,并且所有操作都是基于二進制的數(shù)字操作,,所以編程相對簡單。為了方便使用者操作,,我們已經(jīng)將這些操作封裝成幾個函數(shù),。
3.2. 程序說明
我們在程序中提供一個結(jié)構(gòu)體typedef struct XPORT,主要存儲希望設定的參數(shù)值,,其中包括本地IP,、遠程IP、子網(wǎng)掩碼,、波特率、本地端口,、遠程端口及UDP/TCPIP類型等參數(shù),。另外還定義了一個數(shù)組unsigned char setupbuf[0x12F],用來存儲設置信息的數(shù)據(jù),。
我們封裝了幾個配置函數(shù)的原型如下:
int init_XPORT(struct XPORT *ptr1,,unsigned char *buf1) //接口函數(shù)
void monitor (struct XPORT *ptr4,unsigned char *buf4) //進入監(jiān)視模式得到設置信息
void setconfig(struct XPORT *ptr2,,unsigned char *buf2) //設置參數(shù)函數(shù)
int getconfig(struct XPORT *oldptr3,,struct XPORT *newptr3,unsigned char *buf3) //得到設置后的數(shù)據(jù)和欲設值進行比較
主程序和進入監(jiān)視模式的函數(shù)流程在上面已經(jīng)給出,設置參數(shù)函數(shù)只不過是把需要設置的參數(shù)轉(zhuǎn)換為十六進制替換到相應的位置即可,。但需要注意校驗和計算,,即將第一行數(shù)據(jù)以兩位字符方式轉(zhuǎn)換為十六進制數(shù),將轉(zhuǎn)換后的十六進制數(shù)逐個相加,,再用100H減去相加后的和,,即為它的校驗核,如果校驗核錯誤,,設置將不能成功,。將程序燒入FLASH,上電后自動將XPORT參數(shù)設置完畢,,在液晶屏上顯示出成功的信息,,能夠進行正常的UDP數(shù)據(jù)包的收發(fā)。
4. 結(jié)論
與通過以太網(wǎng)對XPORT元件設置相比,,通過串口程序?qū)PORT元件進行設置有很多優(yōu)點,。通過以太網(wǎng)方式需要使用者進行手動設置。而我們在這里提供給使用者的是一個通用的XPORT元件自動設置的程序,,上電時設置程序自動啟動進入監(jiān)視模式,,并且自動完成本地IP地址、遠程IP地址,、子網(wǎng)掩碼,、本地端口號、遠程端口號及波特率等的設置,,不需要使用者手動設置,。當多塊目標板需要同時連接到以太網(wǎng)時,通過串口程序?qū)PORT進行設置可以節(jié)省大量時間和人力,。
現(xiàn)在XPORT已經(jīng)被應用于工業(yè)系統(tǒng)中,,主要適用于需要以太網(wǎng)通訊但對其要求不高的情況。其主要特點為簡單易用,,連接方便,,并且可以依據(jù)使用者的要求定制所需的功能。但它也有一定的局限性,,比如傳輸數(shù)據(jù)量大時將導致速度很慢,,操作編程不太靈活等??偠灾?,XPORT提供了一種以太網(wǎng)連接方法,使用者應按照個人的需求決定是否選用,。
5. 參考文獻
1. LANTRONIX,,XPORT User Manual & Integration Kit,, Revision D February 10, 2003
2. 劉紅玲等編著,,實用微機接口技術(shù),,中國電力出版社,2003.2