基于SoC單片機(jī)的無線通信系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引 言
數(shù)據(jù)采集是工業(yè)現(xiàn)場中應(yīng)用最廣的技術(shù)之一.如工礦企業(yè)等用電單位在生產(chǎn)時(shí),需要實(shí)時(shí)監(jiān)測電網(wǎng)中的電壓值;化工部門在生產(chǎn)時(shí)需要實(shí)時(shí)監(jiān)測物質(zhì)的溫度、壓力、流量變化;交管部門在管理當(dāng)中需要實(shí)時(shí)監(jiān)控交通燈、路燈是否正常工作等.若依靠人工到現(xiàn)場采集數(shù)據(jù),針對不同的部門會(huì)存在不同的問題:對于監(jiān)測電壓、溫度、壓力等部門會(huì)面臨現(xiàn)場環(huán)境比較惡劣,人工記錄會(huì)出現(xiàn)一定的誤差,且費(fèi)時(shí)、費(fèi)力等問題;對于遠(yuǎn)距離采集數(shù)據(jù)的部門若通過有線方式把采集的數(shù)據(jù)傳到監(jiān)控室中的上位機(jī),成本會(huì)比較高.
SoC技術(shù)是當(dāng)今超大規(guī)模集成電路的發(fā)展趨勢,它是一種高度集成化的系統(tǒng)集成技術(shù),SoC從系統(tǒng)的整體功能及性能出發(fā),把微處理器和計(jì)算機(jī)常用的一些數(shù)字和模擬外設(shè)等全部放置在一塊芯片中,使它成為一個(gè)完整的數(shù)據(jù)采集與控制系統(tǒng)。 與傳統(tǒng)功能單一的MCU芯片相比,SoC不僅增加了多種功能,而且減少了體積,降低了功耗,提高了系統(tǒng)的抗電磁干擾性和可靠性等.
本文基于SoC設(shè)計(jì)了一種多通道數(shù)據(jù)采集系統(tǒng),能夠?qū)崟r(shí)的采集、顯示,并通過無線通信模塊,將采集的數(shù)據(jù)準(zhǔn)確的傳到遠(yuǎn)端的上位機(jī)中,利用上位機(jī)的軟件進(jìn)行在線監(jiān)控.
1 硬件的組成結(jié)構(gòu)及基本功能
本系統(tǒng)由核心控制模塊、無線通信模塊和用于在線監(jiān)控的PC機(jī)三部分組成.其系統(tǒng)結(jié)構(gòu)如圖1所示.
核心控制模塊是基于凌陽實(shí)現(xiàn)的,其主要功能為:先將0~5v的電壓信號轉(zhuǎn)換成所能識(shí)別的0~3.3v的電壓信號,首先采集第一路的電壓信號,經(jīng)A/D轉(zhuǎn)換后,進(jìn)行顯示,并將轉(zhuǎn)換后的值通過模擬的SPI口傳給.當(dāng)把單片機(jī)傳過來的數(shù)據(jù)發(fā)射之后,相應(yīng)的狀態(tài)指示燈閃爍.然后再采集第二路的電壓信號,進(jìn)行A/D轉(zhuǎn)換,顯示等.
無線通信模塊采用的是Nordic公司生產(chǎn)的PTR8000,通過PTR8000,可以將現(xiàn)場采集的多路電壓值傳送到監(jiān)控室,實(shí)現(xiàn)數(shù)據(jù)的無線通信.
PC機(jī)負(fù)責(zé)接收、處理傳過來的數(shù)據(jù),通過VC所編的上位機(jī)軟件進(jìn)行在線監(jiān)控.
圖1 無線通信系統(tǒng)框圖
2 核心控制模塊的實(shí)現(xiàn)
由于該系統(tǒng)最基本的功能之一是采集多路模擬信號并將其轉(zhuǎn)換為數(shù)字信號,因此需要選用具有多通道A/D轉(zhuǎn)換功能的微處理器CPU內(nèi)核.該系統(tǒ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 的 和32 K的FALSH ROM;32位可編程的多功能I/O 端口;2 個(gè)16位器/計(jì)數(shù)器;32 768 Hz實(shí)時(shí)時(shí)鐘;內(nèi)置自動(dòng)增益控制功能的麥克風(fēng)輸入方式;雙通道10位DAC方式的音頻輸出功能;通用異步全雙工串行通信接口;串行設(shè)備輸入輸出接口SIO,可與外圍設(shè)備進(jìn)行串行數(shù)據(jù)通信等.該芯片不僅功耗低、工作電壓范圍大,且具有較高的處理速度[1]。此外,廠家提供的編程環(huán)境支持C語言和匯編語言的程序設(shè)計(jì),以及C語言與匯編語言的混合編程,大大方便了用戶的程序設(shè)計(jì),提高了系統(tǒng)開發(fā)效率.
核心控制模塊軟件流程如圖2所示,其中(a)為主程序(以兩路AD為例);(b)為一路AD轉(zhuǎn)換子程序.
2.1 A/D轉(zhuǎn)換
SPCE061A有8路可復(fù)用10位ADC通道,其中一路通道(MIC_IN)用于語音輸入,其余七路通道(_IN)和IOA0~IOA6引腳復(fù)用,用于將輸入的模擬信號轉(zhuǎn)化為數(shù)字信號,由于通常我們所采集的標(biāo)準(zhǔn)電壓信號是0~5V,而SPCE061A能夠轉(zhuǎn)換的電壓范圍只有0~3.3V,所以該系統(tǒng)通過采用分壓的方式把0~5V的電壓信號轉(zhuǎn)變成0~3.3V的電壓信號.
2.2 顯示
通過擴(kuò)展輸出口,交替的顯示多路電壓值,在每一次的顯示當(dāng)中,都會(huì)顯示相應(yīng)的路數(shù)和電壓值.
2.3 模擬SPI口通信
由于PTR8000的接口是SPI口,而SPCE061A沒有標(biāo)準(zhǔn)的SPI口,只能通過模擬SPI口來實(shí)現(xiàn)數(shù)據(jù)的傳輸.而模擬SPI口的關(guān)鍵點(diǎn)在于模擬SPI的讀寫時(shí)序,單片機(jī)只有在正確的時(shí)序下對PTR8000進(jìn)行配置后,PTR8000才能正常工作。其讀寫時(shí)序?yàn)椋寒?dāng)CSN從高電平變?yōu)榈碗娖綍r(shí),SPI口開始等待一條指令,當(dāng)SCK從高電平變?yōu)榈碗娖綍r(shí),單片機(jī)往PTR8000中寫或者從中讀取一位數(shù)據(jù).
圖2 核心控制模塊流程圖
3 無線通信模塊的實(shí)現(xiàn)
無線通信模塊采用的是Nordic公司生產(chǎn)的PTR8000.該芯片具有三大功能模塊:模式控制(TX_EN、TRX_CE、PWR);SPI接口(CSN、SCK、MOSI、MISO);狀態(tài)輸出接口(CD、AM、DR).在配置模式下,單片機(jī)通過SPI接口配置PTR8000的工作參數(shù).在發(fā)射/接收模式下,單片機(jī)通過SPI接口發(fā)射和接收數(shù)據(jù)[3]。并通過DR的輸出狀態(tài)來檢測是否發(fā)射/接收成功,由于篇幅有限,這里只給出接收端的流程,如圖3所示.
4 上位機(jī)軟件的應(yīng)用
當(dāng)PC機(jī)接收數(shù)據(jù)時(shí),通過串口精靈可以顯示轉(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)換對照表 電壓單位:v 時(shí)間單位:s
進(jìn)入配置模式
圖3 接收模塊流程圖
6 結(jié)束語
本系統(tǒng)通過對凌陽單片機(jī)SPCE061A和Nordic公司生產(chǎn)的PTR8000無線通信模塊的應(yīng)用,設(shè)計(jì)出了一套多路數(shù)據(jù)采集及無線傳輸?shù)耐ㄐ畔到y(tǒng).該系統(tǒng)功耗低、體積小、運(yùn)行可靠.本文敘述了數(shù)據(jù)采集的基本和原理,并用0~5V的信號完成了模擬實(shí)驗(yàn),實(shí)際應(yīng)用中,來源于.