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