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


基于nRF24L01和PIC16F877無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計
1500
基于RFID技術(shù)的礦用無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計
92Li-Fi無線數(shù)據(jù)傳輸技術(shù)
2512單工無線呼叫及數(shù)據(jù)傳輸系統(tǒng)的設(shè)計
2944
基于CC1100的無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計
16無線數(shù)據(jù)傳輸芯片CC1100在智能無線遠(yuǎn)傳水表中的應(yīng)用
7無線數(shù)據(jù)傳輸系統(tǒng)及自適應(yīng)濾波器的設(shè)計_賀遠(yuǎn)
6WNS無線數(shù)據(jù)傳輸模塊
13MSP430無線數(shù)據(jù)傳輸模塊設(shè)計詳析
8單片機(jī)的無線數(shù)據(jù)傳輸程序免費(fèi)下載
3一種新型的無線能量數(shù)據(jù)傳輸系統(tǒng)
1215無線數(shù)據(jù)傳輸模塊的功能特點
1365SPI數(shù)據(jù)傳輸有哪些方式
2899
嵌入式GPRS無線數(shù)據(jù)傳輸系統(tǒng)實現(xiàn)及應(yīng)用
0基于GPRS的無線數(shù)據(jù)傳輸系統(tǒng)的研究與設(shè)計
0基于GPRS的嵌入式無線數(shù)據(jù)傳輸終端的設(shè)計
0基于ARM與GPRS的無線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計
0基于GPRS的無線數(shù)據(jù)傳輸嵌入式系統(tǒng)設(shè)計
0基于ARM的GPRS無線數(shù)據(jù)傳輸監(jiān)控系統(tǒng)設(shè)計
0
電子發(fā)燒友App




評論