中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動態(tài)

基于PIC的無線數(shù)據(jù)傳輸發(fā)射機(jī)設(shè)計(jì)

更新時間: 2019-03-22
閱讀量:1936

十年單片機(jī)開發(fā)方案公司深圳英銳恩分享基于PIC的無線數(shù)據(jù)傳輸發(fā)射機(jī)設(shè)計(jì)。

摘要:以PIC單片機(jī)和CC1000為核心器件,設(shè)計(jì)并實(shí)現(xiàn)無

無線數(shù)據(jù)傳輸發(fā)射機(jī);介紹PIC16C73芯片和CC1000芯片的性能,詳細(xì)討論發(fā)射機(jī)的硬件和軟件系統(tǒng)設(shè)計(jì)并予以實(shí)現(xiàn)。

    關(guān)鍵詞:無線數(shù)據(jù) 傳輸發(fā)射機(jī) PIC CC1000

本文介紹以PIC16C73和CC1000為基本部件,設(shè)計(jì)并實(shí)現(xiàn)無線數(shù)據(jù)傳輸發(fā)射機(jī)的過程。

1 PIC16C73及CC1000簡介

PIC16C73是Microchip公司生產(chǎn)的一種高性價(jià)比的8位嵌入式微控制器。

CC1000是為在無線條件下應(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),它還為用戶提供了簡單易用的開發(fā)包。使用CC1000芯片設(shè)計(jì)電路簡單,不需要使用極少的外部元件、不需要外部射頻轉(zhuǎn)換和中頻濾波器。

2 系統(tǒng)設(shè)計(jì)

本無線數(shù)據(jù)傳輸發(fā)射機(jī)框圖如圖1所示。

圖中,PIC16C73接收數(shù)字或模擬信號,經(jīng)過緩存、組幀后,將數(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é)組成一幀,每兩幀之間間隔為8.25ms。

3 硬件設(shè)計(jì)

單片機(jī)通過對3-wire串行設(shè)置接口(PDATA,PCLK和PALE)編程,使CC1000處在不同工作模式下。為實(shí)現(xiàn)數(shù)據(jù)回讀,PDATA必須使能雙向引腳,另一個雙向

引腳被用來實(shí)現(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è)計(jì)

4.1 總體流程圖

軟件采用模塊化程序設(shè)計(jì)方法,圖5是總體流程。

    4.2 初始化

初始化是一項(xiàng)十分重要的工作,需要分別對PIC16C73和CC1000兩個芯片進(jìn)行初始化。由于本設(shè)計(jì)中要完成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è)計(jì)

PIC16C73有多達(dá)11種中斷源,本設(shè)計(jì)使用了其中的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)程。具體實(shí)現(xiàn)方法是在PIC16C73通用寄存器里開辟一個數(shù)據(jù)緩存區(qū),由50個寄存器組成,同時自定義收發(fā)數(shù)據(jù)計(jì)數(shù)器RX_IF0和TX_IF0.RX_IF0是接收數(shù)據(jù)計(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ù)計(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ī)的功效。

孙吴县| 丹阳市| 阿鲁科尔沁旗| 阳朔县| 北京市| 株洲市| 崇礼县| 仪陇县| 高青县| 长宁区| 法库县| 聂荣县| 开原市| 新密市| 花垣县| 时尚| 泰和县| 京山县| 门头沟区| 津南区| 叶城县| 宿迁市| 和政县| 扶余县| 黄陵县| 恭城| 墨玉县| 丹东市| 焦作市| 扬州市| 同德县| 保德县| 丹凤县| 肥东县| 扶风县| 凤山市| 湖南省| 易门县| 噶尔县| 上高县| 通州区|