• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于嵌入式的無線手持控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)*

    2014-07-04 08:54:30楊軍平侯沛德許存祿
    機(jī)械研究與應(yīng)用 2014年2期
    關(guān)鍵詞:網(wǎng)絡(luò)地址開發(fā)板網(wǎng)關(guān)

    楊軍平,侯沛德,許存祿

    (蘭州大學(xué)信息科學(xué)與工程學(xué)院,甘肅蘭州 730030)

    0 引言

    對(duì)那些現(xiàn)場(chǎng)環(huán)境惡劣或受客觀條件制約不適宜布線的場(chǎng)合,建立一個(gè)通暢可靠的無線信息傳輸渠道,實(shí)現(xiàn)控制信息和數(shù)據(jù)的遠(yuǎn)程傳輸是整個(gè)自動(dòng)化控制系統(tǒng)的一個(gè)關(guān)鍵環(huán)節(jié),為此尋找一種安全可靠、低成本的解決方案,有著重要的社會(huì)意義和應(yīng)用前景[1]。Zigbee無線通信系統(tǒng)使用了抗干擾能力極強(qiáng)的直序擴(kuò)頻和動(dòng)態(tài)路由數(shù)據(jù)傳輸?shù)耐ㄐ欧绞剑揖哂泄牡?,成本低,ⅠSM 2.4GHz 頻段免費(fèi)等優(yōu)點(diǎn)[2]。嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)為基礎(chǔ),軟硬件可剪裁,適用于對(duì)功能,可靠性,成本,功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)[3]。嵌入式系統(tǒng)的迅速發(fā)展,恰恰滿足了現(xiàn)代工業(yè)生產(chǎn)和科學(xué)研究對(duì)數(shù)據(jù)采集水平的日益提高這一強(qiáng)烈需求。將嵌入式系統(tǒng)應(yīng)用與工業(yè)控制相結(jié)合的研究及應(yīng)用正在世界范圍內(nèi)興起[4]。

    硅鐵爐加料裝置的控制系統(tǒng)由基于嵌入式的無線手持控制單元、無線網(wǎng)關(guān)、西門子PLC控制柜、強(qiáng)電控制柜等幾部分組成。可以用手持控制單元和配電柜控制面板兩種方式完成加料動(dòng)作。通過配電柜控制面板上的控制按鈕和轉(zhuǎn)換開關(guān)直接控制PLC可完成各種加料動(dòng)作,但由于加料車在加料過程中配電控制柜跟隨加料車在不停運(yùn)動(dòng),且距離硅鐵爐門較遠(yuǎn)不便于觀察爐內(nèi)加料情況,因此控制面板操作只作為應(yīng)急情況下的一種操作方式,加料主要依靠手持控制單元來完成。操作人員通過觸摸屏上的控制按鈕和狀態(tài)信號(hào)指示燈,控制加料車完成整個(gè)加料過程。硅鐵爐加料裝置的控制系統(tǒng)整體架構(gòu)如圖1所示。

    圖1 硅鐵爐加料裝置的控制系統(tǒng)整體架構(gòu)

    1 基于嵌入式無線手持控制終端硬件設(shè)計(jì)

    本項(xiàng)目無線控制傳輸部分由基于嵌入式的無線手持控制終端和工業(yè)現(xiàn)場(chǎng)的無線收發(fā)裝置兩部分組成。手持控制終端采用ARM11+CC2530+Linux系統(tǒng)的形式,ARM手持控制終端作為主處理器主要負(fù)責(zé)人機(jī)交互畫面的顯示,設(shè)備狀態(tài)的監(jiān)測(cè)顯示、控制命令的發(fā)送、故障報(bào)警、系統(tǒng)設(shè)置與管理。CC2530作為從處理器負(fù)責(zé)控制命令和狀態(tài)數(shù)據(jù)的接收發(fā)送、以及數(shù)據(jù)在接收和發(fā)送過程的加密解密,提高數(shù)據(jù)的抗干擾能力。工業(yè)現(xiàn)場(chǎng)的無線收發(fā)裝置負(fù)責(zé)接收手持終端發(fā)送的命令和數(shù)據(jù),并將從PLC讀取的狀態(tài)信息發(fā)送回手持終端。手持終端控制命令數(shù)據(jù)的發(fā)送和接收通過Zigbee模塊來完成,在PLC端的Zigbee收發(fā)模塊,要將收到的控制命令和數(shù)據(jù)轉(zhuǎn)換成MODBUS協(xié)議要求的格式,再和PLC進(jìn)行自由口通信。從PLC中按MODBUS協(xié)議形式讀取的狀態(tài)數(shù)據(jù)也要進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換,轉(zhuǎn)換成ZSTACK-PDU格式再由Zigbee模塊進(jìn)行發(fā)送。基于嵌入式的無線手持控制系統(tǒng)框圖如圖2所示。

    圖2 基于嵌入式的無線手持控制系統(tǒng)框圖

    1.1 ARM手持控制單元的硬件電路設(shè)計(jì)與選型

    本項(xiàng)目選用UT-S3C6410開發(fā)板作為主控制器,UT-S3C6410采用“底板+核心板”的結(jié)構(gòu)形式[5]。核心板配置如下:SamsungS3C6410處理器,ARM1176JZF-S內(nèi)核,系統(tǒng)最高運(yùn)行頻率667MHz;128M DDR內(nèi)存作為RAM存儲(chǔ)器;256M nand flash作為隨機(jī)存儲(chǔ)器;MAX11T復(fù)位芯片作為控制系統(tǒng)復(fù)位操作。底板配置如下:采用AMD AM29LV160DB芯片2M Nor Flash存儲(chǔ)器;4路UART接口,采用3片Sipex SP3232EEA芯片,可通過2個(gè)8位撥碼開關(guān)選擇TTL電平或RS-232電平。選用7寸電阻式觸摸液晶屏,5V,4A直流電源。

    1.2 CC2530無線收發(fā)模塊的硬件電路設(shè)計(jì)

    選用CC2530單片機(jī)作為核心處理芯片,32M和32.768M晶振,SP3232EEA串口電路,天線和巴比倫匹配電路,LED電路,AD轉(zhuǎn)換電路,8MRAM存儲(chǔ)器[2]。

    2 開發(fā)環(huán)境搭建

    2.1 ARM手持單元開發(fā)環(huán)境的搭建

    本項(xiàng)目選用UT-6410開發(fā)板+CC2530開發(fā)板+linux系統(tǒng)作為開發(fā)平臺(tái),按以下步驟搭建嵌入式linux 開發(fā)平臺(tái)[5]。

    (1) 在電腦上安裝 Windows xp、Vmware7.0、ubuntu 10.04,下載 android6410-u-boot-v 2.0 .tgz、android6410-linux2.6.28-v2.0.tgz 、cross-4.2.2-eabi.tar.bz2 和 arm-none-linux-gnue abi-arm-2008q3-72-for-linux.tar.bz2、mini gui-rootfs.tgzmovi NAND_Fusing_Tool.exe、dnw.exe、USB 驅(qū)動(dòng)。

    (2)安裝交叉編譯鏈arm-none-linux-gnueabiarm-2008q3 和 cross-4.2.2-eabi。

    (3)編譯U-boot、修改內(nèi)核Kerner參數(shù)配置,編譯Kerner后保存退出。

    (4)燒寫u-boot格式化SD卡(2G以內(nèi)),文件類型為 FAT32,用 moviNAND_Fusing_Tool.exe將 SD-boot.bin寫入SD卡,將SD卡插入開發(fā)板SD卡槽,設(shè)置撥碼開關(guān)SW1,設(shè)為SD卡啟動(dòng)模式。安裝USB驅(qū)動(dòng)程序,打開dnw.exe,正常啟動(dòng)開發(fā)板。格式化Nand Flash,在 SDboot命令行中輸入“nand erase 0 10000000”,回車。輸入“dnw c0008000”,回車。如果已經(jīng)安裝過USB下載驅(qū)動(dòng),狀態(tài)欄顯示:[USB:OK],信息提示:OTG cable Connected!點(diǎn)擊USB Port->Transmit-> Transmit,將linux2.6.28imageu-bootnand.bin讀到 ram 0xc0008000,輸入“nand write c0008000 0 100000”,回車。

    (5)將開發(fā)板設(shè)置為Nand Flash啟動(dòng)模式,正常啟動(dòng)后,燒寫 zⅠmage。進(jìn)入 u-boot命令行后,輸入“dnw c0008000”,回車。點(diǎn)擊 USB Port->Transmit->Transmit,將配置好參數(shù)的 zⅠmage讀到 ram 0xc0008000地址,輸入“nand write c0008000 100000 300000”,回車。

    (6)掛載NFS根文件系統(tǒng),在linux主機(jī)(ubuntu 10.04)上安裝NFS服務(wù),修改linux主機(jī)上NFS配置文件(/etc/exports),添加如下內(nèi)容:/home/yang/nfs_share 192.168.1.10(rw,sync,no_root_squash),其中/home/yang/nfs_share是服務(wù)器共享的目錄,192.168.1.10 是開發(fā)板的 ⅠP。

    將minigui-rootfs.tgz復(fù)制到 linux主機(jī)共享目錄/home/yang/nfs_share 解壓,minigui-rootfs.tgz保留在nfs_share目錄下不動(dòng),重啟linux主機(jī)NFS服務(wù)器。開發(fā)板插入網(wǎng)線,將開發(fā)板接入linux主機(jī)所在局域網(wǎng)內(nèi),開發(fā)板開機(jī),并進(jìn)入u-boot命令行、設(shè)置u-boot啟動(dòng)參數(shù),設(shè)置bootcmd、bootargs,重啟開發(fā)板,內(nèi)核啟動(dòng)后,將自動(dòng)掛載NFS文件系統(tǒng)。

    (7)修改串口驅(qū)動(dòng)程序,并重新加載[6]。

    (8)對(duì)開發(fā)板的觸摸屏驅(qū)動(dòng)程序、串口驅(qū)動(dòng)程序進(jìn)行測(cè)試,對(duì)觸摸屏進(jìn)行校正。

    2.2 Zigbee開發(fā)環(huán)境的搭建

    CC2530的內(nèi)核為 C8051,使用 ⅠAR Embedded Workbench軟件集成開發(fā)環(huán)境,Zigbee 2007棧協(xié)議。首先按照軟件提示,在Windos XP主機(jī)上安裝ⅠAR,安裝成功后點(diǎn)擊菜單欄的project選項(xiàng)下的Option項(xiàng),彈出 Options for node“CC2530Test”對(duì)話框,按要求對(duì)開發(fā)環(huán)境進(jìn)行配置[2]。

    3 應(yīng)用程序開發(fā)

    本項(xiàng)目用到的應(yīng)用程序包括:基于MiniGUⅠ的加料車無線手持單元圖形界面,Zigbee無線通信程序,Zigbee無線通訊模塊和UT-6410開發(fā)板之間串口通信程序,MODBUS協(xié)議與Zigbee協(xié)議之間的數(shù)據(jù)格式轉(zhuǎn)換。

    3.1 基于MiniGUI的加料車無線手持單元圖形界面的開發(fā)

    (1)在linux主機(jī)上安裝minigui程序首先需要下載如下組件,libminigui-gpl-3_0_12.tar.gz、mgsamples-3_0_12.tar.gz、freetype-1_3_1.tar.gz、jpegsrc_v7.tar.gz、libpng-1_2_37.tar.gz、minigui-res-be-3_0_12.tar.gz、zlib-1_2_2.tar.gz、qvfb2-2.0、libmgplus-1.2.4、libqt3-mt、libqt3-mt-dev、alien、qt-devel-3.3.8-4.fc7.i386.rpm。其次,按如下順序安裝各組件:libminigui-gpl-3_0_12.tar.gz、minigui-res-be-3_0_12.tar.gz、freetype-1_3_1.tar.gz、PNG 庫(kù)、JPEG庫(kù)、zlib 庫(kù)、libmgplus-1.2.4、qvfb2、mg-samples-3_0_12。最后運(yùn)行 helloword程序,檢驗(yàn) linux主機(jī)上的miniGUⅠ是否安裝成功。

    (2)對(duì)開發(fā)板進(jìn)行交叉編譯 首先安裝交叉編譯器 cross-2.95.3.tar.bz2,再安裝 zlib 庫(kù)、png 庫(kù)、jpeg庫(kù)、libttf庫(kù)、編譯安裝 libminigui、popt庫(kù),將庫(kù)文件安裝到/usr/local/arm/2.95.3/arm-linu文件夾下。

    (3)把miniGUⅠ移植到開發(fā)板 嵌入式系統(tǒng)的根目錄為/opt/rootfs,把 /usr/local/arm/2.95.3/armlinux/lib中相應(yīng)的庫(kù)復(fù)制到 /opt/rootfs/usr/local/lib目錄下,修改MiniGUⅠ.cfg并保存退出。安裝并修改mde-1.3.0.tar.gz,保存退出,制作根文件系統(tǒng)鏡像,把 root.cramfs燒到板子里。

    (4)基于Minigui的圖形界面開發(fā)。

    3.2 基于Zigbee無線通信模塊程序的開發(fā)

    (1)組建網(wǎng)絡(luò) 協(xié)調(diào)器(手持終端)主要負(fù)責(zé)網(wǎng)絡(luò)組建、維護(hù)、控制終端節(jié)點(diǎn)加入無線網(wǎng)絡(luò)等任務(wù),Zigbee棧協(xié)議采用事件驅(qū)動(dòng)的方式。當(dāng)系統(tǒng)上電后,協(xié)調(diào)器首先進(jìn)行初始化,自動(dòng)選擇一個(gè)信道,然后選擇一個(gè)網(wǎng)絡(luò)號(hào),建立無線網(wǎng)絡(luò),等待終端節(jié)點(diǎn)(無線網(wǎng)關(guān))發(fā)出的請(qǐng)求加入網(wǎng)絡(luò)的信標(biāo)(Beacon)信號(hào),協(xié)調(diào)器對(duì)收到的終端節(jié)點(diǎn)加入網(wǎng)絡(luò)的請(qǐng)求作出應(yīng)答,終端節(jié)點(diǎn)收到協(xié)調(diào)器的應(yīng)答后,發(fā)送數(shù)據(jù)請(qǐng)求,請(qǐng)求協(xié)調(diào)器分配網(wǎng)絡(luò)地址,協(xié)調(diào)器對(duì)終端節(jié)點(diǎn)的數(shù)據(jù)請(qǐng)求作出應(yīng)答,將分配的網(wǎng)絡(luò)地址發(fā)送給終端節(jié)點(diǎn),終端節(jié)點(diǎn)使用自己的網(wǎng)絡(luò)地址和協(xié)調(diào)器進(jìn)行通信。

    (2)發(fā)送控制命令或數(shù)據(jù) 操作人員通過觸摸屏發(fā)出各種控制命令或數(shù)據(jù),ARM處理器接到發(fā)送控制命令或數(shù)據(jù)的請(qǐng)求后,將待發(fā)送的數(shù)據(jù)存入串口緩存,對(duì)串口進(jìn)行初始化,設(shè)置串口參數(shù),和CC2530的串口進(jìn)行通信,CC2530將接收到的數(shù)據(jù)存入串口緩存,CC2530處理器讀取數(shù)據(jù),將需要發(fā)送的數(shù)據(jù)存入相應(yīng)的端口,調(diào)用Zigbee棧協(xié)議中的發(fā)送函數(shù)與相關(guān)硬件函數(shù)最終將數(shù)據(jù)通過天線發(fā)送出去。

    (3)接收終端節(jié)點(diǎn)返回的狀態(tài)數(shù)據(jù) 當(dāng)協(xié)調(diào)器收到數(shù)據(jù)后,Zigbee棧協(xié)議將接收到的數(shù)據(jù)封裝成一個(gè)消息,然后放入消息隊(duì)列中,每個(gè)消息都有一個(gè)ⅠD,使用Zigbee棧協(xié)議中的osal_msg_receive函數(shù)從消息隊(duì)列中接收一個(gè)消息,然后使用switch-case語句對(duì)消息類型進(jìn)行判斷,進(jìn)行相應(yīng)的數(shù)據(jù)處理,將處理好的數(shù)據(jù)存入串口緩存,打開串口將數(shù)據(jù)發(fā)送至ARM開發(fā)板的串口緩存,ARM處理器讀取數(shù)據(jù),對(duì)觸摸屏上的狀態(tài)指示燈進(jìn)行刷新[7]。

    3.3 無線網(wǎng)關(guān)程序開發(fā)

    無線網(wǎng)關(guān)的主要作用是完成MODBUS協(xié)議和Zigbee無線協(xié)議數(shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)換協(xié)議中使用了兩種網(wǎng)絡(luò)數(shù)據(jù)格式 MODBUS-PDU和 ZSTACK-PDU,PLC設(shè)備能夠響應(yīng)的協(xié)議數(shù)據(jù)為MODBUS-PDU,Zigbee網(wǎng)絡(luò)中傳輸?shù)?Z-Stack協(xié)議數(shù)據(jù)為 ZSTACK-PDU。MODBUS協(xié)議數(shù)據(jù)以站號(hào)指定通信目的地址(無線終端),需要將MODBUS命令中的地址信息提取出來并根據(jù)此信息得到相應(yīng)的PLC設(shè)備綁定的Zigbee無線終端的無線網(wǎng)絡(luò)地址,并根據(jù)網(wǎng)絡(luò)地址將MODBUS命令數(shù)據(jù)轉(zhuǎn)發(fā)至對(duì)應(yīng)的無線終端。無線手持終端發(fā)送的控制命令是Zigbee無線協(xié)議數(shù)據(jù),無線網(wǎng)關(guān)將接收到ZSTACK-PDU經(jīng)過與上面相反的過程得到MODBUS-PDU數(shù)據(jù)發(fā)送至與之相連 PLC設(shè)備完成一次命令的接收。

    在本項(xiàng)目中無線網(wǎng)關(guān)內(nèi)部維護(hù)地址映射表,將整個(gè)網(wǎng)絡(luò)中的所有PLC設(shè)備的站號(hào)和與其綁定的無線終端的Zigbee網(wǎng)絡(luò)地址以及通信協(xié)議端口記錄在映射表中。實(shí)際通信過程中將通過查詢表格得到對(duì)應(yīng)的PLC站號(hào)和無線終端網(wǎng)絡(luò)地址。當(dāng)PLC通過串口將MODBUS協(xié)議命令數(shù)據(jù)發(fā)送給 Zigbee模塊時(shí),首先在應(yīng)用層將目的站號(hào)解析出來,查詢網(wǎng)絡(luò)映射表得到無線終端網(wǎng)絡(luò)地址,在 MODBUS協(xié)議命令的基礎(chǔ)上加上自己Zigbee的ⅠEEE地址,并將這些數(shù)據(jù)作為應(yīng)用層數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)層封裝,然后交給ZSTACK協(xié)議棧來完成發(fā)送,當(dāng)無線終端收到信息,發(fā)送響應(yīng)信息給發(fā)送方,完成一次通信過程。這個(gè)通信過程需要設(shè)置通信超時(shí)機(jī)制,當(dāng)超過一段時(shí)間無法接收到回復(fù)和應(yīng)答將作為通信失敗處理,請(qǐng)求重新發(fā)送[8]。

    4 結(jié)語

    在青海進(jìn)行了硅鐵爐加料實(shí)驗(yàn),整個(gè)設(shè)備移動(dòng)范圍最大不超過 30 m,通過 TexasⅠnstruments Packet Sniffer軟件進(jìn)行抓包實(shí)驗(yàn),無線手持終端發(fā)送控制命令、接收監(jiān)測(cè)數(shù)據(jù)的誤碼率為零,整個(gè)加料裝置運(yùn)轉(zhuǎn)正常,反應(yīng)靈敏,達(dá)到了預(yù)期設(shè)計(jì)要求。

    [1] 王 泉,陳加林.工業(yè)現(xiàn)場(chǎng)級(jí)Zigbee手持控制器的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009(2):5-2.

    [2] 王小強(qiáng),歐陽駿.黃寧淋.Zigbee無線傳感器網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:化學(xué)工業(yè)出版社,2012.

    [3] 弓 雷.ARM嵌入式Linux系統(tǒng)開發(fā)詳解[M].北京:清華大學(xué)出版社,2010.

    [4] 胡國(guó)珍,王 泉,魏 旻.基于 Zigbee的工業(yè)無線網(wǎng)關(guān)研究[J].技術(shù)縱橫,2009(2):5-25.

    [5] 北京飛漫技術(shù)有限公司.XM6410原型機(jī)Linux2.6.28使用手冊(cè)[Z].北京:2011.

    [6] 宋寶華,何昭然.精通Linux設(shè)備驅(qū)動(dòng)程序開發(fā)[M].北京:人民郵電出版社,2012.

    [7] 蔣 挺,趙成林.紫峰技術(shù)及其應(yīng)用[M].北京:北京郵電大學(xué)出版社,2006.

    [8] Modbus.org.Modbus Application Protocol Specification V1.1[EB/OL].httP://www.Modbus.org.

    猜你喜歡
    網(wǎng)絡(luò)地址開發(fā)板網(wǎng)關(guān)
    敬 告
    網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)在局域網(wǎng)中的應(yīng)用
    基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
    Microchip最新推出兩款PIC32 Curiosity開發(fā)板
    淺析單片機(jī)開發(fā)板的設(shè)計(jì)與制作
    電子制作(2017年22期)2017-02-02 07:10:14
    淺析IP地址分類
    高校校園網(wǎng)絡(luò)IP地址設(shè)計(jì)規(guī)劃解析
    LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
    應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
    太陽能(2015年7期)2015-04-12 06:49:50
    Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
    景德镇市| 武安市| 新竹县| 临朐县| 扎赉特旗| 兴海县| 曲阜市| 云龙县| 霍林郭勒市| 桃园县| 察隅县| 莱西市| 绍兴市| 辰溪县| 达日县| 宁远县| 千阳县| 东海县| 阳新县| 宣城市| 普兰县| 阆中市| 新郑市| 施秉县| 黄大仙区| 太原市| 响水县| 吉水县| 茂名市| 衡东县| 鄂尔多斯市| 宜昌市| 龙江县| 东丽区| 尖扎县| 莱州市| 沙湾县| 固阳县| 伊吾县| 金坛市| 遂溪县|