基于SoC單片機(jī)的無(wú)線通信系統(tǒng)設(shè)計(jì)
摘要:本文結(jié)合凌陽(yáng)單片機(jī)SPCE061A和無(wú)線通信模塊PTR8000的特點(diǎn),設(shè)計(jì)出了數(shù)據(jù)無(wú)線傳輸?shù)耐ㄐ?a class="contentlabel" href="http://2s4d.com/news/listbylabel/label/系統(tǒng)">系統(tǒng).從系統(tǒng)的組成結(jié)構(gòu)出發(fā),分析了各個(gè)模塊的基本功能及如何實(shí)現(xiàn).在此基礎(chǔ)上設(shè)計(jì)了上位機(jī)接收數(shù)據(jù)的監(jiān)控軟件,并給出了部分采集的數(shù)據(jù)及分析結(jié)果.
關(guān)鍵詞:SPCE061A; PTR8000;無(wú)線通信Wuhan ,430081,Hubei Province)
Abstract: Combined with the characters of SPCE061A Singlechip and wireless communication model PTR8000 , the wireless communication system is introduced in this paper, which starts with the system structure, then analyzes the basic function of every model and how to realize them . Furthermore, the monitor software system is designed and the acquired data and the analysis results are given.
Keywords: SPCE061A; PTR8000; wireless communication.
0 引 言
數(shù)據(jù)采集是工業(yè)現(xiàn)場(chǎng)中應(yīng)用最廣的技術(shù)之一.如工礦企業(yè)等用電單位在生產(chǎn)時(shí),需要實(shí)時(shí)監(jiān)測(cè)電網(wǎng)中的電壓值;化工部門在生產(chǎn)時(shí)需要實(shí)時(shí)監(jiān)測(cè)物質(zhì)的溫度、壓力、流量變化;交管部門在管理當(dāng)中需要實(shí)時(shí)監(jiān)控交通燈、路燈是否正常工作等.若依靠人工到現(xiàn)場(chǎng)采集數(shù)據(jù),針對(duì)不同的部門會(huì)存在不同的問(wèn)題:對(duì)于監(jiān)測(cè)電壓、溫度、壓力等部門會(huì)面臨現(xiàn)場(chǎng)環(huán)境比較惡劣,人工記錄會(huì)出現(xiàn)一定的誤差,且費(fèi)時(shí)、費(fèi)力等問(wèn)題;對(duì)于遠(yuǎn)距離采集數(shù)據(jù)的部門若通過(guò)有線方式把采集的數(shù)據(jù)傳到監(jiān)控室中的上位機(jī),成本會(huì)比較高.
SoC技術(shù)是當(dāng)今超大規(guī)模集成電路的發(fā)展趨勢(shì),它是一種高度集成化的系統(tǒng)集成技術(shù),SoC從系統(tǒng)的整體功能及性能出發(fā),把微處理器和計(jì)算機(jī)常用的一些數(shù)字和模擬外設(shè)等全部放置在一塊芯片中,使它成為一個(gè)完整的數(shù)據(jù)采集與控制系統(tǒng)。 與傳統(tǒng)功能單一的MCU芯片相比,SoC不僅增加了多種功能,而且減少了體積,降低了功耗,提高了系統(tǒng)的抗電磁干擾性和可靠性等.
本文基于SoC單片機(jī)SPCE061A設(shè)計(jì)了一種多通道數(shù)據(jù)采集系統(tǒng),能夠?qū)崟r(shí)的采集、顯示,并通過(guò)無(wú)線通信模塊PTR8000,將采集的數(shù)據(jù)準(zhǔn)確的傳到遠(yuǎn)端的上位機(jī)中,利用上位機(jī)的軟件進(jìn)行在線監(jiān)控.
1 硬件的組成結(jié)構(gòu)及基本功能
本系統(tǒng)由核心控制模塊、無(wú)線通信模塊和用于在線監(jiān)控的PC機(jī)三部分組成.其系統(tǒng)結(jié)構(gòu)如圖1所示.
核心控制模塊是基于凌陽(yáng)單片機(jī)SPCE061A實(shí)現(xiàn)的,其主要功能為:先將0~5v的電壓信號(hào)轉(zhuǎn)換成SPCE061A所能識(shí)別的0~3.3v的電壓信號(hào),單片機(jī)首先采集第一路的電壓信號(hào),經(jīng)A/D轉(zhuǎn)換后,進(jìn)行LED顯示,并將轉(zhuǎn)換后的值通過(guò)模擬的SPI口傳給PTR8000.當(dāng)PTR8000把單片機(jī)傳過(guò)來(lái)的數(shù)據(jù)發(fā)射之后,相應(yīng)的狀態(tài)指示燈閃爍.然后再采集第二路的電壓信號(hào),進(jìn)行A/D轉(zhuǎn)換,LED顯示等.
無(wú)線通信模塊采用的是Nordic公司生產(chǎn)的PTR8000,通過(guò)PTR8000,可以將現(xiàn)場(chǎng)采集的多路電壓值傳送到監(jiān)控室,實(shí)現(xiàn)數(shù)據(jù)的無(wú)線通信.
PC機(jī)負(fù)責(zé)接收、處理傳過(guò)來(lái)的數(shù)據(jù),通過(guò)VC所編的上位機(jī)軟件進(jìn)行在線監(jiān)控.
圖1 無(wú)線通信系統(tǒng)框圖
2 核心控制模塊的實(shí)現(xiàn)
由于該系統(tǒng)最基本的功能之一是采集多路模擬信號(hào)并將其轉(zhuǎn)換為數(shù)字信號(hào),因此需要選用具有多通道A/D轉(zhuǎn)換功能的微處理器CPU內(nèi)核.該系統(tǒng)采用的是凌陽(yáng)公司生產(chǎn)的一款16位單片機(jī)SPCE061A.該芯片不僅在內(nèi)部已經(jīng)集成了8通道10位A/D轉(zhuǎn)換模塊,而且還具有如下特點(diǎn):工作電壓為3.0~3.6 V;工作頻率為0.32~ 49.152 MHz;2 K 的SRAM 和32 K的FALSH ROM;32位可編程的多功能I/O 端口;2 個(gè)16位定時(shí)器/計(jì)數(shù)器;32 768 Hz實(shí)時(shí)時(shí)鐘;內(nèi)置自動(dòng)增益控制功能的麥克風(fēng)輸入方式;雙通道10位DAC方式的音頻輸出功能;通用異步全雙工串行通信接口UART;串行設(shè)備輸入輸出接口SIO,可與外圍設(shè)備進(jìn)行串行數(shù)據(jù)通信等.該芯片不僅功耗低、工作電壓范圍大,且具有較高的處理速度[1]。此外,廠家提供的編程環(huán)境支持C語(yǔ)言和匯編語(yǔ)言的程序設(shè)計(jì),以及C語(yǔ)言與匯編語(yǔ)言的混合編程,大大方便了用戶的程序設(shè)計(jì),提高了系統(tǒng)開(kāi)發(fā)效率.
核心控制模塊軟件流程如圖2所示,其中(a)為主程序(以兩路AD為例);(b)為一路AD轉(zhuǎn)換子程序.
2.1 A/D轉(zhuǎn)換
SPCE061A有8路可復(fù)用10位ADC通道,其中一路通道(MIC_IN)用于語(yǔ)音輸入,其余七路通道(Line_IN)和IOA0~IOA6引腳復(fù)用,用于將輸入的模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),由于通常我們所采集的標(biāo)準(zhǔn)電壓信號(hào)是0~5V,而SPCE061A能夠轉(zhuǎn)換的電壓范圍只有0~3.3V,所以該系統(tǒng)通過(guò)采用分壓的方式把0~5V的電壓信號(hào)轉(zhuǎn)變成0~3.3V的電壓信號(hào).
2.2 LED顯示
通過(guò)CD4511擴(kuò)展輸出口,數(shù)碼管交替的顯示多路電壓值,在每一次的顯示當(dāng)中,都會(huì)顯示相應(yīng)的路數(shù)和電壓值.
2.3 模擬SPI口通信
由于PTR8000的接口是SPI口,而SPCE061A沒(méi)有標(biāo)準(zhǔn)的SPI口,只能通過(guò)模擬SPI口來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳輸.而模擬SPI口的關(guān)鍵點(diǎn)在于模擬SPI的讀寫(xiě)時(shí)序,單片機(jī)只有在正確的時(shí)序下對(duì)PTR8000進(jìn)行配置后,PTR8000才能正常工作。其讀寫(xiě)時(shí)序?yàn)椋寒?dāng)CSN從高電平變?yōu)榈碗娖綍r(shí),SPI口開(kāi)始等待一條指令,當(dāng)SCK從高電平變?yōu)榈碗娖綍r(shí),單片機(jī)往PTR8000中寫(xiě)或者從中讀取一位數(shù)據(jù).
圖2 核心控制模塊流程圖
3 無(wú)線通信模塊的實(shí)現(xiàn)
無(wú)線通信模塊采用的是Nordic公司生產(chǎn)的PTR8000.該芯片具有三大功能模塊:模式控制(TX_EN、TRX_CE、PWR);SPI接口(CSN、SCK、MOSI、MISO);狀態(tài)輸出接口(CD、AM、DR).在配置模式下,單片機(jī)通過(guò)SPI接口配置PTR8000的工作參數(shù).在發(fā)射/接收模式下,單片機(jī)通過(guò)SPI接口發(fā)射和接收數(shù)據(jù)[3]。并通過(guò)DR的輸出狀態(tài)來(lái)檢測(cè)是否發(fā)射/接收成功,由于篇幅有限,這里只給出接收端的流程,如圖3所示.
4 上位機(jī)軟件的應(yīng)用
當(dāng)PC機(jī)接收數(shù)據(jù)時(shí),通過(guò)串口精靈可以顯示轉(zhuǎn)換的電壓值,但是不直觀。鑒于此,該系統(tǒng)用VC編了一個(gè)串口通訊程序,可移植性強(qiáng).
5 數(shù)據(jù)采集與分析
由于電壓采集模塊本身具有一定的阻值,所以采集的電壓值小于實(shí)際的電壓值,本系統(tǒng)利用軟件,將采集的電壓值乘以一個(gè)系數(shù)(多次實(shí)驗(yàn)結(jié)果為1.03),使采集的電壓接近實(shí)際的電壓值.由于篇幅有限,這里僅以第一路采集的電壓為例,如表1所示.
表1 A/D轉(zhuǎn)換對(duì)照表 電壓?jiǎn)挝唬簐 時(shí)間單位:s
| 0 | 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | ||||||||
實(shí)際電壓 | 4.982 | 4.472 | 4.040 | 3.464 | 2.992 | 2.504 | 1.990 | 1.538 | 0.996 | ||||||||
顯示電壓 | 5.0 | 4.5 | 4.0 | 3.5 | 3.0 | 2.5 | 2.0 | 1.5 | 1.0 | ||||||||
接收電壓 | 4.98 | 4.47 | 4.03 | 3.46 | 2.99 | 2.50 | 1.98 | 1.53 | 0.99 |
進(jìn)入配置模式 |
圖3 接收模塊流程圖
6 結(jié)束語(yǔ)
本系統(tǒng)通過(guò)對(duì)凌陽(yáng)單片機(jī)SPCE061A和Nordic公司生產(chǎn)的PTR8000無(wú)線通信模塊的應(yīng)用,設(shè)計(jì)出了一套多路數(shù)據(jù)采集及無(wú)線傳輸?shù)耐ㄐ畔到y(tǒng).該系統(tǒng)功耗低、體積小、運(yùn)行可靠.本文敘述了數(shù)據(jù)采集的基本控制電路和原理,并用0~5V的信號(hào)完成了模擬實(shí)驗(yàn),實(shí)際應(yīng)用中,來(lái)源于傳感器.
參考文獻(xiàn):
[1] 羅亞非等編著.凌陽(yáng)16位單片機(jī)應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2005
[2] 陳偉,陳法國(guó),王世勛.無(wú)線數(shù)據(jù)通信技術(shù)在TPMS中的應(yīng)用.武漢理工大學(xué)報(bào)[J],
2005, 27:241~244
[3] PTR8000.pdf.訊通科技.www.freqchina.com
[4] nRF905.pdf.訊通科技.www.freqchina.com
[5] 丁立波,江小華,張河.基于無(wú)線數(shù)字傳輸技術(shù)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì).無(wú)線發(fā)送/接收IC芯片及其數(shù)據(jù)通訊技術(shù)選編(2)[M]:168~171
[6] 任興明. 單片機(jī)在數(shù)據(jù)采集和監(jiān)控通訊終端中的運(yùn)用[J]. 微計(jì)算機(jī)信息,2001
創(chuàng)新點(diǎn):基于SoC系列單片機(jī)SPCE061A設(shè)計(jì)了一種多通道數(shù)據(jù)采集及無(wú)線通信系統(tǒng),該系統(tǒng)功耗低、體積小、電路結(jié)構(gòu)簡(jiǎn)單,傳輸數(shù)據(jù)的誤碼率低
評(píng)論