版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科生畢業(yè)論文(設計) </p><p> 中文題目: 基于凌陽單片機的通信系統(tǒng)設計 </p><p> 英文題目: Sunplus based communication system design </p><p><b> 摘 要</b></p>
2、<p> 本設計是基于單片機控制的短距離無線語音通信系統(tǒng),具有抗干擾性能強,可靠性高,安全性好,受地理條 件限制少,安裝靈活等優(yōu)點,在許多領域有著廣泛的應用前景。本系統(tǒng)采用凌陽 SPEC061A 單片機的語音功能,借助 NRF24L01的無線收發(fā)模塊,實現簡易的雙向無線語音傳輸功能。隨著單片機功能集成化的發(fā)展,其應用領域也逐漸地由傳統(tǒng)的控制,擴展為控制處理、 數據處理以及數字信號處理等領域。</p><p
3、> 關鍵詞:凌陽 SPEC061A;NRF24L01;單片機;無線語音傳輸</p><p><b> Abstract</b></p><p> This design is based on single-chip microcomputer control short-range wireless voice communication system,
4、 has the strong anti-jamming performance, high reliability, good safety, less influenced by geographic restrictions, installation, flexible, and other advantages in many fields has wide application prospects. The system
5、USES the SPEC061A MCU speech function of sunplus, by NRF24L01 wireless traNsceiver module, achieve simple two-way radio voice transmission function. Along with the developmen</p><p><b> 朗讀</b>&l
6、t;/p><p> 顯示對應的拉丁字符的拼音</p><p> 字典 - 查看字典詳細內容</p><p><b> 名詞 </b></p><p><b> summary</b></p><p><b> abstract</b></p&
7、gt;<p><b> 朗讀</b></p><p> 顯示對應的拉丁字符的拼音</p><p> Keywords:LingYang SPEC061A; NRF24L01; Microcontroller; wireless voice traNsmission</p><p><b> 目 錄</
8、b></p><p><b> 摘要</b></p><p><b> 目錄</b></p><p><b> 第一章 緒論</b></p><p> 1.1短距離無線通信研究背景與現狀分析1</p><p> 1.2短距離無線通信技
9、術1</p><p> 第二章 SPCE061A 凌陽單片機簡介4</p><p> 2.1凌陽16 位單片機4</p><p> 2.2 SPCE061A 簡介5</p><p> 第三章 系統(tǒng)硬件設計12</p><p> 3.1 61板原理圖及基本組成介紹12</p>&
10、lt;p> 3.2 單片2.4GHz NRF24L01 無線模塊19</p><p> 第四章 系統(tǒng)軟件設計23</p><p> 4.1 軟件設計23</p><p> 4.2 系統(tǒng)測試24</p><p> 第五章 無線通信系統(tǒng)程序25</p><p> 第六章 系統(tǒng)運行結果35
11、</p><p> 6.1系統(tǒng)運行結果35</p><p> 第七章 結束語.41</p><p><b> 參考文獻42</b></p><p><b> 致 謝43</b></p><p><b> 第一章 緒論</b><
12、/p><p> 1.1短距離無線通信研究背景與現狀分析</p><p> 工業(yè)應用中,現階段基本上都是以有線的方式進行連接,實現各種控制功能。各種總線技術,局域網技術等有線網絡的使用的確給人們的生產和生活帶來了便利,改變了我們的生活,對社會的發(fā)展起到了極大的推動作用。有線網絡速度快, 數據流量大,可靠性強,對于基本固定的設備來說無疑是比較理想的選擇,的確在實際應用中也達到了比較滿意的效果。
13、但隨著射頻技術、集成電路技術的發(fā)展,無線通信功能的實現越來越容易,數據傳輸速度也越來越快,并且逐漸達到可以和有線網絡相媲美的水平。而同時有線網絡布線麻煩,線路故障難以檢查,設備重新布局就要重新布線,且不能隨意移動等缺點越發(fā)突出。在向往自由和希望隨時隨地進行通信的今天,人們把目光轉向了無線通信方式,尤其是一些機動性要求較強的設備,或人們不方便隨時到達現場的條件下。因此出現一些典型的無線應用,如:無線智能家居,無線抄表,無線點菜,無線數據采
14、集,無線設備管理和監(jiān)控,汽車儀表數據的無線讀取等等。短距離無線通信技術的范圍很廣,在一般意義上,只要通信收發(fā)雙方通過無線電波傳輸信息,并且傳輸距離限制在較短的范圍內,通常是幾十米以內,就可以稱為短距離無線通信。低成本、低功耗和對等通信, 是短</p><p> 1.2 短距離無線通信技術</p><p> 短距離無線通信實用技術主要有:紅外技術,藍牙技術,802.11b 無線局域 網標
15、準技術,微功率短距離無線通信技術,現簡介如下。</p><p> 1.2.1 紅外技術</p><p> 紅外遙控技術是一種利用紅外線進行點對點通信的技術,其相應的軟件和硬 件技術都已比較成熟。它一般由紅外發(fā)射和接收系統(tǒng)兩部分組成。發(fā)射系統(tǒng)對一 個紅外輻射源進行調制后發(fā)射紅外信號,而接收系統(tǒng)用光學裝置和紅外探測器進 行接收,就構成紅外通信系統(tǒng)。</p><p>
16、 它在技術上的主要優(yōu)點是:1、無需專門申請?zhí)囟l率的使用執(zhí)照;2、具有 移動通信設備所必需的體積小、功率低的特點;3、傳輸速率適合于家庭和辦公室使用的網絡;4、信號無干擾,傳輸準確度高;5、成本低廉。它的缺點是:1、 由于它是一種視距傳輸技術,采用點到點的連接,具有方向性,兩個設備之間如 果傳輸數據,中間就不能有阻擋物; 2、通訊距離較短,紅外線 LED 不是一種十分耐用的器件;3、紅外射束易受塵埃、雨水等物質的吸收,如何在野外環(huán)境下
17、克服這些物質的吸收,增強紅外射束信號的強度是重要的研究課題。</p><p> 1.2.2 藍牙技術</p><p> “藍牙(Bluetooth)”是一個開放性的、短距離無線通信技術標準,也是目前國際上最新的一種公開的無線通信技術規(guī)范。它可以在較小的范圍內,通過無 線連接的方式安全、低成本、低功耗的網絡互聯,使得近距離內各種通信設備能 夠實現無縫資源共享,也可以實現在各種數字設備之間
18、的語音和數據通信。由于 藍牙技術可以方便地嵌入到單一的 CMOS 芯片中.因此,特別適用于小型的移動 通信設備,使設備去掉了連接電纜的不便,通過無線建立通信。藍牙技術以低成本的近距離無線連接為基礎,采用高速跳頻(FrequeNcy Hop 為固定與移動 -piNg)和時分多址(Time DivisioN Multi-access-TDMA)等先進技術,設備通信環(huán)境建立一個特別連接。 藍牙技術使得一些便于攜帶的移動通信設備和 計算機設備不
19、必借助電纜就能聯網,并且能夠實現無線連接因特網.其實際應用范圍還可以拓展到各種家電產品、消費電子產品和汽車等信息家電,組成一個巨大的無線通信網絡。打印機、PDA、桌上型計算機、傳真機、鍵盤、游戲操縱桿以及所有其它的數字設備都可以成為藍牙系統(tǒng)的一部分。目前藍牙的標準是 IEEE802.15,工</p><p> 1.2.3 802.11b 技術</p><p> IEEE(INstitu
20、te of Electical aNd ElectroNics ENgiNeers )802.11b 技術標準是無線局域網的國際標準,使用 2.4GHz 的 ISM 頻段, 802.11b 協(xié)議主要工作在OSI(OpeN System INtercoNNect RefereNce Model)的物理層和數據鏈路層,其物理層支持 5.5 MBit/s 和 11 MBit/s 兩種速度,采用直接序列擴普 DSSS(Direct SequeN
21、ce SpreadSpectrum)技術進行調制解調增強了抗干擾能力,提高了傳輸速度,并使用動態(tài)速率漂移,數據傳輸速率可根據環(huán)境在 11 MBit/s、5.5MBit/s、2MBit/s、1MBit/s之間自動切換,有效通訊距離 100-300 米。 802.11b 無線網絡的最大優(yōu)點是兼容性,只要在原有網絡上裝上AP,就可以提供無線網絡服務,終端設備只要裝上無線網卡,就可以訪問所有網絡資源,象使用有線局域網一樣方便,卻免除了布線的麻煩
22、。802.11b 具有有線等價保密機制 WEP(Wired EquivaleNt Privacy</p><p> 1.2.4 微功率短距離無線通信技術</p><p> 它一般使用數字信號單片射頻收發(fā)芯片,加上微控制器和少量外圍器件構成專用或通用無線通信模塊,一般射頻芯片采用 FSK 調制方式,工作于 ISM 頻段, 通信模塊一般包含簡單透明的數據傳輸協(xié)議或使用簡單的加密協(xié)議,用戶不
23、用對 無線通信原理和工作機制有較深的了解,只要依據命令字進行操作即可實現基本 的數據無線傳輸功能,因其功率小,開發(fā)簡單快速而應用廣泛,但數據傳輸速度、 流量都較小,較適合搭建小型網絡。在工業(yè),民用領域使用較廣。</p><p> 1.2.5 幾種技術的比較分析</p><p> 現將幾種通信技術進行比較:</p><p><b> 表 1-1<
24、/b></p><p> 紅外通信技術由于在數據傳輸過程中兩個通信設備之間不能有障礙物,且不能邊移動邊傳輸,因此不適合在復雜的工作環(huán)境中使用。藍牙技術的有效傳輸距 離小于10m,更適合鼠標、鍵盤等設備。802.11b 技術標準是無線局域網的國際 標準,主要用來組建大型的無線網絡,設備比較昂貴。微功率短距離無線通信一 般使用數字信號單片射頻收發(fā)芯片,加上微控制器和少量外圍元器件即可構成專用或通用無線通信模塊
25、。其功率小、開發(fā)簡單快速而被廣泛應用。 通過表1-1比較分析,微功率技術由于其系統(tǒng)功耗低,通信距離遠,開發(fā)容易,模塊成本低,很適合用做無線遙控的無線通信模塊,便于大規(guī)模投入生產。</p><p> 第二章 SPCE061A 凌陽單片機簡介</p><p> 2.1 凌陽 16 位單片機</p><p> 隨著單片機功能集成化的發(fā)展, 其應用領域也逐漸地由傳統(tǒng)的
26、控制, 擴展為控制處理、 數據處理以及數字信號處理(DSP,Digital SigNal ProcessiNg)等領域。凌陽的 16 位單片 機就是為適應這種發(fā)展而設計的。 它的 CPU 內核采用凌陽最新推出的µ’Nsp MicrocoNtroller ( aNd SigNal Processor)16 位微處理器芯片(以下簡稱µ’NSP?)。圍繞µ’NSP?所形成的 16 位µ’NSP?系列單片
27、機(以下簡稱µ’NSP?家族)采用的是模塊式集成結構,它以µ’NSP? 內核為中心集成不同規(guī)模的 ROM、RAM 和功能豐富的各種外設接口部件,如圖2.1所示。</p><p> 圖2-1 µ’NSP?家族的模塊式結構</p><p> µ’NSP?內核是一個通用的核結構。除此之外的其它功能模塊均為可選結構,亦即這種結構可大可小或可有可無。借助這
28、種通用結構附加可選結構的積木式的構成,便可形成各種不同系列派生產品,以適合不同的應用場合。這樣做無疑會使每一種派生產品具有更強的功能和更低的成本。</p><p> 1.µ’NSP?家族有以下特點: </p><p> 體積小、集成度高、可靠性好且易于擴展</p><p> µ’NSP?家族把各功能部件模塊化地集成在一個芯片里,內部采用總線
29、結構,因而減 少了各功能部件之間的連線,提高了其可靠性和抗干擾能力。另外,模塊化的結構易于系 統(tǒng)擴展,以適應不同用戶的需求。</p><p> 2.具有較強的中斷處理能力 :</p><p> µ’NSP?家族的中斷系統(tǒng)支持 10 個中斷向量及 10 余個中斷源,適合實時應用領域。 </p><p><b> 3.高性能價格比:</b
30、></p><p> µ’NSP?家族片內帶有高尋址能力的 ROM、靜態(tài) RAM 和多功能的 I/O 口。另外, µ’NSP?的指令系統(tǒng)提供具有較高運算速度的 16 位×16 位的乘法運算指令和內積運算指 令,為其應用增添了 DSP 功能,使得µ’NSP?家族運用在復雜的數字信號處理方面既很便 利,又比專用的 DSP 芯片廉價。 </p><p&
31、gt; 4.功能強、效率高的指令系統(tǒng): </p><p> µ’NSP?的指令系統(tǒng)的指令格式緊湊,執(zhí)行迅速,并且其指令結構提供了對高級語言的 支持,這可以大大縮短產品的開發(fā)時間。 </p><p> 5.低功耗、低電壓 </p><p> µ’NSP?家族采用 CMOS 制造工藝,同時增加了軟件激發(fā)的弱振方式、空閑方式和掉 電方式,極大地
32、降低了其功耗。另外,µ’NSP?家族的工作電壓范圍大,能在低電壓供電 時正常工作,且能用電池供電。這對于其在野外作業(yè)等領域中的應用具有特殊的意義。</p><p> 2.2 SPCE061A 簡介</p><p><b> 2.2.1 總述 </b></p><p> SPCE061A 是繼µ’NSP?系列產品 SPC
33、E500A 等之后凌陽科技推出的又一個 16 位結 構的微控制器。與 SPCE500A 不同的是,在存儲器資源方面考慮到用戶的較少資源的需求 以及便于程序調試等功能,SPCE061A 里只內嵌 32K 字的閃存(FLASH)。較高的處理速 度使µ’NSP?能夠非常容易地、快速地處理復雜的數字信號。因此,與 SPCE500A 相比, 以µ’NSP?為核心的 SPCE061A 微控制器是適用于數字語音識別應用領域產品的一
34、種最經 濟的選擇。</p><p><b> 2.2.2 性能 </b></p><p> 16 位µ’NSP?微處理器;</p><p> 工作電壓:VDD 為 2.6~3.6V(cpu), VDDH 為 VDD~5.5V(I/O); </p><p> CPU 時鐘:0.32MHz~49.152MH
35、z ; </p><p> 內置 2K 字 SRAM; </p><p> 內置 32K FLASH; </p><p><b> 可編程音頻處理; </b></p><p><b> 晶體振蕩器;</b></p><p> 系統(tǒng)處于備用狀態(tài)下(時鐘處于停止狀態(tài)),
36、耗電小于 2µA@3.6V; </p><p> 2 個 16 位可編程定時器/計數器(可自動預置初始計數值); </p><p> 2 個 10 位 DAC(數-模轉換)輸出通道; </p><p> 32 位通用可編程輸入/輸出端口;</p><p> 14 個中斷源可來自定時器 A / B,時基,2 個外部時鐘源輸入,
37、鍵喚醒; </p><p> 具備觸鍵喚醒的功能; </p><p> 使用凌陽音頻編碼 SACM_S240 方式(2.4K 位/秒),能容納 210 秒的語音數據; </p><p> 鎖相環(huán) PLL 振蕩器提供系統(tǒng)時鐘信號; </p><p> 32768Hz 實時時鐘; </p><p> 7 通道 1
38、0 位電壓模-數轉換器(ADC)和單通道聲音模-數轉換器; </p><p> 聲音模-數轉換器輸入通道內置麥克風放大器和自動增益控制(AGC)功能; </p><p> 具備串行設備接口; </p><p> 具有低電壓復位(LVR)功能和低電壓監(jiān)測(LVD)功能; </p><p> 內置在線仿真電路 ICE(IN- Circui
39、t Emulator)接口; </p><p><b> 具有保密能力; </b></p><p> 具有 WatchDog 功能(由具體型號決定)。</p><p> 2.2.3 結構概覽 </p><p> SPCE061A 的結構如圖 2-2所示:</p><p> 圖2-2 SP
40、CE061A 的結構</p><p> 2.2.4 芯片的引腳排列和說明 </p><p> SPCE061A 共有 84 個引腳,封裝形式為 PLCC84,它的排列如圖 2-3所示,在 84 個引腳中有空腳 15 個,其余管腳功能說明如表 2-1 所示。</p><p> 表2-1 管腳功能表</p><p> 圖2-3 SPCE0
41、61A 引腳排列圖</p><p> 圖2-4 SPCE061A 實物圖</p><p><b> 2.2.5 特性 </b></p><p> SPCE061A 系統(tǒng)的特性參數如表 2-2所示。 </p><p> 表2-2 系統(tǒng)特性參數</p><p> 2.2.6 SPCE061A
42、 最小系統(tǒng) </p><p> 最小系統(tǒng)接線如圖 2-5所示,在 OSC0、OSC1 端接上晶振及諧振電容,在鎖相環(huán)壓控 振蕩器的阻容輸入 VCP 端接上相應的電容電阻后即可工作。其它不用的電源端和地端接 上 0.1µF 的去藕電容提高抗干擾能力。</p><p> 圖2-5 SPCE061A 最小系統(tǒng)原理圖</p><p> 2.2.7 SPCE0
43、61A 開發(fā)方法 </p><p> SPCE061A 的開發(fā)是通過在線調試器 PROBE 實現的。它既是一個編程器(即程序燒 寫器),又是一個實時在線調試器。用它可以替代在單片機應用項目的開發(fā)過程中常用的 軟件工具——硬件在線實時仿真器和程序燒寫器。它利用了 SPCE061A 片內置的在線仿真 電路 ICE(IN- Circuit Emulator)接口和凌陽公司的在線串行編程技術。PROBE 工作于凌 陽
44、IDE 集成開發(fā)環(huán)境軟件包下, 5 芯的仿真頭直接連接到目標電路板上 SPCE061A 相應 其 管腳,直接在目標電路板上的 CPU---SPCE061A 調試、運行用戶編制的程序。PROBE 的 另一頭是標準 25 針打印機接口,直接連接到計算機打印口與上位機通訊,在計算機 IDE集成開發(fā)環(huán)境軟件包下,完成在線調試功能。圖 2-6是計算機、PROBE、用戶目標板三者 之間的連接示意圖,圖 2-7是實物連接圖。</p>&
45、lt;p> 圖 2-6是計算機、PROBE、用戶目標板三者 之間的連接示意圖</p><p> 圖 2-7是實物連接圖</p><p> 2.2.8 應用領域 </p><p><b> 語音識別類產品 </b></p><p> 有語音功能的儀器儀表 </p><p> 有語音
46、功能的家電產品 </p><p> 有語音功能的自動售貨機 </p><p> 智能語音交互式玩具 </p><p> 高級亦教亦樂類玩具 </p><p> 兒童電子故事書類產品 </p><p> 通用語音合成器類產品 </p><p> 需較長語音持續(xù)時間類產品</p&g
47、t;<p> 第三章 系統(tǒng)硬件設計</p><p> 3.1 61板原理圖及基本組成介紹</p><p> 表 3-1 61結構表說明</p><p> 圖3-1 61結構組成框圖</p><p> 圖3-3 61板原理圖及基本組成介紹</p><p> 3.1.1電源 <
48、/p><p> 61板采用3節(jié)5號電池進行供電,由J10接入,原理圖如圖3-4所示。信號檢測點見 圖3-5。其中的前后兩組電容用來去耦濾波,使其供給芯片的電源 更加干凈平滑。為了獲得標準的3.3V電壓,在板子上加入SPY0029三端穩(wěn)壓器 。 兩個二極管,是為防止誤將電源接反造成不必要損失而設置的,在操作過程中 千萬不要將電源接反,因為反向電壓超過一定的值,二極管將會被損壞,達不到保 護的目的。后面的零電阻及其電源
49、、地分成不同的幾路是為減少電磁干擾設置的。</p><p> 圖3-4 電源部分原理圖</p><p> 3.1.2程序下載區(qū) </p><p> ICE 基本運作方式是通過控制 clock 及通過 ICE 喂入指令方式,來控制CPU 的運行及緩存器資料和內存資料的存取,因此必須透過控制緩存器值的設定來控制 目前 CPU 的動作,原理圖如圖3-5所示。 <
50、;/p><p> 每個相連接的不同ICE模塊都擁有自己獨特的3-bit ID,當PC在傳送coNtrol信號 時都會先傳送該 3-bit ID,只有ICE本身的ID和coNtrol信號的ID 相同時才會執(zhí)行該 命令或回傳資料。61板上的74HC244主要在我們選用下載線的時候起作用,主要奇 緩存的作用和完成SDA是作為數據回送還是數據下傳的選擇。</p><p> 圖3-5 程序下載區(qū)&l
51、t;/p><p> 3.1.3.音頻輸入部分 </p><p> 在SPCE061A芯片中具有聲音?!獢缔D換通道,內置了麥克風放大電路和自動增 益控制(AGC)功能。 AGC是自動增益補償功能(Automatic GaiN CoNtrol),AGC 可以自動調麥克風的收音量,使聽者收到一定的音量水平,不會因發(fā)言者與麥克風的距離改變時,聲音有忽大忽小聲的缺點。 </p><
52、;p> SPCE061A中集成了麥克風前端運算放大電路,而運算放大電路的基本結構就是 有輸入級、中間級、輸出級三大部分組成。輸入級由差分放大電路組成,它是運算放大器的關鍵部分,差分放大電路有兩個輸入端,這樣的組成能為信號的輸入提供 多種方式,并能有效的抑制共模干擾信號,放大有效信號的作用,原理框圖見圖3-6 。</p><p> 圖3-6 音頻輸入組成框圖</p><p> 圖
53、3-7 音頻輸入外圍電路</p><p> 在圖3-7所示的電路中, MICP和MICN將隨著MIC產生的波形變化, 并在兩個端 口處形成兩路反相的波形,再經過兩級運放放大,把放大的語音信號交給ADC轉換 為數字量,這個時候我們就可以通過單片機編程對這些數據進行處理,比如說語音數據壓縮、語音識別樣本處理。</p><p> 3.1.4.音頻輸出部分</p><p&g
54、t; 圖3-8是音頻輸出部分的原理圖,輸出的聲音經SPY0030音頻放大后通過喇叭輸出。SPY0030是凌陽公司開發(fā)的專門用于語音信號放大的芯片,電路原理圖見圖3-4所 示,它的增益如下所示: GaiN=2*5000/(5000+R1)。</p><p> SPY0030的輸入電壓的范圍是2.4V~6.0V,在這個電路中采用的電壓是3.3V。管腳的介紹見表3-2。</p><p>
55、圖3-8 D/A部分原理圖</p><p> 表3-2 SPY0030管腳說明</p><p> 3.1.5.按鍵部分 </p><p> 圖3-9為鍵盤部分原理圖,按鍵是通過通斷控制來實現它的功能,61板上的按鍵在沒按下時,它的1、3腳是斷開的,當按下時這兩個腳是連通的。若此時我們在1腳接一個高電平,把第三腳連到一個I/O口上,這就形成了一個人機操作界面,
56、通過編程對I/O掃描,單片機就能識別到我們的按鍵命令。</p><p> 圖3-9 鍵盤部分原理圖</p><p> 3.1.6.晶振部分 </p><p> 工作原理:石英晶體的主要特征是它具有壓電效應, 既在晶體的兩個電極上加交流電壓時, 晶體就會產生機械振動,而這種機械振動反過來又會產生交流電壓時,晶體就會產 生交流電場,在電極上出現交流電壓。如果外加
57、交流電壓的頻率與晶片本身的固有 振動頻率相等,則機械振動的振幅和它產生的交流電壓的幅值都會顯著增大,這種 現象稱為壓電諧振,稱該晶體為石英晶體振蕩器,或簡稱晶振。石英晶體的符號表 示見圖3-10中的Y1部分,目前市場晶體都是標準的頻率,如:32768Hz、6MHz、3MHz 等等,圖3-10中采用的是32768 Hz,其中的諧振電容分別是C14(20P)、C15(20P), 在這里OSC部分的作用就是作為CPU時鐘的振源,具體的過程示意
58、圖見3-11所示。</p><p> 圖3-10 晶體振蕩組成</p><p> 圖3-11 鎖相環(huán)電路框圖</p><p> 3.1.7.單片機I/O部分 </p><p> “I/O口”即為輸入/輸出接口,顧名思義,就是單片機和外部實現數據交互的 接口。 SPCE061A有并行和串行兩種方式的輸入/輸出接口,所謂串行就是指每一時
59、刻只能傳送一位二進制信息,因為數據是通過一根數據線傳輸;同理,并行就是指 每一時刻可以傳送多位二進制信息,因為占用多根數據線。并行口線路成本較高, 但是傳輸速度也高;串行口的傳輸速率較低但可以節(jié)省大量的線路成本。SPCE061A 的串行口有UART和SIO兩種,有興趣可以自己進行學習,這里將重點放在并行口。 SPCE061A有兩個16位通用的并行I/O口: A口和B口。 每一位都可通過編程單獨定義成 輸入或輸出口。I/O端口的作用 :
60、</p><p> I/O 輸入口:用于將程序或數據輸入到單片機中,負責從外界接收檢測信號、鍵盤 信號等各種開關量信號。如:行列鍵盤、按鍵、模擬開關等可以作為單片機輸入。 </p><p> 輸出口:用于把單片機數據計算或加工的結果以用戶需要的形式顯示或保存, 負責向外界輸送由內部電路產生的處理結果、顯示信息、控制命令、驅動信號等。如:數碼管、液晶顯示模塊和打印機等可以作為單片機輸出。
61、</p><p> 圖3-12 61板I/0端口示意圖</p><p> 如圖3-13是I/O端口作用示意圖。</p><p> 圖3-13 I/O端口作用示意圖</p><p> 3.1.8.數據下載 </p><p> 圖3-14介紹的是PROBE/下載線的電路原理圖。 其中PROBE就是在線調試器主
62、要是為 凌陽十六位單片機(包括SPCE061A)提供在線編程、仿真和調試使用的工具。該調 試器一端接在PC機的并口上,另一端接在開發(fā)系統(tǒng)的ICE 端口上(J4口)。在凌陽 十六位單片機的集成開發(fā)環(huán)境上就可以實現在線編程、 仿真和調試, 其實物見圖3-14。</p><p> 圖3-14 PROBE電路原理圖</p><p><b> 總結 :</b></p
63、><p> 這里我們對SPCE061A單片機開發(fā)板的電源、復位、數據下栽、輸入輸出端口、 音頻處理以及按鍵各子系統(tǒng)的進行了系統(tǒng)分析,對于實際電子產品的電路板認識, 可以采取先整體后局部分模塊的方法來進行識別。通過對SPCE061A單片機開發(fā)板的 電路識圖學習,可以對電路板的測試方法和測試手段有一個整體的認識。</p><p> 3.2單片 2.4GHz NRF24L01 無線模塊 <
64、/p><p> 3.2.1 NRF24L01 芯片概述</p><p> NRF24L01 是一款新型單片射頻收發(fā)器件,工作于 2.4 GHz~2.5 GHz ISM 頻段。內置頻率合成器、功率放大器、晶體振蕩器、調制器等功能 模塊,并融合了增強型 ShockBurst 技術, 其中輸出功率和通信頻道可通 過程序進行配置。NRF24L01 功耗低,在以-6 dBm 的功率發(fā)射時,工作電 流
65、也只有 9 mA;接收時, 工作電流只有 12.3 mA, 多種低功率工作模式(掉 電模式和空閑模式)使節(jié)能設計更方便。</p><p> NRF24L01 主要特性如下: </p><p><b> GFSK 調制; </b></p><p> 硬件集成 OSI 鏈路層; </p><p> 具有自動應答和自動
66、再發(fā)射功能; </p><p> 片內自動生成報頭和 CRC 校驗碼; </p><p> 數據傳輸率為 l Mb/s 或 2Mb/s; </p><p> SPI 速率為 0 Mb/s~10 Mb/s; </p><p><b> 125 個頻道; </b></p><p> 與其他
67、NRF24 系列射頻器件相兼容; </p><p> QFN20 引腳 4 mm×4 mm 封裝; </p><p> 供電電壓為 1.9 V~3.6 V。</p><p> 3.2.2 引腳功能及描述</p><p> NRF24L01 的封裝及引腳排列如圖所示。各引腳功能如下:</p><p>
68、 圖3-15 NRF24L01 封裝圖</p><p> CE:使能發(fā)射或接收; </p><p> CSN,SCK,MOSI,MISO:SPI 引腳端,微處理器可通過此引腳配 置 NRF24L01: </p><p> IRQ:中斷標志位;</p><p> VDD:電源輸入端; </p><p><
69、b> VSS:電源地; </b></p><p> XC2,XC1:晶體振蕩器引腳; </p><p> VDD_PA:為功率放大器供電,輸出為 1.8 V; </p><p> ANT1,ANT2:天線接口; </p><p> IREF:參考電流輸入。</p><p> 圖3-16
70、NRF24L01 原理圖</p><p> 3.2.3 工作模式</p><p> 通過配置寄存器可將 NRF241L01 配置為發(fā)射、接收、空閑及掉 電四種工作模式,如表所示。 </p><p> 待機模式 1 主要用于降低電流損耗, 在該模式下晶體振蕩器仍 然是工作的; </p><p> 待機模式 2 則是在當 FIFO 寄存器
71、為空且 CE=1 時進入此模式; </p><p> 待機模式下,所有配置字仍然保留。在掉電模式下電流損耗最小,同時 NRF24L01 也不工作,但其所有配置 寄存器的值仍然保留。</p><p> 表 3-3 NRF24L01 四種工作模式</p><p> 3.2.4 NRF24L01 模塊原理圖</p><p> NRF24L0
72、1 單端匹配網絡:晶振,偏置電阻,去耦電容。</p><p> 圖3-16 NRF24L01 單端 50Ω射頻輸出電路原理圖</p><p> 第四章 系統(tǒng)軟件設計</p><p><b> 4.1.軟件設計 </b></p><p> 系統(tǒng)軟件流程圖見圖 4-1。 </p><p>
73、 圖 4-1 系統(tǒng)軟件流程圖</p><p> 系統(tǒng)配置發(fā)射模式時, 單片機通過 SPI 口將數據寫入 NRF24L01 緩存區(qū), 通過設置 CE 口 作 為 發(fā) 射脈沖信號發(fā)射數據。 NRF24L01在發(fā)射數據后自 動進入接收模式等待應答信號。 如收到應答信號則 認為此次通信成功,系統(tǒng)清除標志寄存器準備發(fā)送 下一組數據。 未收到應答信號則重新發(fā)送數據直到 發(fā)送成功。系統(tǒng)配置為接收模式時, 系統(tǒng)處于等待數據的
74、 狀態(tài), 當接收到數據后, NRF24L01 自動發(fā)送應答 信號給發(fā)送端確認收到信號。 隨后清除標志位寄存 器等待下一組信號。</p><p> NRF24L01 模塊設置為發(fā)送模式部分代碼如下:</p><p> void SetTxMode (void) </p><p><b> { </b></p><p>
75、; NrfTxBuf [0] =0x20 ; </p><p> NrfTxBuf [1] = 0x0e ; </p><p> SPI_SeNdData (NrfTxBuf , NrfRxBuf , 2); </p><p> NrfTxBuf [0] =0xe2 ; </p><p> SPI_SeNdData (NrfTxBu
76、f , NrfRxBuf , 1);</p><p><b> } </b></p><p> NRF24L01 模塊設置為發(fā)送模式部分代碼為: </p><p> void SetRxMode (void)</p><p> { NrfTxBuf [0] = 0x20 ; </p><p&g
77、t; NrfTxBuf [1] = 0x0f ; </p><p> SPI_SeNdData (NrfTxBuf , NrfRxBuf , 2); </p><p> NrfTxBuf [0] =0xe2 SPI_SeNdData (NrfTxBuf , NrfRxBuf , 1); </p><p> PORTB|= (1<<3);</
78、p><p> _NOP (); _NOP (); _NOP ();</p><p><b> }</b></p><p><b> 4.2系統(tǒng)測試 </b></p><p> 為了測試本系統(tǒng)的數據傳輸速率以及傳輸距離 , 首 先 將 發(fā) 射 端 的 單 片 機 中 預 存 1 Kbit 的 數
79、據 , 發(fā) 射 數 據 前 設 置 一 個 頭 字 節(jié) , 然 后 將 預 存 的 1Kbit 數據設置發(fā)射一千遍, 在發(fā)送一個為字節(jié)。 接收端 從接收到頭字節(jié)后開始計時, 接收到為字節(jié)后停止 計時, 從而計算出傳輸速率。 測試過程中對不同的 距離分別進行多次測試, 得出不同距離下的平均速 率 (見表 4-1)。</p><p> 表 4-1 傳輸距離與平均速率</p><p> 由表
80、 4-1 可 知 ,NRF24L01 在 加 功 放 后 170 m 內 可以達到較高的傳輸, 而傳輸距離達到 190 m 時傳 輸速率則明顯下降。</p><p> 第五章 無線通信系統(tǒng)程序</p><p> /**************************************************/</p><p> #iNclude <
81、;spce061a.h></p><p> #iNclude <api.h></p><p> #iNclude <system.h></p><p> #defiNe uchar uNsigNed char</p><p> /**************************************
82、*************/</p><p> #defiNe TX_ADR_WIDTH 5 // 5字節(jié)寬度的發(fā)送/接收地址</p><p> #defiNe TX_PLOAD_WIDTH 4 // 數據通道有效數據寬度</p><p> // DefiNe SPI piNs</p><p> #defiNe CE PO
83、RTB_BIT0 // Chip ENable piN sigNal (output)</p><p> #defiNe CSN PORTB_BIT1 // Slave Select piN, (output to CSN, NRF24L01)</p><p> #defiNe SCK PORTB_BIT2 // Master Out, Slave IN piN (outpu
84、t)</p><p> #defiNe MOSI PORTB_BIT3 // Serial Clock piN, (output)</p><p> #defiNe MISO PORTB_BIT4 // Master IN, Slave Out piN (iNput)</p><p> #defiNe IRQ PORTB_BIT5 // INterru
85、pt sigNal, from NRF24L01 (iNput)</p><p> #defiNe k1 PORTA_BIT0</p><p> #defiNe LED PORTA_BIT7</p><p> #defiNe RX_DR (sta&0x40)>>6</p><p> #defiNe TX_D
86、S(sta&0x20)>>5</p><p> #defiNe MAX_RT(sta&0x10)>>4</p><p> uchar TX_ADDRESS[TX_ADR_WIDTH] = {0x34,0x43,0x10,0x10,0x01}; // 定義一個靜態(tài)發(fā)送地址</p><p> uchar RX_BUF[
87、TX_PLOAD_WIDTH];</p><p> uchar TX_BUF[TX_PLOAD_WIDTH];</p><p> uchar flag;</p><p> uchar sta;</p><p> /**************************************************/</p>
88、;<p> /**************************************************</p><p> 函數: iNit_io()</p><p><b> 描述:</b></p><p><b> 初始化IO</b></p><p> /***
89、***********************************************/</p><p> void iNit_io(void)</p><p><b> {</b></p><p> *P_IOA_Dir=0x00f0;</p><p> *P_IOA_Attrib=0x00f0;<
90、;/p><p> *P_IOA_Data=0x0000;</p><p> *P_IOB_Dir=0x000f;</p><p> *P_IOB_Attrib=0x000f;</p><p> *P_IOB_Data=0x0000;</p><p> CE = 0; // 待機</p>
91、<p> CSN = 1; // SPI禁止</p><p> SCK = 0; // SPI時鐘置低</p><p> IRQ = 1; // 中斷復位</p><p><b> }</b></p><p> /*********************
92、*****************************/</p><p> /**************************************************</p><p> 函數:delay_ms()</p><p><b> 描述:</b></p><p><b> 延遲x
93、毫秒</b></p><p> /**************************************************/</p><p> void delay_ms(uchar k)</p><p><b> {</b></p><p><b> iNt i,j;</
94、b></p><p> for(i=0;i<k;i++) </p><p> for(j=0;j<34;j++)</p><p> *P_Watchdog_Clear=0x0001;</p><p><b> }</b></p><p> void delay1us(
95、uNsigNed char t)</p><p><b> {</b></p><p> while(--t)</p><p> *P_Watchdog_Clear=1;</p><p><b> } </b></p><p> /*****************
96、*********************************/</p><p> /**************************************************</p><p> 函數:SPI_RW()</p><p><b> 描述:</b></p><p> 根據SPI協(xié)議,寫一
97、字節(jié)數據到NRF24L01,同時從NRF24L01</p><p><b> 讀出一字節(jié)</b></p><p> /**************************************************/</p><p> /*uchar SPI_RW(uchar byte)</p><p><
98、;b> {</b></p><p><b> uchar i;</b></p><p> for(i=0; i<8; i++) // 循環(huán)8次</p><p><b> {</b></p><p> MOSI = (byte & 0x80)
99、; // byte最高位輸出到MOSI</p><p> byte <<= 1; // 低一位移位到最高位</p><p> SCK = 1; // 拉高SCK,NRF24L01從MOSI讀入1位數據,同時從MISO輸出1位數據</p><p> byte |= MISO; /
100、/ 讀MISO到byte最低位</p><p> SCK = 0; // SCK置低</p><p><b> }</b></p><p> returN(byte); // 返回讀出的一字節(jié)</p><p><b> }*/</b></p
101、><p> uchar SPI_RW(uNsigNed char byte) //寫一個字節(jié)到24L01,同時讀一個字節(jié)</p><p><b> {</b></p><p> uNsigNed char bit_ctr;</p><p> for(bit_ctr=0;bit_ctr<8;bit_ctr++
102、) //output 8-bit</p><p><b> {</b></p><p> if(byte&0x80) </p><p><b> MOSI=1;</b></p><p><b> else</b></p><p>&
103、lt;b> MOSI=0; </b></p><p> byte=(byte<<1); </p><p><b> SCK=1;</b></p><p> if(MISO==1) byte |= 1; //SPI_ReceiveData=MISO;</p><p><
104、;b> SCK=0;</b></p><p> // SPI_ReceiveData =( SPI_ReceiveData<<1);</p><p><b> }</b></p><p> returN(byte); //returN read byte</p><p><
105、b> }</b></p><p> /**************************************************/</p><p> /**************************************************</p><p> 函數:SPI_RW_Reg()</p><
106、;p><b> 描述:</b></p><p> 寫數據value到reg寄存器</p><p> /**************************************************/</p><p> uchar SPI_RW_Reg(uchar reg, uchar value)</p>&l
107、t;p><b> {</b></p><p> uchar status;</p><p> CSN = 0; // CSN置低,開始傳輸數據</p><p> status = SPI_RW(reg); // 選擇寄存器,同時返回狀態(tài)字</p><p> S
108、PI_RW(value); // 然后寫數據到該寄存器</p><p> CSN = 1; // CSN拉高,結束數據傳輸</p><p> returN(status); // 返回狀態(tài)寄存器</p><p><b> }</b></p>&
109、lt;p> /**************************************************/</p><p> /**************************************************</p><p> 函數:SPI_Read()</p><p><b> 描述:</b><
110、;/p><p> 從reg寄存器讀一字節(jié)</p><p> /**************************************************/</p><p> uchar SPI_Read(uchar reg)</p><p><b> {</b></p><p>
111、uchar reg_val;</p><p> CSN = 0; // CSN置低,開始傳輸數據</p><p> SPI_RW(reg); // 選擇寄存器</p><p> reg_val = SPI_RW(0); // 然后從該寄存器讀數據</p><p
112、> CSN = 1; // CSN拉高,結束數據傳輸</p><p> returN(reg_val); // 返回寄存器數據</p><p><b> }</b></p><p> /*******************************************
113、*******/</p><p> /**************************************************</p><p> 函數:SPI_Read_Buf()</p><p><b> 描述:</b></p><p> 從reg寄存器讀出bytes個字節(jié),通常用來讀取接收通道&l
114、t;/p><p> 數據或接收/發(fā)送地址</p><p> /**************************************************/</p><p> uchar SPI_Read_Buf(uchar reg, uchar * pBuf, uchar bytes)</p><p><b> {&l
115、t;/b></p><p> uchar status, i;</p><p> CSN = 0; // CSN置低,開始傳輸數據</p><p> status = SPI_RW(reg); // 選擇寄存器,同時返回狀態(tài)字</p><p> for(i=0; i<byt
116、es; i++)</p><p> pBuf[i] = SPI_RW(0); // 逐個字節(jié)從NRF24L01讀出</p><p> CSN = 1; // CSN拉高,結束數據傳輸</p><p> returN(status); // 返回狀態(tài)寄存器</p><p>
117、;<b> }</b></p><p> /**************************************************/</p><p> /**************************************************</p><p> 函數:SPI_Write_Buf()</p&
118、gt;<p><b> 描述:</b></p><p> 把pBuf緩存中的數據寫入到NRF24L01,通常用來寫入發(fā)</p><p> 射通道數據或接收/發(fā)送地址</p><p> /**************************************************/</p><p&
119、gt; uchar SPI_Write_Buf(uchar reg, uchar * pBuf, uchar bytes)</p><p><b> {</b></p><p> uchar status, i;</p><p> CSN = 0; // CSN置低,開始傳輸數據</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子與信息工程畢業(yè)論文單片機雙機通信系統(tǒng)設計
- 單片機雙機通信系統(tǒng)設計【文獻綜述】
- 單片機雙機通信系統(tǒng)設計【開題報告】
- 單片機串口通信畢業(yè)論文
- 基于avr單片機與上位機的通信系統(tǒng)設計
- 基于單片機倒車系統(tǒng)設計【通信工程畢業(yè)論文】
- 單片機之間的串口通信設計畢業(yè)論文
- 基于單片機倒車系統(tǒng)設計【通信工程畢業(yè)論文】
- 畢業(yè)論文---單片機串行通信發(fā)射機
- 畢業(yè)論文----單片機串行通信發(fā)射機
- [畢業(yè)論文]單片機串行通信發(fā)射機
- 畢業(yè)論文——單片機串行通信發(fā)射部分設計
- 基于avr單片機的485通信系統(tǒng)設計
- 單片機應用系統(tǒng)畢業(yè)論文
- 單片機自動打鈴系統(tǒng)設計畢業(yè)論文
- 畢業(yè)論文——單片機紅外遙控系統(tǒng)設計
- 單片機畢業(yè)論文
- 單片機畢業(yè)論文
- 單片機畢業(yè)論文
- 單片機畢業(yè)論文
評論
0/150
提交評論