国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的無線觸控屏控制器設(shè)計(jì)*

2015-08-21 05:14
機(jī)械研究與應(yīng)用 2015年3期
關(guān)鍵詞:無線通訊寄存器觸摸屏

杜 剛

(中國科學(xué)技術(shù)大學(xué)精密機(jī)械與精密儀器系,安徽 合肥 230027)

0 引言

嵌入式微處理器FPGA相比于微機(jī),具有成本低、體積小、速度快的優(yōu)點(diǎn),對(duì)于中小型設(shè)備其處理能力完全可以滿足要求[1]。相比于各種單片機(jī)等嵌入式芯片,F(xiàn)PGA采用可編程門陣列,可以根據(jù)具體需求構(gòu)造SOPC(System-on-a-Programmable-Chip,片上可編程系統(tǒng))、較為便捷地搭建外圍電路,有效提高芯片資源的利用率[2]。

以FPGA為控制核心,設(shè)計(jì)一種具有無線通訊功能的觸摸屏控制系統(tǒng)。其無線通訊功能,可以實(shí)時(shí)發(fā)送無線控制命令并無線監(jiān)控設(shè)備運(yùn)行狀況,可以作用于危險(xiǎn)環(huán)境或操作者難以親自到達(dá)的場(chǎng)合。設(shè)計(jì)中以觸控屏替代實(shí)體按鍵,減小了控制裝置的體積。該系統(tǒng)可以脫離微機(jī),獨(dú)立操縱控制,減輕微機(jī)的工作負(fù)擔(dān)。整個(gè)控制裝置體積小,重量輕,可便攜。

1 系統(tǒng)組成

系統(tǒng)主要由FLASH控制模塊、基于XPT2046的觸摸屏坐標(biāo)采集模塊、基于ILI9325的LCD顯示控制模塊及NRF24L01無線通訊模塊組成。系統(tǒng)的控制核心采用FPGA芯片EP4CE15F17C8,搭建SOPC核。在LCD觸摸屏繪制用戶控制界面,利用觸摸屏控制芯片采集控制信號(hào),經(jīng)編碼后交由無線通訊模塊發(fā)送至接收終端,實(shí)現(xiàn)觸摸屏控制器的無線控制。無線通訊模塊接收到控制端發(fā)送的信號(hào)經(jīng)譯碼后被FPGA處理,F(xiàn)PGA將處理后的信號(hào)去控制受控設(shè)備。在對(duì)硬件編程時(shí),主要采用NIOSII類C語言。

1.1 SOPC核和SPI總線

一個(gè)基本的SOPC核的組成部分有時(shí)鐘(本設(shè)計(jì)采用50 MHz)、CPU、SDRAM控制器(用于在線調(diào)試)、FLASH控制器(用于燒錄程序并實(shí)現(xiàn)掉電保存),JTAG_UART[3]。此外,還需搭建 IO 作為各個(gè)模塊的控制接口,具體為:LCD的控制接口 RS、WR、RD、CS、REST及數(shù)據(jù)線DB7~DB0;觸摸屏控制接口T_CS、T_CLK、T_IN、T_OUT、T_IRQ;無線通訊模塊控制接口 MOSI、MISO、CE、CSN、SCK。

在上述模塊中,觸摸屏坐標(biāo)采集模塊XPT2046和無線模塊NRF24L01都是基于SPI總線實(shí)現(xiàn)的,SPI總線是一種串行接口協(xié)議,一般由片選CS、時(shí)鐘CLK、主出從入MOSI及主入從出MISO四根數(shù)據(jù)線組成,分別對(duì)應(yīng) XPT2046控制總線中的 T_CS、T_CLK、T_IN、T_OUT端口及 NRF24L01中的 CSN、SCK、MOSI、MISO 端口[4]。圖 1 為 SPI時(shí)序圖。

圖1 SPI時(shí)序

對(duì)與NRF24L01與XPT2046,都是MOSI時(shí)鐘上升沿有效,MISO時(shí)鐘下降沿有效。在NIOSII中使用四個(gè)IO口模擬實(shí)現(xiàn)SPI接口。

1.2 LCD 觸摸屏

采用的LCD觸摸屏為電阻式,其中的LCD用以繪制并顯示系統(tǒng)的用戶控制界面,觸摸屏用以對(duì)觸控點(diǎn)進(jìn)行捕捉,編碼轉(zhuǎn)換為該觸控點(diǎn)所表示按鍵的具體指令。該部分主要工作流程如圖2所示。

圖2 LCD顯示及觸摸控制工作流程

1.2.1 LCD 顯示控制

LCD用以繪制控制系統(tǒng)的用戶控制界面,并反映對(duì)受控端工作狀態(tài)監(jiān)控的信息。為此,把用戶控制界面分為按鍵區(qū)和顯示區(qū)兩部分。而ILI9325的作用就是讀入控制界面的顏色數(shù)據(jù)矩陣,以靜態(tài)的方式在LCD屏上繪制出來,同時(shí)在顯示區(qū)顯示受控設(shè)備的工作狀態(tài)。

LCD驅(qū)動(dòng)芯片ILI9325最高支持320X240分辨率的圖像顯示,且有18位RGB接口,故最多可支持262144色顯示。芯片內(nèi)置存儲(chǔ)器大致分為兩個(gè)部分:控制寄存器及緩存圖片數(shù)據(jù)的GRAM(Graphics RAM,GRAM),通過對(duì)控制寄存器寫入控制字,以此設(shè)置驅(qū)動(dòng)芯片的工作狀態(tài)。圖片存儲(chǔ)區(qū)GRAM大小為320X240X18bit,即有320X240個(gè)陣列存儲(chǔ)單元,每個(gè)單元有18bit空間,GRAM結(jié)構(gòu)與LCD像素排列方式對(duì)應(yīng)。在寫入圖像數(shù)據(jù)之前,需要設(shè)置GRAM的工作范圍,同時(shí)也是LCD的顯示范圍,該范圍由對(duì)角線上兩點(diǎn)坐標(biāo)決定。待顯示的圖片數(shù)據(jù)會(huì)暫時(shí)存于GRAM中,顯示圖片時(shí),GRAM尋址計(jì)數(shù)器自動(dòng)在設(shè)定的范圍內(nèi)累加,以此讀出GRAM中相應(yīng)存儲(chǔ)單元的圖片數(shù)據(jù),在屏幕像素陣列上顯示[5]。LCD顯示控制流程如圖3所示。

圖3 LCD顯示控制流程

ILI9325提供了多種數(shù)據(jù)讀寫接口,有讀寫速度從快至慢分別為18-/16-/9-/8-bit的并行接口和1-bit的串行接口,綜合考慮速度要求和FPGA的IO資源,本設(shè)計(jì)采用8-bit并行接口,圖片顏色格式采用RGB565。在此接口模式及顏色格式下,一個(gè)像素點(diǎn)的顏色數(shù)據(jù)為16位,需分兩次傳輸。圖4為8-bit下并行接口顏色數(shù)據(jù)輸入格式。

圖4 8-bit并行接口顏色數(shù)據(jù)輸入格式

本設(shè)計(jì)以FPGA內(nèi)部資源搭建ROM存儲(chǔ)模塊,用以存放構(gòu)成用戶控制界面的圖像數(shù)據(jù)矩陣,在上電后寫入GRAM,這樣,在FPGA資源允許的情況下可以減小外圍電路的規(guī)模,有效提高了對(duì)FPGA資源的利用率。

1.2.2 觸摸屏的控制

相比于電容屏,電阻屏雖不能支持多點(diǎn)觸控,但具有精度高,價(jià)格低廉的特點(diǎn),可做到一個(gè)像素點(diǎn)的精確控制。所以,對(duì)于控制器而言,電阻屏更為合適。

圖5 XPT2046采集坐標(biāo)流程

控制電阻式觸摸屏的核心芯片是XPT2046,其本質(zhì)上是一款逐次逼近型的數(shù)模轉(zhuǎn)換器,可自由設(shè)置為8位或12位精度。觸摸屏不同像素點(diǎn)受到壓力會(huì)產(chǎn)生不同的模擬電壓值,該電壓由XPT2046采集后由處理器識(shí)別其對(duì)應(yīng)的像素坐標(biāo),得到所按屏幕的區(qū)域并執(zhí)行相應(yīng)按鈕的指令,在采集到像素坐標(biāo)時(shí),XPT2046同時(shí)會(huì)產(chǎn)生IRQ中斷,因此,對(duì)應(yīng)的具體命令函數(shù)可在中斷中實(shí)現(xiàn)[6]。

觸摸屏的像素坐標(biāo)與具體的模擬電壓值成正比關(guān)系,因?yàn)椴煌钠聊辉摫壤蜃涌赡軙?huì)略有差別,所以為了使觸摸屏能在更精確的情況下工作,需要對(duì)觸摸屏校正,計(jì)算出所用屏真實(shí)的比例系數(shù)。校正主要采用多次采集屏幕上特定像素點(diǎn)(例如一個(gè)矩形的四個(gè)頂點(diǎn))的電壓值,平均后得到較為精確的有效值,再結(jié)合被采點(diǎn)的幾何關(guān)系即可算出比例系數(shù)。根據(jù)實(shí)際驗(yàn)證,20次左右的采集次數(shù)即可保證校正的精度。圖7為XPT2046采集觸摸點(diǎn)坐標(biāo)的控制流程。

XPT2046的控制接口中T_IN口(即MOSI口)寫入控制字,決定芯片的工作狀態(tài),包括模數(shù)轉(zhuǎn)化的精度(8為或12位)、采集的坐標(biāo)是橫坐標(biāo)還是縱坐標(biāo)、單端采集還是差分采集等,而T_OUT口(即MISO)輸出12位數(shù)值,代表在12位精度下采集到電壓值[7]。XPT2046讀寫時(shí)序如圖6所示。

圖6 XPT2046讀寫時(shí)序

由時(shí)序圖可見,在觸動(dòng)屏幕,產(chǎn)生IRQ中斷信號(hào)后開始進(jìn)行一次有效的電壓采集,在一次采集的數(shù)據(jù)輸出7位后,可以進(jìn)行第二次采集的控制字輸入,這樣既可保證下一次的數(shù)值不會(huì)覆蓋前一次,又可提高采集效率。

1.3 無線通訊模塊

NRF24L01工作頻率為2.4~2.525 GHz的公頻段。NRF24L01有六個(gè)收發(fā)通道,因此可實(shí)現(xiàn)一對(duì)多或多對(duì)一的相互通訊,一次最多可發(fā)送的數(shù)據(jù)包大小為32 Bytes,在一般室內(nèi)環(huán)境中有效通訊距離可達(dá)10 m(在開闊的室外環(huán)境可以更高)。

NRF24L01必須至少兩片同時(shí)工作,一片發(fā)送一片接收?;槭瞻l(fā)的兩片芯片需配置相同的收發(fā)地址、收發(fā)通道、工作頻率、數(shù)據(jù)長度及發(fā)射功率。NRF24L01的收發(fā)狀態(tài)由CE管腳(激活芯片進(jìn)入收發(fā)狀態(tài))及CONFIG寄存器中的PWR_UP(上電位)位和PRIM_RX(收發(fā)選擇位)位共同決定。表1為NRF24L01工作狀態(tài)。

具體的發(fā)送流程為:①接收端地址及待發(fā)送的數(shù)據(jù)寫入NRF24L01;②配置CONFIG寄存器,進(jìn)入發(fā)送狀態(tài);③置高CE管腳,激發(fā)發(fā)送;④發(fā)送數(shù)據(jù)包,并得到接收端的應(yīng)答,完成發(fā)送。具體的接收流程為:①配置本機(jī)地址(需與發(fā)射端地址一致)及需接收的數(shù)據(jù)包的大小;②配置CONFIG寄存器,進(jìn)入接收狀態(tài);③置高CE,激發(fā)接收;④接收到發(fā)射端發(fā)來的數(shù)據(jù),產(chǎn)生應(yīng)答;⑤從NRF24L01讀出接收到的數(shù)據(jù),置低CE,進(jìn)入待機(jī)模式[9]。圖7為無線模塊工作流程。

表1 NRF24L01工作狀態(tài)

圖7 無線模塊工作流程

NRF24L01的工作狀態(tài),可以通過讀取狀態(tài)寄存器STATUS實(shí)現(xiàn)。STATUS為8位寄存器,其中接收到有效數(shù)據(jù)后第六位RX_DR置高,發(fā)送數(shù)據(jù)成功接收到應(yīng)答后第五位TX_DS置高。在收發(fā)完成后,必須對(duì)STATUS寄存器重置及對(duì)數(shù)據(jù)緩存區(qū)清空,否則下次收發(fā)可能會(huì)出現(xiàn)錯(cuò)誤。為了提高收發(fā)的成功率,應(yīng)該打開NRF24L01的自動(dòng)重發(fā)功能,NRF24L01最多支持16次數(shù)據(jù)重發(fā),直至收到接收端成功接收的應(yīng)答為止。

由于無線通訊模塊用于對(duì)控制端控制指令的傳輸,所以需要對(duì)控制界面產(chǎn)生的不同指令進(jìn)行編碼,交由無線模塊發(fā)送,在接收端進(jìn)行譯碼還原原始指令,并執(zhí)行相應(yīng)的操作。NRF24L01一次發(fā)送的數(shù)據(jù)包最多可達(dá)32bytes,可以滿足控制指令的編碼需求。

2 實(shí)驗(yàn)

以帶有光柵尺反饋系統(tǒng)的二維電控平臺(tái)為受控設(shè)備,對(duì)研制的控制系統(tǒng)進(jìn)行了測(cè)試。圖10為LCD觸摸屏上顯示的用戶控制界面。圖中上下箭頭分別控制X向步進(jìn)電機(jī)的正反轉(zhuǎn),左右箭頭分別控制Y向步進(jìn)電機(jī)的正反轉(zhuǎn),中間為啟動(dòng)和暫停鍵。上面的狀態(tài)欄顯示反饋的光柵尺測(cè)得的X和Y方向位移。一次發(fā)送控制指令和返回監(jiān)控狀態(tài)所用時(shí)間約為30~50 ms,該系統(tǒng)可用于實(shí)時(shí)控制和監(jiān)測(cè)。圖8為系統(tǒng)用戶控制界面。

圖8 用戶控制界面

3 總結(jié)

本設(shè)計(jì)基于FPGA搭建SOPC嵌入核,實(shí)現(xiàn)LCD顯示、觸摸屏控制、無線通訊模塊的控制,構(gòu)建了無線觸控系統(tǒng),并通過無線操控和監(jiān)測(cè)帶光柵尺反饋的二維電控平臺(tái),驗(yàn)證了該系統(tǒng)運(yùn)行的準(zhǔn)確性、穩(wěn)定性、可靠性和實(shí)時(shí)性。該無線觸控系統(tǒng)也可應(yīng)用于控制和監(jiān)測(cè)其他工業(yè)設(shè)備或?qū)嶒?yàn)室儀器。

[1]李 欣.基于FPGA的片上多處理器建模方法[D].合肥:中國科學(xué)技術(shù)大學(xué),2012.

[2]馮亞楠.基于SOPC的嵌入式系統(tǒng)架構(gòu)及應(yīng)用驗(yàn)證[D].呼和浩特:內(nèi)蒙古大學(xué),2014.

[3]王 剛,張 瀲.基于FPGA的SOPC嵌入式系統(tǒng)設(shè)計(jì)與典型實(shí)例[M].北京:電子工業(yè)出版社,2008.

[4]劉福奇.FPGA嵌入式項(xiàng)目開發(fā)實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2009.

[5]高 超.基于SOPC汽車故障檢測(cè)系統(tǒng)的設(shè)計(jì)[D].哈爾濱:黑龍江大學(xué),2014.

[6]張 勇,鄒衛(wèi)軍.基于Cortex-M3的低成本液晶觸摸屏設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2014,27(6):12 -14.

[7]張恩迪,余 萌.基于STM32和μC/OS-Ⅲ的雙觸摸屏無線自助點(diǎn)餐系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2014(12):90-92.

[8]楊 旭,李德敏,張謙益.基于nRF24L01的一種無線通信協(xié)議設(shè)計(jì)[J].通信技術(shù),2011,44(7):57 -59.

[9]李 輝,宋 詩,周建江.基于ARM和nRF24L01的無線數(shù)據(jù)傳輸系統(tǒng)[J].國外電子元器件,2008(12):44 -46.

猜你喜歡
無線通訊寄存器觸摸屏
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
PLC和觸摸屏在衛(wèi)生間控制系統(tǒng)的應(yīng)用
基于無線通訊的遠(yuǎn)程無線切割分離裝置控制系統(tǒng)
皮膚“長”出觸摸屏
分簇結(jié)構(gòu)向量寄存器分配策略研究*
基于NRF無線通訊技術(shù)的自組網(wǎng)互助教學(xué)系統(tǒng)研究與開發(fā)
成焊機(jī)組與飛焊車之間串行無線通訊研究與應(yīng)用
對(duì)超寬帶無線通訊技術(shù)的分析探討
投射式多點(diǎn)觸控電容觸摸屏
觸摸屏項(xiàng)目移植在自動(dòng)化系統(tǒng)升級(jí)中的應(yīng)用