摘要:以PIC單片機(jī)和CC1000為核心器件,設(shè)計(jì)并實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳輸發(fā)射機(jī);介紹PIC16C73芯片和CC1000芯片的性能,詳細(xì)討論發(fā)射機(jī)的硬件和軟件系統(tǒng)設(shè)計(jì)并予以實(shí)現(xiàn)。
本文介紹以PIC16C73和CC1000為基本部件,設(shè)計(jì)并實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳輸發(fā)射機(jī)的過(guò)程。
1 PIC16C73及CC1000簡(jiǎn)介
PIC16C73是Microchip公司生產(chǎn)的一種高性價(jià)比的8位嵌入式微控制器。CC1000是為在無(wú)線條件下應(yīng)用所設(shè)計(jì)的一種極低功率單芯片射頻收發(fā)器。它主要是為315、433、868和915MHz的ISM和SRD設(shè)備所設(shè)計(jì),可以編程工作在300~1000MHz范圍之間的任一頻率上。它具有極低的電流消耗、高靈敏度、體積小、低供電電壓、FSK數(shù)據(jù)傳輸率可達(dá)76.8kbps、FSK調(diào)制頻譜修正等特點(diǎn),它還為用戶提供了簡(jiǎn)單易用的開(kāi)發(fā)包。使用CC1000芯片設(shè)計(jì)電路簡(jiǎn)單,不需要使用極少的外部元件、不需要外部射頻轉(zhuǎn)換和中頻濾波器。
2 系統(tǒng)設(shè)計(jì)
本無(wú)線數(shù)據(jù)傳輸發(fā)射機(jī)框圖如圖1所示。
圖中,PIC16C73接收數(shù)字或模擬信號(hào),經(jīng)過(guò)緩存、組幀后,將數(shù)據(jù)傳送到射頻發(fā)射機(jī),由CC1000實(shí)現(xiàn)FSK調(diào)制后發(fā)射出去。
本設(shè)計(jì)中PIC16C73的振蕩周期為4MHz,指令周期為1μs。CC1000工作在發(fā)射狀態(tài),發(fā)射頻率306.874457MHz,頻偏64kHz,速率7638Kbps,發(fā)射功率10dBm。發(fā)射數(shù)據(jù)采用自定義幀格式,其格式為:
4字節(jié)位同步字—0AAH,0AAH,0AAH,0AAH;
2字節(jié)幀同步字(3位0加13位巴克碼)—1FH,35H;
1字節(jié)地址或命令;
50字節(jié)數(shù)據(jù)。
上述57字節(jié)組成一幀,每?jī)蓭g間隔為8.25ms。
3 硬件設(shè)計(jì)
單片機(jī)PCI16C73與CC1000的連接如圖2所示。
單片機(jī)通過(guò)對(duì)3-wire串行設(shè)置接口(PDATA,PCLK和PALE)編程,使CC1000處在不同工作模式下。為實(shí)現(xiàn)數(shù)據(jù)回讀,PDATA必須使能雙向引腳,另一個(gè)雙向引腳被用來(lái)實(shí)現(xiàn)數(shù)據(jù)(DIO)的發(fā)送和接收。提供數(shù)據(jù)定位的位置寄存器,完全設(shè)置CC1000需要發(fā)送29個(gè)16位的數(shù)據(jù)幀(7位地址位、1位讀/寫(xiě)位和8位數(shù)據(jù)位)。
在每個(gè)寫(xiě)循環(huán)中,編程數(shù)據(jù)PDATA線上都發(fā)送16位數(shù)據(jù),每個(gè)數(shù)據(jù)幀中前7位為地址位,下一位是讀/寫(xiě)位(高電平寫(xiě),低電平讀),后8位是數(shù)據(jù)。在地址和讀/寫(xiě)位傳送過(guò)程中,程序地址鎖存器使能PALE線必須保持低電平,然后傳送8位數(shù)據(jù)位。PDATA上的數(shù)據(jù)同步在編程時(shí)鐘PCLK的負(fù)沿完成。當(dāng)D0,即8位數(shù)據(jù)位的最后一位已經(jīng)載入時(shí),數(shù)據(jù)就會(huì)被載入內(nèi)部設(shè)置寄存器,時(shí)序如圖3所示。
這些設(shè)置寄存器也可被單片機(jī)通過(guò)同樣的設(shè)置接口讀取。7位地址首先被發(fā)送,然后讀/寫(xiě)位被置為低來(lái),開(kāi)始數(shù)據(jù)回讀,時(shí)序如圖4所示。
4 軟件設(shè)計(jì)
4.1 總體流程圖
軟件采用模塊化程序設(shè)計(jì)方法,圖5是總體流程。
4.2 初始化
初始化是一項(xiàng)十分重要的工作,需要分別對(duì)PIC16C73和CC1000兩個(gè)芯片進(jìn)行初始化。由于本設(shè)計(jì)中要完成PC機(jī)與PIC之間的異步通信和PIC的模/數(shù)據(jù)換功能,所以除了PIC16C73的各個(gè)PORT端口外,還應(yīng)對(duì)串行通信接口SCI部件和A/D轉(zhuǎn)換部件等進(jìn)行初始化。在單片機(jī)初始化完成后,通過(guò)它對(duì)CC1000進(jìn)行初始化,使其工作在發(fā)射模式,其流程如圖6所示。
4.3 中斷服務(wù)子程序設(shè)計(jì)
PIC16C73有多達(dá)11種中斷源,本設(shè)計(jì)使用了其中的SCI異步接收中斷和A/D轉(zhuǎn)換完成中斷。初始化工作完成后,當(dāng)單片機(jī)通過(guò)SCI接收完一字節(jié)數(shù)據(jù)后就會(huì)產(chǎn)生SCI接收中斷,另外,當(dāng)單片機(jī)完成一次A/D后也會(huì)產(chǎn)生中斷。在產(chǎn)品中斷后,程序即進(jìn)入中斷服務(wù)子程序,要完成數(shù)據(jù)的緩存、緩存管理及組幀、數(shù)據(jù)傳送工作。
圖6
緩存管理的目的是使用者能夠清楚地知道當(dāng)前存儲(chǔ)數(shù)據(jù)和發(fā)送數(shù)據(jù)的進(jìn)程。具體實(shí)現(xiàn)方法是在PIC16C73通用寄存器里開(kāi)辟一個(gè)數(shù)據(jù)緩存區(qū),由50個(gè)寄存器組成,同時(shí)自定義收發(fā)數(shù)據(jù)計(jì)數(shù)器RX_IF0和TX_IF0.RX_IF0是接收數(shù)據(jù)計(jì)數(shù)器,其中存放的值表示PIC16C73接收到第幾個(gè)數(shù)據(jù),每接收到一個(gè)數(shù)據(jù),就將RX_IF0加1,同時(shí)寄存器地址加1,以便接收下一個(gè)數(shù)據(jù)。當(dāng)RX_IF0的值等于50時(shí)表示接收完一幀數(shù)據(jù)。TX_IF0是發(fā)送數(shù)據(jù)計(jì)數(shù)器,其中存在的值表示PIC16C73向CC1000發(fā)送了幾個(gè)數(shù)據(jù),PIC每發(fā)送完一個(gè)數(shù)據(jù),就把TX_IF0加1。同時(shí)寄存器地址加1,以便發(fā)送下一個(gè)數(shù)據(jù)。TX_IF0等于50時(shí),表示已發(fā)送完一幀數(shù)據(jù)。中斷服務(wù)子程序流程如圖7所示。
編寫(xiě)的程序經(jīng)過(guò)調(diào)試,通過(guò)編譯生成機(jī)器碼,將其寫(xiě)入PIC,再將PIC嵌入發(fā)射機(jī)電路,連接正確后,經(jīng)過(guò)調(diào)試達(dá)到了無(wú)線發(fā)射機(jī)的功效。
- 射機(jī)設(shè)計(jì)(5233)
相關(guān)推薦
數(shù)據(jù)傳輸指令
無(wú)線數(shù)據(jù)傳輸pm103
無(wú)線數(shù)據(jù)傳輸u***/232/485模塊
無(wú)線數(shù)據(jù)傳輸傳送收發(fā)遙控器
無(wú)線數(shù)據(jù)傳輸是什么?
無(wú)線數(shù)據(jù)傳輸模塊的實(shí)際應(yīng)用
無(wú)線數(shù)據(jù)傳輸系統(tǒng)的低功耗怎么實(shí)現(xiàn)?
DMA進(jìn)行數(shù)據(jù)傳輸和CPU進(jìn)行數(shù)據(jù)傳輸的疑問(wèn)
GPRS數(shù)據(jù)傳輸模塊硬件設(shè)計(jì)與軟件系統(tǒng)
TTL數(shù)傳模塊 高性能的無(wú)線透明數(shù)據(jù)傳輸模塊 433
stm32的幾種數(shù)據(jù)傳輸總結(jié)
【OK210申請(qǐng)】無(wú)線數(shù)據(jù)傳輸模塊設(shè)計(jì)
一種井下礦人員設(shè)備定位數(shù)據(jù)傳輸無(wú)線識(shí)別裝置
一種低功耗的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)
兩個(gè)PIC18F之間的無(wú)線P2P數(shù)據(jù)傳輸
關(guān)于數(shù)據(jù)傳輸接口
具有波特率自適應(yīng)功能的無(wú)線數(shù)據(jù)傳輸模塊設(shè)計(jì)怎么實(shí)現(xiàn)?
圖像數(shù)據(jù)傳輸卡的實(shí)現(xiàn)方法是什么?
基于ARM的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于RF芯片IA4420的無(wú)線數(shù)據(jù)傳輸應(yīng)用
基于單片機(jī)和GPRS模塊的嵌入式無(wú)線數(shù)據(jù)傳輸終端的實(shí)現(xiàn)方案
如何利用TH-UWB02超寬帶發(fā)射芯片實(shí)現(xiàn)超寬帶窄脈沖發(fā)射機(jī)電路?
如何去實(shí)現(xiàn)一種無(wú)線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)?
如何去構(gòu)建一種基于單片機(jī)的點(diǎn)對(duì)點(diǎn)無(wú)線數(shù)據(jù)傳輸系統(tǒng)
工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)傳輸
怎么實(shí)現(xiàn)基于CDMA的移動(dòng)無(wú)線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)?
新人求助 基于單片機(jī)的無(wú)線數(shù)據(jù)傳輸問(wèn)題
最大發(fā)射功率為500wm的無(wú)線數(shù)據(jù)傳輸模塊 wm901
求救!如何用PIC單片機(jī)實(shí)現(xiàn)GPRS模塊進(jìn)行數(shù)據(jù)傳輸
短距離無(wú)線數(shù)據(jù)傳輸系統(tǒng)怎么設(shè)計(jì)?
請(qǐng)問(wèn)怎樣去設(shè)計(jì)短距離無(wú)線數(shù)據(jù)傳輸系統(tǒng)?
高性能MCU和nRF24L01怎么實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳輸?
4G全網(wǎng)通數(shù)據(jù)傳輸模塊
基于PIC 的無(wú)線數(shù)據(jù)傳輸發(fā)射機(jī)設(shè)計(jì)

AT89C51單片機(jī)在無(wú)線數(shù)據(jù)傳輸中的應(yīng)用

AT89C51單片機(jī)在無(wú)線數(shù)據(jù)傳輸中的應(yīng)用

基于PIC的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

基于SMTP的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

基于USB接口的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

基于PC 機(jī)的無(wú)線水文信息數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

基于ARM的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

一種壓力傳感器的無(wú)線數(shù)據(jù)傳輸裝置的設(shè)計(jì)


什么是內(nèi)部數(shù)據(jù)傳輸率

IDE數(shù)據(jù)傳輸模式

Modem數(shù)據(jù)傳輸標(biāo)準(zhǔn)

RAID卡的數(shù)據(jù)傳輸速度

什么是U盤的數(shù)據(jù)傳輸率

基于SPI總線的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)


數(shù)據(jù)傳輸,數(shù)據(jù)傳輸的工作方式有哪些?

數(shù)據(jù)傳輸速率是什么意思

數(shù)據(jù)傳輸中的成幀

#硬聲創(chuàng)作季 網(wǎng)絡(luò)技術(shù)與應(yīng)用實(shí)驗(yàn):4.1-1無(wú)線數(shù)據(jù)傳輸



基于nRF24L01和PIC16F877無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)


基于RFID技術(shù)的礦用無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

Li-Fi無(wú)線數(shù)據(jù)傳輸技術(shù)

單工無(wú)線呼叫及數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)


基于CC1100的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

基于nRF2401的無(wú)線數(shù)據(jù)傳輸系統(tǒng)

無(wú)線數(shù)據(jù)傳輸芯片CC1100在智能無(wú)線遠(yuǎn)傳水表中的應(yīng)用

袖珍發(fā)射機(jī)設(shè)計(jì)資料

無(wú)線數(shù)據(jù)傳輸系統(tǒng)及自適應(yīng)濾波器的設(shè)計(jì)_賀遠(yuǎn)

WNS無(wú)線數(shù)據(jù)傳輸模塊

MSP430無(wú)線數(shù)據(jù)傳輸模塊設(shè)計(jì)詳析

CC2500如何實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳輸?(2)

CC2500如何實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳輸?(3)

如何實(shí)現(xiàn)CC2500無(wú)線數(shù)據(jù)傳輸?(1)

單片機(jī)的無(wú)線數(shù)據(jù)傳輸程序免費(fèi)下載

一種新型的無(wú)線能量數(shù)據(jù)傳輸系統(tǒng)

無(wú)線數(shù)據(jù)傳輸模塊的功能特點(diǎn)

SPI數(shù)據(jù)傳輸有哪些方式


自動(dòng)氣象站:無(wú)線數(shù)據(jù)傳輸、多場(chǎng)景應(yīng)用

嵌入式GPRS無(wú)線數(shù)據(jù)傳輸系統(tǒng)實(shí)現(xiàn)及應(yīng)用

基于GPRS的無(wú)線數(shù)據(jù)傳輸系統(tǒng)的研究與設(shè)計(jì)

基于GPRS的嵌入式無(wú)線數(shù)據(jù)傳輸終端的設(shè)計(jì)

基于ARM與GPRS的無(wú)線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)

基于GPRS的無(wú)線數(shù)據(jù)傳輸嵌入式系統(tǒng)設(shè)計(jì)

基于ARM的GPRS無(wú)線數(shù)據(jù)傳輸監(jiān)控系統(tǒng)設(shè)計(jì)

評(píng)論