基于W3100A的IP荷重傳感器設計
工業(yè)生產(chǎn)中,傳統測控系統已逐漸由集中式向分散式方向發(fā)展。分布在現場(chǎng)的傳感器和執行機構的智能越來(lái)越強,它們之間也越來(lái)越表面出對通信的迫切要求。隨著(zhù)internet的迅速發(fā)展,tcp/ip協(xié)議正逐漸成為一種世界通用的網(wǎng)絡(luò )通信協(xié)議標準。如果讓處于現場(chǎng)的傳感器實(shí)現tcp/ip協(xié)議,也就是把網(wǎng)絡(luò )連接功能嵌入到現場(chǎng)傳感器中,使傳統的傳感器真正成為一個(gè)獨立的網(wǎng)絡(luò )結點(diǎn),數據采集、信息傳輸等都能直接在intranet/internet上以web方式進(jìn)行,既統一了標準,又達到了遠程控制和操作的目的[1],基于w3100a的嵌入式ip荷重傳感器正是為實(shí)現這種目的而設計的。
1 ip荷重傳感器結構
嵌入式ip荷重傳感器是在智能傳感器的基礎上發(fā)展起來(lái)的,具有internet功能的新型傳感器。其實(shí)質(zhì)是在傳統傳感器的基礎上實(shí)現tcp/ip網(wǎng)絡(luò )通信協(xié)議接口,將傳感器作為網(wǎng)絡(luò )節點(diǎn)直接與計算機網(wǎng)絡(luò )通信。它的組成主要有:敏感單元、智能處理單元和tcp/ip通信協(xié)議接口。
圖1為嵌入式ip荷重傳感器的結構框圖。整個(gè)傳感器的工作原理如下[2]:傳統的傳感器將被測荷重信號轉換為電信號,先通過(guò)a/d轉換器轉換為數字信號,再經(jīng)過(guò)微處理器的數據處理(濾波、校準)將結果傳送給網(wǎng)絡(luò );與網(wǎng)絡(luò )的數據交換由基于tcp/ip協(xié)議的網(wǎng)絡(luò )接口模塊完成。嵌入式ip荷重傳感器的內部存儲器存儲傳感器的物理特征,如偏移、靈敏度、校準參數等;微處理器實(shí)現數據的處理及輸出校準;tcp/ip協(xié)議實(shí)現傳感器的網(wǎng)絡(luò )連接。與傳統的傳感器相比,基于w3100a的嵌入式ip傳感器具有可靠、便宜、擴展性好的優(yōu)點(diǎn),而且可以在內部直接對原始數據加工、處理,并通過(guò)intranet/internet與外界進(jìn)行數據交換,因而它具有微型化、網(wǎng)絡(luò )化和智能化的特點(diǎn)。由于傳感器可與intranet/internet互連,因而實(shí)現了資源共享。

2 tcp/ip協(xié)議棧的幾種實(shí)現方案
ip傳感器的實(shí)現的關(guān)鍵在于網(wǎng)絡(luò )化接口的設計,而網(wǎng)絡(luò )化接口實(shí)現的關(guān)鍵tcp/ip通信協(xié)議的實(shí)現。目前,實(shí)現的方法有下面兩種:
(1)基于軟件來(lái)實(shí)現tcp/ip協(xié)議堆棧。通過(guò)將tcp/ip協(xié)議棧移植到系統中,然后調用相關(guān)的api函數實(shí)現網(wǎng)絡(luò )通信?;蛘卟徊捎靡浦驳姆椒?,參照標準的tcp/ip協(xié)議精簡(jiǎn)相應的協(xié)議層,編寫(xiě)相關(guān)的api函數完成簡(jiǎn)易的tcp/ip通信。但是這種方法需要有操作系統、高性能mcu及大容量存儲器的支持。
(2)直接采用tcp/ip協(xié)議棧芯片。這種方案的主要優(yōu)點(diǎn)在于,應用系統的設計不必考慮任何網(wǎng)絡(luò )協(xié)議,只需要解決并執行網(wǎng)絡(luò )芯片傳送過(guò)來(lái)的指令和數據就可以實(shí)現與internet網(wǎng)絡(luò )連接,實(shí)現數據對網(wǎng)絡(luò )的傳送,且不需要操作系統的支持。本文基于w3100a芯片的嵌入式ip何重傳感器就是采用這種方法實(shí)現的。
3 傳感器系統硬件設計
3.1 w3100a芯片簡(jiǎn)介
w3100a是韓國wiznet公司生產(chǎn)的一種tcp/ip協(xié)議棧芯片,其中包含的協(xié)議層有tcp/(傳輸控制協(xié)議)、ip(網(wǎng)際協(xié)議)、udp(用戶(hù)數據報協(xié)議)、icmp(因特網(wǎng)控制報文協(xié)議)和協(xié)議的dlc(數據鏈路控制),以及mac協(xié)議。該芯片提供2個(gè)接口給上層應用層--mcu接口和i2c接口,1個(gè)mii(media
independent interface)接口給底層物理層。芯片支持全雙工4m-5mb/s的數據通信;內部帶有雙口ram的數據緩沖器,64引腳lqfp封裝,內部結構如圖2所示。

芯片內部提供512b的控制寄存器存儲空間和16kb的數據存儲緩沖器。其中8kb傳輸數據緩沖器供mcu傳輸數據用,mcu只能寫(xiě)而不能讀;8kb接收數據緩沖器供mcu接收數據用,mcu只能讀而不能寫(xiě)。芯片提供寄存器供mcu訪(fǎng)問(wèn),具體的寄存器分類(lèi)如下:控制寄存器(命令、狀態(tài)及中斷);系統寄存器(網(wǎng)關(guān)地址、子網(wǎng)掩碼、ip地址等);用于數據收、發(fā)的指針寄存器;通道操作的通道寄存器。各寄存器功能和地址參閱文獻[3]。
3.2 硬件接口及其數據傳輸
w3100a提供了并口和串口兩種方式實(shí)現與mcu的通信[4]。圖3為基于i2c的串口連接是方式。其中mcu為傳感器中的處理器,以太網(wǎng)物理層設備選用rtl8201芯片,w3100a提供mii接口與rtl8201相連,其中引腳rx_clk、rxdv、rxd[3:0]以及col用于數據的接收,而tx_clk、txe、txd[3:0]用于數據的發(fā)送。mcu中提供模擬的i2c接口與w3100a通信。i2c是串行通信總線(xiàn)方式,由數據線(xiàn)sda和時(shí)鐘線(xiàn)scl配合完成通信。
tcp連接分主動(dòng)連接(tcp客戶(hù)機模式)和被動(dòng)連接(tcp服務(wù)器模式)。本文主要用到tcp被動(dòng)連接方式,具體過(guò)程如圖4所示。首先,要完成芯片的tcp/ip初始化,初始化主要是對必要的寄存器進(jìn)行相應的設置,這些寄存器包括gar、smr、shar以及sips等。


上述寄存器被設置后通過(guò)執行控制寄存器c0_cr的0位sys_init激活芯片。其次,設置相應通道,如0通道的協(xié)議選擇寄存器c0_sopc為0x01,選擇tcp協(xié)議。執行通道0控制寄存器c0_cr中的socket_init,同時(shí)將c0_tw_pr、c0_tr_pr及c0_ta_pr置成同一值。然后執行c0_cr的connect和listen命令位,tcp連接建立。
tcp數據傳送和接收要在連接建立后才能進(jìn)行,通過(guò)設置rmsr和tmsr來(lái)規定數據緩沖器空間大小。tcp數據傳送過(guò)程是通過(guò)使用c0_tw_pr、c0_ta_pr來(lái)進(jìn)行的,它們的初始值相同。然后mcu根據要傳送數據的多少增加c0_tw_pr的值。最后,c0_tw_pr、c0_ta_pr兩者之差為空閑數據緩沖器空間大小,執行傳送命令,同時(shí)增加c0_ta_pr的值,數據傳送完畢后它們的值又相同。
4 傳感器系統軟件設計
ip荷重傳感器的工作流程是:首先采集荷重信號,其次將信號進(jìn)行a/d轉換后將結果存儲在eeprom中,并可將信號和處理結果嵌入到存儲在eeprom中的事先定制好的網(wǎng)頁(yè)中供客戶(hù)機通過(guò)internet訪(fǎng)問(wèn),同時(shí)在本機lcd上顯示荷重信號的數據。w3100a的工作方式類(lèi)似于windows的socket
api,因此程序是在cygnal公司的集成開(kāi)發(fā)環(huán)境下,把儀器作為服務(wù)器,基于socket api用c語(yǔ)言編寫(xiě)的。對c8051f021而言,由于是用w3100a來(lái)完成tcp協(xié)議,其程序簡(jiǎn)單了許多。通信主程序流程如圖5所示。

網(wǎng)絡(luò )配置文件預先存儲在eeprom中,對于儀器的本地ip地址設置為一個(gè)靜態(tài)ip地址,如果沒(méi)有一個(gè)靜態(tài)ip地址也可以采用動(dòng)態(tài)主機配置協(xié)議(dhcp)來(lái)動(dòng)態(tài)獲取一個(gè)ip地址。
5 應用實(shí)例
紅礬鈉是一種重要的無(wú)機化工原料。在紅礬鈉的生產(chǎn)中,配料是一個(gè)十分重要的工序。由于配料現場(chǎng)的環(huán)境惡劣,帶毒粉塵多,噪聲大,嚴重影響工人的身體健康[5]。傳統的計算機配料系統由于其傳感器遠傳能力有限,對配料系統的遠距離監控往往力不從心,因此,開(kāi)發(fā)具有web功能的ip傳感器十分必要?;趇p傳感器的紅礬鈉配料系統組成框圖如圖6所示。

系統中,web的工作基于c/s模型,傳感器由web瀏覽器和web服務(wù)器構成,兩者之間采用http協(xié)議進(jìn)行通信,因此在傳感器的上層協(xié)議應該采用http協(xié)議。同時(shí)要實(shí)現瀏覽器與嵌入式web傳感器交互,除了要解決上述tcp/ip通信協(xié)議接口外,在傳感器中應提供一個(gè)eeprom存儲相應的網(wǎng)頁(yè)文件。交互時(shí),http通過(guò)統一資源定位器url(uniform
resource locator)確定傳感器應該為瀏覽器提供哪些資源。為了節省空間,通過(guò)一種靈活的hush算法實(shí)現。eeprom的每一個(gè)文件都有一個(gè)不同的hush值與之相對應,存取時(shí)可以很快計算出文件的地址。此外,它可以根據網(wǎng)頁(yè)中嵌入的特殊標志實(shí)現動(dòng)態(tài)網(wǎng)頁(yè),即顯示實(shí)時(shí)采集的數據并進(jìn)行控制操作。
結語(yǔ)
基于tcp/ip的嵌入式ip荷重傳感器是在計算器技術(shù)、信號處理、網(wǎng)絡(luò )控制等技術(shù)的基礎上發(fā)展起來(lái)的。它實(shí)現了工業(yè)現場(chǎng)的遠程控制及遠程數據采集,使管理人員和測量人員實(shí)現虛擬到場(chǎng),大大節約了管理成本和管理難度??梢灶A計,隨著(zhù)網(wǎng)絡(luò )技術(shù)、嵌入式技術(shù)和計算技術(shù)的進(jìn)一步發(fā)展,internet已成為企業(yè)管理層的主導網(wǎng)絡(luò ),基于tcp/ip協(xié)議的以太網(wǎng)會(huì )逐漸滲入社會(huì )生活的各個(gè)角落,并不逐步延伸到工業(yè)設備現場(chǎng)。新一代的傳感器--ip傳感器,將具有廣泛的發(fā)展前景。
tcp/ip相關(guān)文章:tcp/ip是什么
評論