基于SoC單片機的無線通信系統(tǒng)設計
0 引 言
數(shù)據(jù)采集是工業(yè)現(xiàn)場中應用最廣的技術之一.如工礦企業(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技術是當今超大規(guī)模集成電路的發(fā)展趨勢,它是一種高度集成化的系統(tǒng)集成技術,SoC從系統(tǒng)的整體功能及性能出發(fā),把微處理器和計算機常用的一些數(shù)字和模擬外設等全部放置在一塊芯片中,使它成為一個完整的數(shù)據(jù)采集與控制系統(tǒng)。 與傳統(tǒng)功能單一的MCU芯片相比,SoC不僅增加了多種功能,而且減少了體積,降低了功耗,提高了系統(tǒng)的抗電磁干擾性和可靠性等.
本文基于SoC設計了一種多通道數(shù)據(jù)采集系統(tǒng),能夠?qū)崟r的采集、顯示,并通過無線通信模塊,將采集的數(shù)據(jù)準確的傳到遠端的上位機中,利用上位機的軟件進行在線監(jiān)控.
1 硬件的組成結構及基本功能
本系統(tǒng)由核心控制模塊、無線通信模塊和用于在線監(jiān)控的PC機三部分組成.其系統(tǒng)結構如圖1所示.
核心控制模塊是基于凌陽實現(xiàn)的,其主要功能為:先將0~5v的電壓信號轉換成所能識別的0~3.3v的電壓信號,首先采集第一路的電壓信號,經(jīng)A/D轉換后,進行顯示,并將轉換后的值通過模擬的SPI口傳給.當把單片機傳過來的數(shù)據(jù)發(fā)射之后,相應的狀態(tài)指示燈閃爍.然后再采集第二路的電壓信號,進行A/D轉換,顯示等.
無線通信模塊采用的是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)最基本的功能之一是采集多路模擬信號并將其轉換為數(shù)字信號,因此需要選用具有多通道A/D轉換功能的微處理器CPU內(nèi)核.該系統(tǒng)采用的是凌陽公司生產(chǎn)的一款16位單片機SPCE061A.該芯片不僅在內(nèi)部已經(jīng)集成了8通道10位A/D轉換模塊,而且還具有如下特點:工作電壓為3.0~3.6 V;工作頻率為0.32~ 49.152 MHz;2 K 的 和32 K的FALSH ROM;32位可編程的多功能I/O 端口;2 個16位器/計數(shù)器;32 768 Hz實時時鐘;內(nèi)置自動增益控制功能的麥克風輸入方式;雙通道10位DAC方式的音頻輸出功能;通用異步全雙工串行通信接口;串行設備輸入輸出接口SIO,可與外圍設備進行串行數(shù)據(jù)通信等.該芯片不僅功耗低、工作電壓范圍大,且具有較高的處理速度[1]。此外,廠家提供的編程環(huán)境支持C語言和匯編語言的程序設計,以及C語言與匯編語言的混合編程,大大方便了用戶的程序設計,提高了系統(tǒng)開發(fā)效率.
核心控制模塊軟件流程如圖2所示,其中(a)為主程序(以兩路AD為例);(b)為一路AD轉換子程序.
2.1 A/D轉換
SPCE061A有8路可復用10位ADC通道,其中一路通道(MIC_IN)用于語音輸入,其余七路通道(_IN)和IOA0~IOA6引腳復用,用于將輸入的模擬信號轉化為數(shù)字信號,由于通常我們所采集的標準電壓信號是0~5V,而SPCE061A能夠轉換的電壓范圍只有0~3.3V,所以該系統(tǒng)通過采用分壓的方式把0~5V的電壓信號轉變成0~3.3V的電壓信號.
2.2 顯示
通過擴展輸出口,交替的顯示多路電壓值,在每一次的顯示當中,都會顯示相應的路數(shù)和電壓值.
2.3 模擬SPI口通信
由于PTR8000的接口是SPI口,而SPCE061A沒有標準的SPI口,只能通過模擬SPI口來實現(xiàn)數(shù)據(jù)的傳輸.而模擬SPI口的關鍵點在于模擬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 上位機軟件的應用
當PC機接收數(shù)據(jù)時,通過串口精靈可以顯示轉換的電壓值,但是不直觀。鑒于此,該系統(tǒng)用VC編了一個串口通訊程序,可移植性強.
5 數(shù)據(jù)采集與分析
由于電壓采集模塊本身具有一定的阻值,所以采集的電壓值小于實際的電壓值,本系統(tǒng)利用軟件,將采集的電壓值乘以一個系數(shù)(多次實驗結果為1.03),使采集的電壓接近實際的電壓值.由于篇幅有限,這里僅以第一路采集的電壓為例,如表1所示.
表1 A/D轉換對照表 電壓單位:v 時間單位:s
進入配置模式
圖3 接收模塊流程圖
6 結束語
本系統(tǒng)通過對凌陽單片機SPCE061A和Nordic公司生產(chǎn)的PTR8000無線通信模塊的應用,設計出了一套多路數(shù)據(jù)采集及無線傳輸?shù)耐ㄐ畔到y(tǒng).該系統(tǒng)功耗低、體積小、運行可靠.本文敘述了數(shù)據(jù)采集的基本和原理,并用0~5V的信號完成了模擬實驗,實際應用中,來源于.