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

?

基于STM32F103的“無線傳書”設(shè)計(jì)

2014-04-02 15:22:16周璐璐
卷宗 2014年12期
關(guān)鍵詞:觸摸屏電阻無線

周璐璐

伴隨著集成電路的發(fā)展,無線通信技術(shù)變得更加成熟,而且容易實(shí)現(xiàn)。數(shù)據(jù)的傳輸速度,隨著技術(shù)的不斷提高也越來越快,人們慢慢擺脫了電纜的束縛,使信息的獲取慢慢的從有線向無線進(jìn)行過渡。本設(shè)計(jì)的傳輸系統(tǒng)主要是實(shí)現(xiàn)“無線傳書”任務(wù),除此之外還有LED任務(wù)、信號(hào)量檢測任務(wù)、按鍵掃描任務(wù)和主任務(wù)。設(shè)計(jì)中引入了嵌入式操作系統(tǒng) μCOS-II,并自己構(gòu)建GUI環(huán)境,使得功能相對集中的控制,將軟件封裝在任務(wù)中,簡化了總體軟件結(jié)構(gòu)的復(fù)雜度,提高了系統(tǒng)的開發(fā)效率。

系統(tǒng)的功能模塊框圖可以簡化設(shè)計(jì)過程,貫穿于整個(gè)系統(tǒng)設(shè)計(jì)和調(diào)試的始終,使得設(shè)計(jì)思想清晰明白。整個(gè)系統(tǒng)分為主機(jī)子系統(tǒng)和從機(jī)子系統(tǒng),共用一套程序代碼,通過外圍電路的按鍵控制部分進(jìn)行模式的選擇。每個(gè)系統(tǒng)都是由TFTLCD顯示、無線發(fā)送或接收、控制器部分等功能模塊組成,都可以獨(dú)立進(jìn)行各自的顯示工作??刂破鞑糠种饕怯蒑CU和按鍵、LED、下載電路、電源等功能模塊組成。下面我們就硬件部分設(shè)計(jì)和軟件部分設(shè)計(jì)分別進(jìn)行介紹。

1 硬件設(shè)計(jì)

ARM Cortex-M3處理器是為存儲(chǔ)器和處理器的尺寸對產(chǎn)品成本影響極大的各種應(yīng)用專門開發(fā)設(shè)計(jì)的,它整合了多種技術(shù),減少使用內(nèi)存,并在極小的 RISC 內(nèi)核上提供低功耗和高性能。

目前市場上具有代表性的射頻收發(fā)芯片主要有Nordic公司的nRF系列、TI公司的CC系列與RFM公司的TR系列等,這些芯片在不同的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中都得到了應(yīng)用。其中由挪威 Nordic 公司推出的一款2.4GHz低成本的無線收發(fā)芯片nRF24L01 近年來得到了廣泛應(yīng)用,其最大空中數(shù)據(jù)傳輸速率達(dá)到 2Mbps,有 125個(gè)頻道,滿足本設(shè)計(jì)的要求,因此本文選擇它來設(shè)計(jì)通信模塊的無線收發(fā)電路,nRF24L01 主要是通過設(shè)置寄存器和對寄存器讀寫來控制其工作的。

本設(shè)計(jì)用的是電阻式觸摸屏,電阻式觸摸屏利用壓力感應(yīng)進(jìn)行控制。電阻觸摸屏的主要部分是一塊與顯示器表面非常配合的電阻薄膜屏,這是一種多層的復(fù)合薄膜。當(dāng)手指觸摸屏幕時(shí),兩層導(dǎo)電層在觸摸點(diǎn)位置就有了接觸,電阻發(fā)生變化,在X和Y兩個(gè)方向上產(chǎn)生信號(hào),然后送觸摸屏控制器??刂破鱾蓽y到這一接觸并計(jì)算出(X,Y)的位置,再根據(jù)獲得的位置模擬鼠標(biāo)的方式運(yùn)作。這就是電阻技術(shù)觸摸屏的最基本的原理。

TFTLCD模塊自帶的觸摸屏控制芯片為XPT2046。XPT2046是一款4導(dǎo)線制觸摸屏控制器,內(nèi)含12位分辨率125KHz轉(zhuǎn)換速率逐步逼近型A/D轉(zhuǎn)換器。XPT2046支持從1.5V到5.25V的低電壓I/O接口。XPT2046片內(nèi)集成有一個(gè)溫度傳感器。在2.7V的典型工作狀態(tài)下,關(guān)閉參考電壓,功耗可小于0.75mW。

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

隨著嵌入式系統(tǒng)應(yīng)用領(lǐng)域范圍日益廣泛,硬件系統(tǒng)性能的大幅度提高,使得操作系統(tǒng)的應(yīng)用成為可能。μCOS-II 是一種源碼公開、結(jié)構(gòu)緊湊、內(nèi)核可剝奪的實(shí)時(shí)嵌入式操作系統(tǒng)。通訊和系統(tǒng)的任務(wù)調(diào)度。μCOS-II V2.86 版本嵌入式操作系統(tǒng)的體系結(jié)構(gòu)中,內(nèi)核源代碼分為 3 個(gè)部分,硬件無關(guān)的內(nèi)核代碼、處理器相關(guān)的移植代碼、用戶配置文件。

“無線傳書”任務(wù)的軟件部分主要包括STM32控制程序和TFT觸摸顯示程序。STM32控制程序包括主機(jī)、從機(jī)的初始化程序,nRF24L01 無線發(fā)射、接收模塊的配置程序以及數(shù)據(jù)的發(fā)送、接收程序。nRF24L01 無線收發(fā)模塊的配置包括接收和發(fā)送數(shù)據(jù)地址、有效數(shù)據(jù)長度、數(shù)據(jù)傳輸速率、發(fā)射功率、工作通道頻率、接收數(shù)據(jù)通道等,注意相關(guān)參數(shù)接收模塊和發(fā)送模塊必須具有相同的配置。收發(fā)程序主要是對 SPI 的操作。

系統(tǒng)上電后控制器按照模式控制真值表將 nRF24L01 設(shè)置為配置模式。在上電初始化之后,配置模塊之前需要延遲一定的時(shí)間等待 nRF24L01 穩(wěn)定,然后進(jìn)行配置,使 nRF24L01 進(jìn)入待機(jī)模式。在配置寄存器時(shí),控制器首先需要將控制CSN的引腳拉低,其次寫入配置命令和對應(yīng)的配置字,最后將CSN 置高,這樣就完成了一次配置。

整個(gè)發(fā)送過程包括上電初始化程序、配置子程序以及數(shù)據(jù)采集發(fā)送子程序。本節(jié)主要介紹數(shù)據(jù)采集發(fā)送子程序部分。采集部分由STM32控制器對TFT觸摸屏上的觸摸點(diǎn)進(jìn)行定位而來。在程序開始時(shí)定義了一個(gè)容量為 32K bytes 的數(shù)組,采集完成的數(shù)據(jù)首先存放在數(shù)組中,然后將數(shù)據(jù)通過 SPI 口寫入 TX_FIFO。在程序中設(shè)置了一個(gè)循環(huán)標(biāo)志 i,當(dāng)循環(huán)次數(shù)為 16 時(shí)說明 32 字節(jié)數(shù)組存滿,這時(shí) nRF24L01的 TX_FIFO 寫滿。最后啟動(dòng)發(fā)射,將 CE 置高,并且時(shí)間要保持在 10μs 以上,無線模塊自動(dòng)發(fā)射數(shù)據(jù)。注意往 nRF24L01 寫數(shù)據(jù)時(shí),必須首先把 CSN 置低寫數(shù),并且在寫滿寄存器之前要一直拉低,否則在發(fā)送時(shí)要出錯(cuò)。發(fā)送完成后要清楚標(biāo)志位才能啟動(dòng)下一次發(fā)射。

當(dāng)接收部分上電以后同樣首先進(jìn)行初始化,然后對 nRF24L01初始化配置成接收模式,此時(shí) CE 置高等待接收。延遲 130μs 后nRF24L01 開始檢測接收數(shù)據(jù)。為了方便檢測把接收部分配置成產(chǎn)生 RX_DR 中斷,所以當(dāng)用示波器觀察時(shí)可以看到當(dāng)接收到一包數(shù)據(jù)后 IRQ 引腳會(huì)產(chǎn)生一個(gè)下降沿,此時(shí) RX_FIFO 把接收到的數(shù)據(jù)讀回單片機(jī),IRQ 信號(hào)作為接收部分的讀數(shù)中斷信號(hào)。同樣需要注意的是在讀取數(shù)據(jù)之前需將 CE 置低,模塊退出接收模式后才能讀取數(shù)據(jù);如果數(shù)據(jù)還未接收完畢,在讀數(shù)后要注意清除標(biāo)志位以便接收下一包數(shù)據(jù)。

猜你喜歡
觸摸屏電阻無線
《無線互聯(lián)科技》征稿詞(2021)
電阻大小誰做主
PLC和觸摸屏在衛(wèi)生間控制系統(tǒng)的應(yīng)用
無線追蹤3
巧測電阻
一種PP型無線供電系統(tǒng)的分析
電子制作(2018年19期)2018-11-14 02:36:42
皮膚“長”出觸摸屏
電阻焊
ADF7021-N在無線尋呼發(fā)射系統(tǒng)中的應(yīng)用
電子制作(2016年15期)2017-01-15 13:39:03
基于multisim13.0負(fù)電阻在電源中作用的仿真
五大连池市| 新建县| 图们市| 合川市| 信丰县| 文化| 富顺县| 临汾市| 阳信县| 澳门| 南昌县| 平罗县| 新沂市| 建瓯市| 宁化县| 滕州市| 平塘县| 江达县| 麻栗坡县| 陆河县| 修水县| 沭阳县| 涿鹿县| 富蕴县| 晴隆县| 淮阳县| 吐鲁番市| 永顺县| 明溪县| 拉萨市| 东辽县| 宜城市| 得荣县| 孟村| 内丘县| 集安市| 德州市| 聂拉木县| 绥阳县| 垫江县| 永修县|