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