999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM和WiFi的測試系統(tǒng)手持終端的設(shè)計

2013-08-13 03:55:06張志杰軒志偉
電視技術(shù) 2013年15期
關(guān)鍵詞:設(shè)備系統(tǒng)設(shè)計

張 霞,張志杰,軒志偉

(中北大學(xué)信息與通信工程學(xué)院,山西 太原 030051)

責(zé)任編輯:薛 京

目前大多數(shù)數(shù)據(jù)采集系統(tǒng)都是在PC平臺下設(shè)計人機界面與采集設(shè)備進行通信,這種系統(tǒng)存在戶外做實驗不易于攜帶、成本高等缺點,針對這一情況,本文設(shè)計了在ARM硬件平臺下的圖形用戶界面。

Linux操作系統(tǒng)具有開源、穩(wěn)定且便于移植到嵌入式設(shè)備的優(yōu)點,在Linux下設(shè)計人機交互界面的需求越來越多。嵌入式系統(tǒng)對圖形用戶界面的基本要求包括輕小、占用資源少、高性能、高可靠性以及可配置等特點[1]。本文提出了采用ARM為硬件平臺和嵌入式Linux系統(tǒng)為軟件平臺,并在此基礎(chǔ)上采用Qt設(shè)計了一款實用、靈敏的圖形用戶界面。

1 系統(tǒng)總體設(shè)計

數(shù)據(jù)采集系統(tǒng)的基本框圖如圖1所示。

本數(shù)據(jù)采集系統(tǒng)的設(shè)計總體由4個部分組成:

1)數(shù)據(jù)采集設(shè)備:被測信號經(jīng)過傳感器并通過模擬調(diào)理電路的放大、濾波等處理,得到的信號經(jīng)過數(shù)據(jù)采集卡轉(zhuǎn)換成數(shù)字信號并且存儲在數(shù)據(jù)采集設(shè)備中。

2)人機交互:在Linux平臺下使用Qt軟件設(shè)計界面,主要顯示的內(nèi)容有設(shè)置參數(shù)、參數(shù)回讀、數(shù)據(jù)讀取和波形顯示。這部分由ARM9開發(fā)板及觸摸顯示面板完成。ARM9開發(fā)板選用天塹公司的TQ2440,TQ2440開發(fā)板采用的是 S3C2440AL的 CPU,板載 64 Mbyte SDRAM、256 Mbyte Nand Flash和2 Mbyte Nor Flash,板上集成4線電阻式觸摸屏接口,直接連接?xùn)|芝3.5 in(1 in=2.54 cm)電阻觸摸屏作為顯示控制面板。

3)USB通信:采用FIDI公司推出的FT245RL芯片,完成FT245芯片在ARM9平臺下Linux USB驅(qū)動的設(shè)計和移植。

4)WiFi模塊:本系統(tǒng)采用WM001S WiFi模塊,集成微控制器(MCU)和IEEE802.11 b/g 2.4 GHz無線射頻收發(fā)芯片為一體。模塊部分的射頻電路已經(jīng)通過出廠校準測試,客戶能夠根據(jù)自己的需求來設(shè)計接口電路和進行二次開發(fā)。WM001S模塊提供一種簡單、低成本、可靠的WiFi網(wǎng)絡(luò)產(chǎn)品設(shè)計方案。本模塊內(nèi)置完整的TCP/IP協(xié)議棧,支持 TCP/UDP/ICMP/ARP/DHCP/DNS/HTTP協(xié)議,此外還支持基于超級命令的Socket編程接口。

本系統(tǒng)無線模塊作為服務(wù)器集成在數(shù)據(jù)采集設(shè)備中。兩者之間都是通過串口連接,操作簡單方便。通過串口調(diào)試工具設(shè)置好無線模塊的參數(shù),包括網(wǎng)絡(luò)名稱、IP地址、協(xié)議類型、連接類型及目的地址和端口等。

2 系統(tǒng)的軟件設(shè)計

本系統(tǒng)采用嵌入式Linux作為操作系統(tǒng),在Linux平臺下編寫驅(qū)動程序和應(yīng)用程序,采用Qt設(shè)計人機交互界面。應(yīng)用程序的主要功能有,通過發(fā)送指令來控制數(shù)據(jù)采集設(shè)備的參數(shù),并且通過參數(shù)回讀功能來驗證設(shè)備工作是否正常且參數(shù)設(shè)置是否成功。讀取采集設(shè)備中的數(shù)據(jù),存儲到二進制文件中,再進行讀取并且通過波形顯示出來。本系統(tǒng)的軟件結(jié)構(gòu)圖如圖2所示,軟件開發(fā)主要有3個內(nèi)容:開發(fā)工具和關(guān)鍵技術(shù)、USB驅(qū)動程序的設(shè)計和應(yīng)用程序的設(shè)計。

圖2 數(shù)據(jù)采集系統(tǒng)軟件結(jié)構(gòu)圖

2.1 開發(fā)工具和關(guān)鍵技術(shù)

系統(tǒng)以Qt軟件為開發(fā)平臺,采用TCP協(xié)議實現(xiàn)Socket通信。

TCP是一種可靠的、面向連接、面向數(shù)據(jù)流的傳輸協(xié)議,為應(yīng)用程序提供可靠的通信連接,使一臺計算機發(fā)出的字節(jié)流無差錯地發(fā)往網(wǎng)絡(luò)上的其他計算機。因此,對可靠性要求高的數(shù)據(jù)通信系統(tǒng)往往使用TCP協(xié)議傳輸數(shù)據(jù),但在正式收發(fā)數(shù)據(jù)前通信雙方必須建立連接[2]。

TCP協(xié)議的程序使用的是客戶端/服務(wù)器模式,在Qt中提供了QTcpSocket類來編寫客戶端程序,使用QTcpS-erver類編寫服務(wù)器端程序。在服務(wù)器端進行端口的監(jiān)聽,一旦發(fā)現(xiàn)客戶端的連接請求,就會發(fā)出newConnection()信號,可以關(guān)聯(lián)這個信號到槽函數(shù),進行數(shù)據(jù)的發(fā)送。而在客戶端,一旦有數(shù)據(jù)到來就會發(fā)出readyRead()信號,可以關(guān)聯(lián)此信號,進行數(shù)據(jù)的接收。本系統(tǒng)的應(yīng)用程序采用客戶端的模式編寫[3]。

2.2 USB 驅(qū)動設(shè)計

本次設(shè)計選用FTDI公司開發(fā)的USB芯片F(xiàn)T245RL來連接ARM開發(fā)板和數(shù)據(jù)采集設(shè)備,該芯片具有功能強大、體積微小、傳輸速度快、易于與微處理器接口等特點。由于FTDI公司沒有推出支持ARM的Linux USB驅(qū)動,因此必須先設(shè)計支持ARM和Linux的USB驅(qū)動[4]。

USB驅(qū)動屬于字符設(shè)備驅(qū)動,USB驅(qū)動屬于字符設(shè)備驅(qū)動,通過module_init()函數(shù)進入驅(qū)動程序,完成初始化加載,注冊USB設(shè)備,申請USB設(shè)備標示號等。不同廠商不同型號的USB芯片的VID和PID是不同的,通過VID和PID的值來識別設(shè)備。FT245RL芯片的VID=0x0403,PID=0x6001。

設(shè)計步驟如下:根據(jù)Linux的內(nèi)核源碼中的USB驅(qū)動的框架程序“/drivers/usb/”下的 nousb-skeleton.c文件,來修改編寫ft245的驅(qū)動程序,修改好的驅(qū)動文件ft245.c文件放在/drivers/char/目錄下;接下來通過修改同目錄下的“Kconfig”和“Makefile”文件,完成內(nèi)核源碼對ft245驅(qū)動支持;在終端運行#make menuconfig完成內(nèi)核配置,使用#make SUBDIR=drivers/char/modules,編譯出驅(qū)動模塊。這時候可以在drivers/char/下找到ft245.ko文件;將其傳送給開發(fā)板,使用insmod ft245.ko命令進行動態(tài)加載。這時便可進行ARM和數(shù)據(jù)采集設(shè)備的通信。

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

本數(shù)據(jù)采集系統(tǒng)的應(yīng)用程序基于Linux平臺,采用Qt的開發(fā)環(huán)境Qt Creator完成開發(fā),最后在已搭建好的開發(fā)環(huán)境中編譯得到可執(zhí)行文件,并將其移植到制作好的根文件系統(tǒng)中,重新制作yaffs格式的文件系統(tǒng)鏡像后燒寫到開發(fā)板,即可運行添加的應(yīng)用程序。

2.3.1 控制界面的設(shè)計

Qt/Embedded編程既可以圖形化編程,也可以以傳統(tǒng)代碼編程[5],本設(shè)計采用二者相結(jié)合的方式編程:通過派生自QWidget的QMainWindow的子類化來實現(xiàn)主窗口的創(chuàng)建,再在工程中通過新建Qt Designer Form Class來實現(xiàn)“設(shè)置參數(shù)”和“參數(shù)回讀”兩個子窗口的創(chuàng)建;“波形顯示”窗口選用傳統(tǒng)的代碼編程完成坐標和數(shù)據(jù)波形的繪制。通過Qt特有的信號與槽(signal/slots)機制實現(xiàn)在主窗口調(diào)用其他的子窗口。主窗口的設(shè)計如圖3所示,子窗口的設(shè)計如圖4所示。

圖3 主窗口界面(截圖)

圖4 子窗口界面(截圖)

2.3.2 后臺處理程序

后臺處理程序的內(nèi)容主要包括USB和WiFi兩部分,分別實現(xiàn)了設(shè)置參數(shù)、參數(shù)回讀、數(shù)據(jù)存儲和波形顯示的功能。

1)設(shè)置參數(shù):選擇性地對數(shù)據(jù)采集設(shè)備發(fā)送參數(shù)設(shè)置控制指令,這些指令包括采樣頻率、觸發(fā)電平、放大倍數(shù)、負延時點數(shù)和數(shù)據(jù)長度。

USB部分程序中的主要函數(shù)如下:

無線部分程序中的主要函數(shù)如下:

2)參數(shù)回讀:通過對數(shù)據(jù)采集設(shè)備發(fā)送相應(yīng)的控制指令來讀取設(shè)備發(fā)送回來的數(shù)據(jù),通過ui->label->setText(tr(“相關(guān)參數(shù)”))語句,顯示到ui文件的標簽Label中,從而可以判斷設(shè)備是否正常工作,且設(shè)置參數(shù)是否成功。

3)數(shù)據(jù)讀取:通過發(fā)送指令到數(shù)據(jù)采集設(shè)備,讀取設(shè)備發(fā)送回來的數(shù)據(jù)并且以二進制形式存儲數(shù)據(jù)到文件中。在Qt中往文件中寫數(shù)據(jù)使用QFile類和QDataStream類,主要實現(xiàn)程序如下:

4)波形顯示:使用QPainter類完成坐標和數(shù)據(jù)波形的繪制。QPainter既可以繪制幾何圖形,又可以繪制像素映射、圖像和文字[6]。先在頭文件中聲明重繪事件函數(shù)、初始化界面函數(shù)和坐標設(shè)定的函數(shù),再在draw.cpp文件中對這些函數(shù)進行重定義,分別為:void Draw::paintEvent(QPaintEvent*e),void Draw::initInterface()和 void Draw::resizeEvent(QResizeEvent*e)。實現(xiàn)讀取二進制文件中的數(shù)據(jù),并且繪制成波形的功能。

3 系統(tǒng)應(yīng)用效果驗證

在開發(fā)環(huán)境內(nèi)交叉編譯編寫的應(yīng)用程序,得到可執(zhí)行的二進制文件,將此文件植入制作的帶有Qt庫的文件系統(tǒng)中并進行編譯,將裁剪、編譯過的內(nèi)核與該文件系統(tǒng)燒寫到開發(fā)板,即可實現(xiàn)應(yīng)用程序的發(fā)布。圖5為從300 m遠處控制采集設(shè)備,讀取沖擊波壓力數(shù)據(jù)并在波形顯示這一子窗口顯示的波形。

圖5 運行結(jié)果顯示(照片)

4 結(jié)束語

本設(shè)計能很好地實現(xiàn)人機交互功能,已經(jīng)不是傳統(tǒng)的PC機端上位機軟件,相比于筆記本,該系統(tǒng)體積小、重量輕、可便攜,當通信受到限制時,可調(diào)整通信距離,使無線傳輸性能達到最佳。實驗證明,在室外空曠環(huán)境下,通信距離可達300 m,接收到的數(shù)據(jù)準確率達100%,該數(shù)據(jù)采集系統(tǒng)穩(wěn)定可靠、切實可行、具有實際應(yīng)用價值。

[1]陳曦,劉增強.基于Qt/Embedded嵌入式控制界面的設(shè)計[J].化工自動化及儀表,2011,38(9):1131-1132.

[2]姚娟,張志杰.基于LabVIEW和TCP的數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2012,38(7):72-74.

[3]鄭阿奇,陳超.Qt 4開發(fā)實踐[M].北京:電子工業(yè)出版社,2011.

[4]曾強,趙娟.基于FT245的Linux USB驅(qū)動的設(shè)計[J].光電技術(shù)應(yīng)用,2011,26(1):70-73。

[5]吳迪.零基礎(chǔ)學(xué) Qt4編程[M].北京:北京航空航天大學(xué)出版社,2010.

[6]BLANCHETTE J,SUMMERFIELD M.C++GUI Qt 4編程[M].閆鋒欣,曾泉人,張志強,譯.2版.北京:清華大學(xué)出版社,2010.

猜你喜歡
設(shè)備系統(tǒng)設(shè)計
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設(shè)計萌到家
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
500kV輸變電設(shè)備運行維護探討
主站蜘蛛池模板: 在线亚洲精品自拍| 日本成人不卡视频| 永久天堂网Av| 美女无遮挡被啪啪到高潮免费| 最新精品久久精品| 欧美成人在线免费| 亚洲专区一区二区在线观看| 永久免费无码日韩视频| 亚洲大尺度在线| 狠狠色成人综合首页| 色综合成人| 亚洲视频欧美不卡| 国产成人综合亚洲欧洲色就色| 日韩中文无码av超清| 国产日韩精品欧美一区灰| 国产成人精品高清不卡在线| 夜夜爽免费视频| 成人午夜亚洲影视在线观看| 97色婷婷成人综合在线观看| 超碰aⅴ人人做人人爽欧美| 露脸国产精品自产在线播| 日本国产精品一区久久久| 草逼视频国产| 欧美色99| 亚洲欧美成人在线视频| 福利在线一区| 国产精品久久久久久搜索| 日韩中文字幕免费在线观看| 日韩在线永久免费播放| 香蕉在线视频网站| 国产精品男人的天堂| 欧美国产精品不卡在线观看| 99re精彩视频| 在线中文字幕日韩| 99成人在线观看| 毛片网站观看| 欧美日韩国产系列在线观看| 女人一级毛片| 国产va视频| 久久精品日日躁夜夜躁欧美| 亚洲色无码专线精品观看| 少妇精品在线| 91亚洲精选| 无码精品一区二区久久久| 爱做久久久久久| 91在线无码精品秘九色APP| 激情视频综合网| 国产综合亚洲欧洲区精品无码| 都市激情亚洲综合久久| 99视频免费观看| 男女性午夜福利网站| 高潮毛片无遮挡高清视频播放| 日韩精品成人网页视频在线| 日韩精品一区二区三区swag| 天天综合网站| 久久亚洲天堂| 成人免费午间影院在线观看| 一级爆乳无码av| 精品久久香蕉国产线看观看gif| 国产主播在线观看| 91久久大香线蕉| 国产一区二区精品高清在线观看| 国产一区二区三区精品欧美日韩| 538国产在线| 亚洲品质国产精品无码| 亚洲一区二区视频在线观看| 久热精品免费| 亚洲色图在线观看| 国产精品视频观看裸模| 欧美在线一二区| 免费人成视网站在线不卡| 欧美一区二区三区欧美日韩亚洲| 日韩福利在线视频| av在线5g无码天天| 朝桐光一区二区| 欧美国产日产一区二区| 久久精品中文字幕免费| 亚洲欧美在线看片AI| 精品无码一区二区三区在线视频| 国产精品毛片一区| 亚洲欧美激情小说另类| 久久人人爽人人爽人人片aV东京热|