<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于PIC的無(wú)線(xiàn)數據傳輸發(fā)射機設計

基于PIC的無(wú)線(xiàn)數據傳輸發(fā)射機設計

作者: 時(shí)間:2016-10-15 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:以單片機和CC1000為核心器件,設計并實(shí)現無(wú)線(xiàn);介紹16C73芯片和CC1000芯片的性能,詳細討論的硬件和軟件系統設計并予以實(shí)現。 關(guān)鍵詞:無(wú)線(xiàn)數據 傳輸 CC1000 本文介紹以PIC16C73和CC1000為基本部件,設計并實(shí)現無(wú)線(xiàn)發(fā)射機的過(guò)程。 1 PIC16C73及CC1000簡(jiǎn)介 PIC16C73是Microchip公司生產(chǎn)的一種高性?xún)r(jià)比的8位嵌入式微控制器。

本文引用地址:http://dyxdggzs.com/article/201610/307573.htm
1.jpg

CC1000是為在無(wú)線(xiàn)條件下應用所設計的一種極低功率單芯片射頻收發(fā)器。它主要是為315、433、868和915MHz的ISM和SRD設備所設計,可以編程工作在300~1000MHz范圍之間的任一頻率上。它具有極低的電流消耗、高靈敏度、體積小、低供電電壓、FSK率可達 76.8kbps、FSK調制頻譜修正等特點(diǎn),它還為用戶(hù)提供了簡(jiǎn)單易用的開(kāi)發(fā)包。使用CC1000芯片設計電路簡(jiǎn)單,不需要使用極少的外部元件、不需要外部射頻轉換和中頻濾波器。 2 系統設計 本無(wú)線(xiàn)數據傳輸發(fā)射機框圖如圖1所示。 圖中,PIC16C73接收數字或模擬信號,經(jīng)過(guò)緩存、組幀后,將數據傳送到射頻發(fā)射機,由CC1000實(shí)現FSK調制后發(fā)射出去。

2.jpg

本設計中PIC16C73的振蕩周期為4MHz,指令周期為1μs。CC1000工作在發(fā)射狀態(tài),發(fā)射頻率306.874457MHz,頻偏64kHz,速率7638Kbps,發(fā)射功率10dBm。發(fā)射數據采用自定義幀格式,其格式為: 4字節位同步字—0AAH,0AAH,0AAH,0AAH; 2字節幀同步字(3位0加13位巴克碼)—1FH,35H; 1字節地址或命令; 50字節數據。 上述57字節組成一幀,每?jì)蓭g間隔為8.25ms。 3 硬件設計 單片機PCI16C73與CC1000的連接如圖2所示。

3.jpg

單片機通過(guò)對3-wire串行設置接口(PDATA,PCLK和PALE)編程,使CC1000處在不同工作模式下。為實(shí)現數據回讀,PDATA必須使能雙向引腳,另一個(gè)雙向引腳被用來(lái)實(shí)現數據(DIO)的發(fā)送和接收。提供數據定位的位置寄存器,完全設置CC1000需要發(fā)送29個(gè)16位的數據幀(7位地址位、1位讀/寫(xiě)位和8位數據位)。

4.jpg

在每個(gè)寫(xiě)循環(huán)中,編程數據PDATA線(xiàn)上都發(fā)送16位數據,

5.jpg

每個(gè)數據幀中前7位為地址位,下一位是讀/寫(xiě)位(高電平寫(xiě),低電平讀),后8位是數據。在地址和讀/寫(xiě)位傳送過(guò)程中,程序地址鎖存器使能PALE線(xiàn)必須保持低電平,然后傳送8位數據位。PDATA上的數據同步在編程時(shí)鐘PCLK的負沿完成。當D0,即8位數據位的最后一位已經(jīng)載入時(shí),數據就會(huì )被載入內部設置寄存器,時(shí)序如圖3所示。 這些設置寄存器也可被單片機通過(guò)同樣的設置接口讀取。7位地址首先被發(fā)送,然后讀/寫(xiě)位被置為低來(lái),開(kāi)始數據回讀,時(shí)序如圖4所示。 4 軟件設計 4.1 總體流程圖 軟件采用模塊化程序設計方法,圖5是總體流程。 4.2 初始化 初始化是一項十分重要的工作,需要分別對PIC16C73和CC1000兩個(gè)芯片進(jìn)行初始化。由于本設計中要完成PC機與PIC之間的異步通信和PIC的模/數據換功能,所以除了PIC16C73的各個(gè)PORT端口外,還應對串行通信接口SCI部件和A/D轉換部件等進(jìn)行初始化。在單片機初始化完成后,通過(guò)它對CC1000進(jìn)行初始化,使其工作在發(fā)射模式,其流程如圖6所示。 4.3 中斷服務(wù)子程序設計 PIC16C73有多達11種中斷源,本設計使用了其中的SCI異步接收中斷和A/D轉換完成中斷。初始化工作完成后,當單片機通過(guò)SCI接收完一字節數據后就會(huì )產(chǎn)生SCI接收中斷,另外,當單片機完成一次A/D后也會(huì )產(chǎn)生中斷。在產(chǎn)品中斷后,程序即進(jìn)入中斷服務(wù)子程序,要完成數據的緩存、緩存管理及組幀、數據傳送工作。 圖6 緩存管理的目的是使用者能夠清楚地知道當前存儲數據和發(fā)送數據的進(jìn)程。

6.jpg

具體實(shí)現方法是在PIC16C73通用寄存器里開(kāi)辟一個(gè)數據緩存區,由50個(gè)寄存器組成,同時(shí)自定義收發(fā)數據計數器RX_IF0和 TX_IF0.RX_IF0是接收數據計數器,其中存放的值表示PIC16C73接收到第幾個(gè)數據,每接收到一個(gè)數據,就將RX_IF0加1,同時(shí)寄存器地址加1,以便接收下一個(gè)數據。當RX_IF0的值等于50時(shí)表示接收完一幀數據。TX_IF0是發(fā)送數據計數器,其中存在的值表示PIC16C73向 CC1000發(fā)送了幾個(gè)數據,PIC每發(fā)送完一個(gè)數據,就把TX_IF0加1。同時(shí)寄存器地址加1,以便發(fā)送下一個(gè)數據。TX_IF0等于50時(shí),表示已發(fā)送完一幀數據。中斷服務(wù)子程序流程如圖7所示。 編寫(xiě)的程序經(jīng)過(guò)調試,通過(guò)編譯生成機器碼,將其寫(xiě)入PIC,再將PIC嵌入發(fā)射機電路,連接正確后,經(jīng)過(guò)調試達到了無(wú)線(xiàn)發(fā)射機的功效。



關(guān)鍵詞: PIC 數據傳輸 發(fā)射機

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>