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