基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(發(fā)射部分)_第1頁(yè)
基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(發(fā)射部分)_第2頁(yè)
基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(發(fā)射部分)_第3頁(yè)
基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(發(fā)射部分)_第4頁(yè)
基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(發(fā)射部分)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、大連海事大學(xué)裝訂線畢 業(yè) 論 文二一四年六月 基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(發(fā)射部分) 專業(yè)班級(jí): 通信工程2班 姓 名: 趙曉明 指導(dǎo)教師: 譚克俊 信息科學(xué)技術(shù)學(xué)院 摘 要 紅外通信技術(shù)是當(dāng)今被廣泛采用的短距離無線通信技術(shù)。本文在簡(jiǎn)單介紹紅外協(xié)議基本原理的基礎(chǔ)上,重點(diǎn)論述了采用STM32平臺(tái)來實(shí)現(xiàn)一套紅外通信系統(tǒng)發(fā)射部分的具體工作原理及實(shí)現(xiàn)方法。本紅外通信系統(tǒng)發(fā)射部分由前置模擬信號(hào)調(diào)理電路、STM32F103ZETT6片內(nèi)AD設(shè)計(jì)的A/D轉(zhuǎn)換部分、溫度采集模塊和紅外發(fā)射驅(qū)動(dòng)電路組成。前置模擬信號(hào)調(diào)理電路可將MIC、音樂和正弦波形3種模擬信號(hào)電壓調(diào)節(jié)至0至3.3V,配合STM32平臺(tái)的片內(nèi)

2、AD將3種模擬信號(hào)數(shù)字化。得到的數(shù)字信號(hào)發(fā)送至紅外發(fā)射驅(qū)動(dòng)電路,利用紅外發(fā)光管,實(shí)現(xiàn)信號(hào)的定向傳輸。STM32平臺(tái)的片內(nèi)AD可達(dá)到較高的采樣率,完成語(yǔ)音信號(hào)的高質(zhì)量采樣。在發(fā)送語(yǔ)音信號(hào)的同時(shí),通過STM32平臺(tái)上DHT11模塊得到的溫度信息可與語(yǔ)音信號(hào)采用信道時(shí)分復(fù)用的方式進(jìn)行傳輸,每8秒傳輸一次溫度信息。本紅外光通信裝置發(fā)射部分實(shí)現(xiàn)了語(yǔ)音模擬信號(hào)與溫度數(shù)字信號(hào)的發(fā)送,傳輸距離達(dá)到2m,配合中繼轉(zhuǎn)接部分可將信號(hào)完成90度變換,且接收端的語(yǔ)音無明顯失真。 關(guān)鍵詞:紅外通信;STM32平臺(tái);AD采樣率;時(shí)分復(fù)用 ABSTRACTInfrared communication technology i

3、s the short distance wireless communication technology is widely applied today. In this paper, on the basis of simple introduction to basic principle of infrared protocol, mainly discusses the STM32 platform to implement a set of infrared communication system is part of the working principle and imp

4、lementation method.The infrared communication system launch part by the front analog signal conditioning circuit, STM32F103ZETT6 chip AD part design of the A/D conversion, temperature acquisition module and infrared emission of driving circuit. Front analog signal conditioning circuit to MIC, music

5、and sine waveform three analog signal voltage regulation to 0 to 3.3 V, coordinates the STM32 platform on chip AD will be three kinds of digital analog signal. Get digital signal sent to the infrared emission of the drive circuit, using infrared light-emitting tube, realize the directional transmiss

6、ion of signals. STM32 platform on chip AD can achieve high sampling rate, to complete the high quality of the voice signal sampling. At the same time of sending voice signal, temperature information is obtained by STM32 platform DHT11 module can be used with voice signal channel of time-division mul

7、tiplexing transmission in the form of information transmission every 8 seconds a temperature.The infrared emission part implements the communication devices voice analog signals and temperature digital signal send and transmission distance to 2 m, part with relay switching signal can be 90 degree tr

8、ansformation, and the voice has no obvious distortion at the receiving end.Keywords:Infrared communication,STM32 platform,The AD sampling rate,Time-division multiplexing 目 錄第1章 緒論11.1 紅外通信簡(jiǎn)介11.2 國(guó)內(nèi)外紅外通信的發(fā)展現(xiàn)狀11.2.1 國(guó)外現(xiàn)狀11.2.2 國(guó)內(nèi)現(xiàn)狀21.3 紅外通信的特點(diǎn)31.4 紅外通信的用途31.5 主要工作3第2章 紅外通信標(biāo)準(zhǔn)協(xié)議與接口器件52.1 紅外通信標(biāo)準(zhǔn)協(xié)議52.1.1

9、Irda 標(biāo)準(zhǔn)62.1.2 Irda 技術(shù)標(biāo)準(zhǔn)的發(fā)展62.2 紅外通信的接口器件7第3章 STM32平臺(tái)與Altium Designer83.1 STM32平臺(tái)簡(jiǎn)介83.1.1 STM32平臺(tái)資源83.1.2 本系統(tǒng)所用到的硬件介紹113.2 Altium Designer簡(jiǎn)介12第4章 紅外光通信系統(tǒng)硬件設(shè)計(jì)134.1 紅外光通信系統(tǒng)的組成134.2 發(fā)射部分設(shè)計(jì)144.3 MIC偏置電路144.4 前置模擬信號(hào)調(diào)理電路154.5 信號(hào)處理單元174.5.1 AD部分174.5.2 DHT11模塊174.5.3 串口發(fā)送模塊184.6 紅外發(fā)射電路18第5章 紅外光通信系統(tǒng)軟件設(shè)計(jì)215.1

10、 軟件平臺(tái)RVMDK3.80A介紹215.2 程序設(shè)計(jì)225.2.1 AD部分程序225.2.2 定時(shí)器部分程序25第6章 系統(tǒng)調(diào)試與總結(jié)276.1 紅外光通信系統(tǒng)各組成部分276.2 測(cè)試286.3 結(jié)論30參考文獻(xiàn)31致 謝32IV 基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(發(fā)射部分)基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(發(fā)射部分)第1章 緒論1.1 紅外通信簡(jiǎn)介隨著便攜式通信設(shè)備的興起,無線接入技術(shù)得到了廣泛的重視。已有的無線通信技術(shù)包括紅外、微波、無線電、藍(lán)牙等技術(shù)。紅外數(shù)據(jù)通信指的是兩臺(tái)設(shè)備之間通過紅外線進(jìn)行無線數(shù)據(jù)傳輸?shù)囊环N數(shù)據(jù)傳輸方式,一般采用950nm近紅外波段的紅外線作為傳遞信息的媒介。發(fā)送

11、設(shè)備將基帶二進(jìn)制信號(hào)調(diào)制成一系列的脈沖串信號(hào),通過紅外發(fā)射管發(fā)射紅外信號(hào)。接收設(shè)備將接收到的光脈沖轉(zhuǎn)換成電信號(hào),再經(jīng)過放大、濾波等處理后送給解調(diào)電路進(jìn)行解調(diào),還原為二進(jìn)制數(shù)字信號(hào)后輸出。常用使用調(diào)節(jié)脈沖寬度來實(shí)現(xiàn)信號(hào)調(diào)制的脈寬調(diào)制(PWM)和調(diào)節(jié)脈沖串之間的時(shí)間間隔來實(shí)現(xiàn)信號(hào)調(diào)制的脈時(shí)調(diào)制(PPM)這兩種方法。 簡(jiǎn)而言之,紅外通信的實(shí)質(zhì)就是對(duì)二進(jìn)制數(shù)字信號(hào)進(jìn)行調(diào)制與解調(diào),以便用紅外信道進(jìn)行傳輸;紅外通信接口是針對(duì)紅外信道的調(diào)制解調(diào)器【1】。1.2 國(guó)內(nèi)外紅外通信的發(fā)展現(xiàn)狀1.2.1 國(guó)外現(xiàn)狀軍用領(lǐng)域: 紅外技術(shù)已廣泛應(yīng)用于陸、海、空各軍兵種,其中紅外成像精確制導(dǎo)是各國(guó)紅外技

12、術(shù)應(yīng)用的主流方向之一。紅外成像制導(dǎo)技術(shù)是由美國(guó)人從60年代初開始研創(chuàng)。在歐、美發(fā)達(dá)國(guó)家,非消耗性紅外成像制導(dǎo)(指揮、預(yù)警和火控)系統(tǒng)的列裝率較高,幾乎軍用(警用)艦船上、飛機(jī)上、戰(zhàn)車上和重要的地面陣地都裝備了大量的紅外成像設(shè)備,并發(fā)揮了相當(dāng)重要的作用。  根據(jù)國(guó)際光學(xué)學(xué)會(huì)(SPIE)估計(jì),目前全球軍用紅外熱像儀的實(shí)際年需求至少為30 億美元。民用領(lǐng)域: 根據(jù)美國(guó)Maxtech International 發(fā)布的紅外市場(chǎng)報(bào)告, 2006年全球民用紅外熱像儀的銷售額為16.3億美元,幾年來,全球民用紅外熱像儀市場(chǎng)需求年均增長(zhǎng)率已

13、超過了15%,預(yù)計(jì)2010 年全球民用紅外熱像儀市場(chǎng)供給將達(dá)到28億美元。 全球民用紅外熱像儀市場(chǎng)的供給和需求趨勢(shì):由于紅外技術(shù)具有很高的軍用和民用價(jià)值,近年來國(guó)外主要廠家紛紛在核心器件及系統(tǒng)產(chǎn)品的產(chǎn)業(yè)化進(jìn)程中加大投入和研發(fā)的力度。1.2.2 國(guó)內(nèi)現(xiàn)狀軍用領(lǐng)域: 由于紅外技術(shù)能比較全面地滿足軍事應(yīng)用上的各種需求,因而紅外技術(shù)也是當(dāng)今國(guó)內(nèi)競(jìng)相發(fā)展的重點(diǎn)技術(shù)之一。  目前我國(guó)軍隊(duì)中紅外熱像儀應(yīng)用的相對(duì)較少,按照我國(guó)政府發(fā)布的2006年中國(guó)的國(guó)防白皮書,我國(guó)軍隊(duì)的人員數(shù)量為230萬(wàn)人,如果未來我軍 10%的部隊(duì)裝備紅外熱像儀,則我國(guó)軍用紅外

14、熱像儀市場(chǎng)容量就可達(dá)到23萬(wàn)套,以每套5萬(wàn)元(目前大部份軍用紅外熱像儀實(shí)際售價(jià)遠(yuǎn)超過10萬(wàn)元)來計(jì)算,其市場(chǎng)需求量可達(dá)115億元。 民用領(lǐng)域: 紅外熱像儀在我國(guó)應(yīng)用于安防、消防、電力、建筑等行業(yè)領(lǐng)域目前還處于起步階段,發(fā)展空間巨大,未來市場(chǎng)空間將超過軍用需求。 由于國(guó)內(nèi)經(jīng)濟(jì)高速發(fā)展,中國(guó)紅外熱像儀市場(chǎng)的年均增長(zhǎng)率將達(dá)到甚至超過20%,預(yù)計(jì)2011年中國(guó)民用紅外熱像儀市場(chǎng)的需求量可以達(dá)到9.95億元。若考慮到新的應(yīng)用領(lǐng)域的開發(fā),其實(shí)際的市場(chǎng)需求總量將可能超過這一預(yù)測(cè)。 目前國(guó)產(chǎn)紅外熱像儀的產(chǎn)品性能已經(jīng)基本接近進(jìn)口產(chǎn)品,但由于品牌影響力等原因,價(jià)格只是進(jìn)口產(chǎn)

15、品的一半。 紅外熱像儀的核心部件主要靠進(jìn)口,核心技術(shù)受制于人。國(guó)內(nèi)企業(yè)的競(jìng)爭(zhēng)力主要體現(xiàn)在總體技術(shù)、光學(xué)系統(tǒng)、后續(xù)電路、圖像處理軟件等方面。當(dāng)然、人才、管理、市場(chǎng)也是競(jìng)爭(zhēng)力的一部分【2】。1.3 紅外通信的特點(diǎn)紅外通信技術(shù)是目前被廣泛使用的一種無線連接技術(shù),被眾多的硬件和軟件平臺(tái)所支持,其主要特點(diǎn): (1) 通過數(shù)據(jù)電脈沖和紅外光脈沖之間的相互轉(zhuǎn)換實(shí)現(xiàn)無線的數(shù)據(jù)收發(fā); (2) 主要是用來取代點(diǎn)對(duì)點(diǎn)的線纜連接; (3) 新的通訊標(biāo)準(zhǔn)兼容早期的通訊標(biāo)準(zhǔn);  (4) 小角度(30度錐角以內(nèi)),短距離,點(diǎn)對(duì)點(diǎn)直線數(shù)據(jù)傳輸,保密性強(qiáng); 

16、(5) 傳輸速率較高,目前4M速率的FIR技術(shù)已被廣泛使用,16M速率的VFIR技術(shù)已經(jīng)發(fā)布【3】。1.4 紅外通信的用途紅外通信技術(shù)常被應(yīng)用在計(jì)算機(jī)及其外圍設(shè)備、移動(dòng)電話、數(shù)碼相機(jī)、工業(yè)設(shè)備和醫(yī)療設(shè)備、網(wǎng)絡(luò)接入設(shè)備,如調(diào)制解調(diào)器等。 但因?yàn)榧t外通信具有通訊距離短,在通訊過程中不能移動(dòng),遇障礙物通訊中斷、傳輸速率較低等的缺點(diǎn),主要目的是取代線纜連接進(jìn)行無線數(shù)據(jù)傳輸。1.5 主要工作制作紅外光通信系統(tǒng)發(fā)射部分,與紅外光通信系統(tǒng)的接收部分配合完成基本的通信。發(fā)射部分要使輸入端的MIC、音樂和正弦波形3種模擬信號(hào)正確傳輸,并要求輸出端收到的聲音無明顯失真。同時(shí)檢測(cè)環(huán)境的溫度,使之與3種模擬

17、信號(hào)采用時(shí)分復(fù)用的方式發(fā)送到輸出端。傳輸距離達(dá)到2m,并有中繼轉(zhuǎn)接部分,完成信號(hào)傳輸方向90度的變換。第2章 簡(jiǎn)要介紹了紅外通信標(biāo)準(zhǔn)和紅外接收器件。第三章簡(jiǎn)要介紹了STM32平臺(tái)和Altium Designer。第四章在簡(jiǎn)單介紹紅外通信系統(tǒng)總體設(shè)計(jì)的基礎(chǔ)上,重點(diǎn)論述了發(fā)射部分硬件設(shè)計(jì)的功能及原理。第五章論述了紅外通信系統(tǒng)發(fā)射部分的軟件設(shè)計(jì)。第六章簡(jiǎn)單介紹了整個(gè)紅外光通信系統(tǒng)實(shí)物,重點(diǎn)描述了實(shí)際檢測(cè)的現(xiàn)象與結(jié)果。第2章 紅外通信標(biāo)準(zhǔn)協(xié)議與接口器件2.1 紅外通信標(biāo)準(zhǔn)協(xié)議紅外線接口的標(biāo)準(zhǔn)由 IrDA(InfraRed Data Association,紅外線數(shù)據(jù)協(xié)會(huì))制定的,現(xiàn)在很多資料和書籍上都

18、稱紅外線接口為 IrDA。 IrDA 是一種利用紅外線進(jìn)行點(diǎn)對(duì)點(diǎn)通信的技術(shù),它也許是第一個(gè)實(shí)現(xiàn)無線個(gè)人局域網(wǎng)的技術(shù)。目前它的軟硬件技術(shù)都很成熟,在小型移動(dòng)設(shè)備,如 PDA、手機(jī)上廣泛使用。事實(shí)上,當(dāng)今每一個(gè)出廠的 PDA 及許多手機(jī)、筆記本電腦、打印機(jī)等產(chǎn)品都支持 IrDA。 IrDA 的主要優(yōu)點(diǎn)是無需申請(qǐng)頻率的使用權(quán),因而紅外通信成本低廉。它還具有移動(dòng)通信所需的體積小、功耗低、連接方便、簡(jiǎn)單易用的特點(diǎn)。由于數(shù)據(jù)傳輸率較高,適于傳輸大容量的文件和多媒體數(shù)據(jù)。此外,紅外線發(fā)射角度較小,傳輸上安全性高。IrDA 的不足在于它是一種視距傳輸,2 個(gè)相互通信的設(shè)備之間必須對(duì)準(zhǔn),中間不能被其它物體阻隔,

19、因而該技術(shù)只能用于 2 臺(tái)(非多臺(tái))設(shè)備之間的連接。而藍(lán)牙就沒有此限制,且不受墻壁的阻隔。 IrDA 目前的研究方向是如何解決視距傳輸問題及提高數(shù)據(jù)傳輸率。Irda協(xié)議棧是紅外通信的核心,它規(guī)定了進(jìn)行紅外通信雙方從硬件到軟件的統(tǒng)一通信規(guī)范,使各個(gè)提供紅外通信相應(yīng)產(chǎn)品的廠商遵守統(tǒng)一的規(guī)范來生產(chǎn)產(chǎn)品,從而促進(jìn)紅外通信的發(fā)展。紅外協(xié)議棧與TCP/IP協(xié)議棧一樣,管理整個(gè)通信過程。它被劃分成幾層,各層除有自己的一套管理職責(zé)外,還與上下層之間聯(lián)系緊密,可以互相調(diào)用,將各協(xié)議層疊起來就成了協(xié)議棧。Irda是一套層疊的專門針對(duì)點(diǎn)對(duì)點(diǎn)紅外通信的協(xié)議【4】。紅外數(shù)據(jù)通信協(xié)議簇由必要協(xié)議和可選協(xié)議兩部分組成,必要

20、協(xié)議包括物理層、紅外鏈路建立協(xié)議、紅外鏈路管理協(xié)議和信息獲取服務(wù),依據(jù)各種特殊應(yīng)用需求可選配流傳輸協(xié)議、對(duì)象交換協(xié)議、模擬串口層和局域網(wǎng)訪問協(xié)議【5】。2.1.1 Irda 標(biāo)準(zhǔn)IrDA 標(biāo)準(zhǔn)主要分為兩種類型,即“IrDA Data”和“IrDA Control”。其中 IrDA Data 主要用于與其他設(shè)備交換數(shù)據(jù)。而 IrDA Control 則主要用于與人機(jī)接口設(shè)備(HID)通信,如鍵盤、鼠標(biāo)器等。 IrDA Data 的傳輸距離為 0.2至1 米,傳輸速度為 9600bps至16Mbps。IrDA Control的傳輸距離為 8 米,傳輸速度為 75Kbps【6】。2.1.2 Irda

21、 技術(shù)標(biāo)準(zhǔn)的發(fā)展IrDA 于 1994 年發(fā)表了 IrDA 1.0,簡(jiǎn)稱為 SIR(Serial InfraRed),是一種非同步、半雙工紅外通信方式。SIR 的實(shí)現(xiàn)基于 UART,是在計(jì)算機(jī)的 UART 上擴(kuò)展紅外線編譯碼器和紅外收發(fā)器構(gòu)成的。 SIR 的傳輸速率取決于 UART,最高傳輸速率受到 UART 的限制,最高為115.2Kbps,發(fā)射接收角度為 30 度。是由于它基于 UART,SIR 的成本較低。 在 SIR 之后,IrDA 于 1996 年發(fā)布了 IrDA 1.1,即 FIR(Fast InfraRed),F(xiàn)IR不再基于 UART,而是直接連接在計(jì)算機(jī)總線,它的性能也就不受制

22、于 UART的性能了。FIR 的數(shù)據(jù)傳輸速率最高為 4Mbps。FIR 仍然支持 SIR 的傳輸模式,與 SIR 向下兼容,當(dāng) FIR 設(shè)備與 SIR 設(shè)備通信時(shí),使用 SIR 的速率和調(diào)制模式。只有通信雙方都支持 FIR 的 4Mbps 速率時(shí),才將通信速率設(shè)定在 4Mbps。 2001 年 IrDA 發(fā)布了最高通信速率為 16Mbps 的 VFIR(Very Fast InfraRed)標(biāo)準(zhǔn)。VFIR 設(shè)備兼容 SIR 和 FIR 設(shè)備。 AIR(Advanced InfraRed)是 IrDA 針對(duì)藍(lán)牙技術(shù)的競(jìng)爭(zhēng)發(fā)布的一個(gè)多點(diǎn)連接紅外線規(guī)范,它的優(yōu)點(diǎn)是其傳輸距離和發(fā)射接收角度的改進(jìn)。在

23、4Mbps 通信速率下其傳輸距離可以達(dá)到 4 米,在更低速率下傳輸距離可以達(dá)到 8 米。AIR 規(guī)范的發(fā)射接收角度為 120 度。更重要的是它支持多點(diǎn)連接,其他的 IrDA 規(guī)范都只支持點(diǎn)對(duì)點(diǎn)連接。 由于紅外接口主要使用在便攜設(shè)備,這類設(shè)備通常對(duì)功耗要求很高,為了降低設(shè)備的功耗,IrDA 發(fā)布了低功耗的 IrDA1.2 和 IrDA1.3,但同時(shí)縮短了傳輸距離,傳輸距離為 0.2至0.3 米。這兩個(gè)標(biāo)準(zhǔn)分別是 SIR 和 FIR 的低功耗版本【7】。 2.2 紅外通信的接口器件紅外接口芯片主要分為紅外編碼器和紅外收發(fā)器兩類。目前的大多數(shù)筆記本和掌上電腦都配有紅外線接口,但在臺(tái)式計(jì)算機(jī)上使用紅外

24、接口多都需要擴(kuò)展紅外線接口。在臺(tái)式計(jì)算機(jī)上擴(kuò)展紅外接口的最簡(jiǎn)單方法是使用 USB 接口紅外適配器。由于 Windows 操作系統(tǒng)已經(jīng)全面支持紅外協(xié)議,通過紅外適配器可以方便的與紅外設(shè)備實(shí)現(xiàn)連接。 紅外線接口器件主要包括以下幾類: 紅外編解碼器:一般連接計(jì)算機(jī)系統(tǒng)的 UART,實(shí)現(xiàn)異步串行信號(hào)和紅外調(diào)制信號(hào)之間的轉(zhuǎn)換,這一類器件大多是 SIR 標(biāo)準(zhǔn)。主要的產(chǎn)品有 HP 公司的HSDL-7001、Microchip 公司的 MCP2120、TI 公司的 TIR1000 等; 紅外收發(fā)器:用于發(fā)送和接收紅外線信號(hào)的器件,主要是集成了紅外發(fā)射二極管和紅外接收二極管。主要的產(chǎn)品有安捷倫(Agilent

25、Technologies)公司的HSDL-1001 和 HSDL-3201 等; 紅外協(xié)議處理器:包括紅外編解碼器和紅外協(xié)議軟件的器件,如 Microchip公司的 MCP 2150/2155,它的硬件接口和紅外編解碼器件類似,但具備 IrDA 的協(xié)議控制; 紅外橋器件:用于實(shí)現(xiàn) IrDA 接口與其他接口的變換。如 SigmaTel 公司的USB-IrDA 橋 STIr4200,實(shí)現(xiàn) IrDA 與 USB 的接口信號(hào)和協(xié)議轉(zhuǎn)換【8】。 第3章 STM32平臺(tái)與Altium Designer3.1 STM32平臺(tái)簡(jiǎn)介3.1.1 STM32平臺(tái)資源本紅外光通信系統(tǒng)的發(fā)射部分基于STM32開發(fā)平臺(tái),

26、采用的ALIENTEK戰(zhàn)艦STM32開發(fā)板如圖3.1所示: 圖3.1 戰(zhàn)艦STM32 開發(fā)板圖ALIENTEK戰(zhàn)艦STM32開發(fā)板選擇STM32F103ZETT6作為MCU,該芯片在STM32F103系列里面配置非常強(qiáng)大,它擁有的資源包括:64KB SRAM、512KB FLASH、2個(gè)基本定時(shí)器、4個(gè)通用定時(shí)器、2個(gè)高級(jí)定時(shí)器、2個(gè)DMA控制器(共12個(gè)通道)、3個(gè)SPI、2個(gè)IIC、5個(gè)串口、1個(gè)USB、1個(gè)CAN、3個(gè)12位ADC、1個(gè)12位DAC、1個(gè)SDIO接口、1個(gè)FSMC接口以及112個(gè)通用IO口。該芯片的配置十分強(qiáng)悍,并且還帶外部總線(FSMC)可以用來外擴(kuò)SRAM和連接LCD

27、等,通過FSMC驅(qū)動(dòng)LCD,可以顯著提高LCD的刷屏速度。STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計(jì)的ARM Cortex-M3內(nèi)核。按性能分成兩個(gè)不同的系列:STM32F103“增強(qiáng)型”系列和STM32F101“基本型”系列。增強(qiáng)型系列時(shí)鐘頻率達(dá)到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時(shí)鐘頻率為36MHz,以16位產(chǎn)品的價(jià)格得到比16位產(chǎn)品大幅提升的性能,是16位產(chǎn)品用戶的最佳選擇。兩個(gè)系列都內(nèi)置32K到128K的閃存,不同的是SRAM的最大容量和外設(shè)接口的組合。時(shí)鐘頻率72MHz時(shí),從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場(chǎng)上功耗最低的產(chǎn)品,相當(dāng)

28、于0.5mA/MHz【9】。STM32103系列特點(diǎn):(1)內(nèi)核:ARM32位Cortex-M3 CPU,最高工作頻率72MHz,1.25DMIPS/MHz。單周期乘法和硬件除法。(2)存儲(chǔ)器:片上集成32-512KB的Flash存儲(chǔ)器。6-64KB的SRAM存儲(chǔ)器。(3)時(shí)鐘、復(fù)位和電源管理:2.0-3.6V的電源供電和I/O接口的驅(qū)動(dòng)電壓。POR、PDR和可編程的電壓探測(cè)器(PVD)。4-16MHz的晶振。內(nèi)嵌出廠前調(diào)校的8MHz RC振蕩電路。內(nèi)部40 kHz的RC振蕩電路。用于CPU時(shí)鐘的PLL。帶校準(zhǔn)用于RTC的32kHz的晶振。(4)低功耗:3種低功耗模式:休眠,停止,待機(jī)模式。為

29、RTC和備份寄存器供電的VBAT。(5)調(diào)試模式:串行調(diào)試(SWD)和JTAG接口。(6)DMA:12通道DMA控制器。支持的外設(shè):定時(shí)器,ADC,DAC,SPI,IIC和UART。(7)2個(gè)12位的us級(jí)的A/D轉(zhuǎn)換器(16通道):A/D測(cè)量范圍:0-3.6 V。雙采樣和保持能力。片上集成一個(gè)溫度傳感器。(8)2通道12位D/A轉(zhuǎn)換器:STM32F103xC,STM32F103xD,STM32F103xE獨(dú)有。最多高達(dá)112個(gè)的快速I/O端口:根據(jù)型號(hào)的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16個(gè)外部中斷向量。除了模擬輸入,所有的都可以接受5V以內(nèi)的輸入

30、。(9)最多多達(dá)11個(gè)定時(shí)器:4個(gè)16位定時(shí)器,每個(gè)定時(shí)器有4個(gè)IC/OC/PWM或者脈沖計(jì)數(shù)器。2個(gè)16位的6通道高級(jí)控制定時(shí)器:最多6個(gè)通道可用于PWM輸出。2個(gè)看門狗定時(shí)器(獨(dú)立看門狗和窗口看門狗)。Systick定時(shí)器:24位倒計(jì)數(shù)器。2個(gè)16位基本定時(shí)器用于驅(qū)動(dòng)DAC。(10)最多多達(dá)13個(gè)通信接口:2個(gè)IIC接口(SMBus/PMBus)。5個(gè)USART接口(ISO7816接口,LIN,IrDA兼容,調(diào)試控制)。3個(gè)SPI接口(18 Mbit/s),兩個(gè)和IIS復(fù)用。CAN接口(2.0B)。USB 2.0全速接口。SDIO接口?;赟TM32103系列如此多的特點(diǎn)和功能,本系統(tǒng)選擇

31、了STM32平臺(tái),圖3.2為MCU部分原理圖。圖3.2 MCU部分原理圖3.1.2 本系統(tǒng)所用到的硬件介紹為了實(shí)現(xiàn)紅外光通信系統(tǒng)發(fā)射部分的功能,用到了許多STM32開發(fā)板的功能。這里著重介紹以下幾部分。(1)JTAG/SWD這是ALIENTEK戰(zhàn)艦STM32開發(fā)板板載的20針標(biāo)準(zhǔn)JTAG調(diào)試口(JTAG),該JTAG口直接可以和ULINK、JLINK或者STLINK等調(diào)試器(仿真器)連接,同時(shí)由于STM32支持SWD調(diào)試,這個(gè)JTAG口也可以用SWD模式來連接。用標(biāo)準(zhǔn)的JTAG調(diào)試,需要占用5個(gè)IO口,有些時(shí)候,可能造成IO口不夠用,而用SWD則只需要2個(gè)IO口,大大節(jié)約了IO數(shù)量,但達(dá)到的效

32、果是一樣的。在調(diào)試程序的過程中利用JTAG/SWD調(diào)試方法既縮短調(diào)試時(shí)間,又便于調(diào)試,方便檢錯(cuò)。(2) DS18B20/DHT11接口本系統(tǒng)中需要測(cè)量環(huán)境的溫度,因此用到了DHT11模塊,開發(fā)板上正好也有該接口電路,方便了溫度測(cè)試的實(shí)現(xiàn)。開發(fā)板的一個(gè)復(fù)用接口DTH11接口,該接口由4個(gè)鍍金排孔組成,可以用來接DS18B20/DS1820等數(shù)字溫度傳感器。也可以用來接DHT11這樣的數(shù)字溫濕度傳感器。實(shí)現(xiàn)一個(gè)接口,2個(gè)功能。(3) AD部分本系統(tǒng)需要將接收到的語(yǔ)音信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào),因此用到了STM32片內(nèi)的AD。片內(nèi)的12位ADC是一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器。它有多達(dá)18個(gè)通道,可測(cè)量16個(gè)

33、外部和2個(gè)內(nèi)部信號(hào)源。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對(duì)齊或右對(duì)齊方式存儲(chǔ)在16位數(shù)據(jù)寄存器中。 (4) 板上的電源模塊開發(fā)板上有3.3V和5V的電源輸入輸出接口,通過接通可以使STM32工作,亦可以引線給后續(xù)電路作為電源。(5) LED指示燈系統(tǒng)工作時(shí),不好估計(jì)當(dāng)前運(yùn)行到程序的哪個(gè)部分,通過設(shè)置LED燈的亮滅,可以清晰的觀察程序的運(yùn)行狀態(tài)。比如,在本系統(tǒng)中用綠燈亮滅表示正在發(fā)送溫度信號(hào)。(6) 串口模塊戰(zhàn)艦STM32在本系統(tǒng)中主要作為處理單元,真正的處理完的數(shù)據(jù)還要發(fā)送給紅外驅(qū)動(dòng)電路,通過串口模塊就可以方便準(zhǔn)確的發(fā)送數(shù)字信號(hào)。3.2 Altium De

34、signer簡(jiǎn)介本設(shè)計(jì)中除了利用STM32平臺(tái)現(xiàn)有的資源,還需設(shè)計(jì)前置模擬信號(hào)調(diào)理電路、紅外發(fā)射驅(qū)動(dòng)電路才能完成發(fā)射信息的工作。因此需要一款設(shè)計(jì)硬件電路的軟件。本設(shè)計(jì)采用的Altium Designer是一款優(yōu)秀硬件電路設(shè)計(jì)平臺(tái)。Altium Designer 是原Protel軟件開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運(yùn)行在Windows XP操作系統(tǒng)。這套軟件通過把原理圖設(shè)計(jì)、電路仿真、PCB繪制編輯、拓?fù)溥壿嬜詣?dòng)布線、信號(hào)完整性分析和設(shè)計(jì)輸出等技術(shù)的完美融合,為設(shè)計(jì)者提供了全新 的設(shè)計(jì)解決方案,使設(shè)計(jì)者可以輕松進(jìn)行設(shè)計(jì),熟練使用這一軟件必將使電路設(shè)計(jì)的質(zhì)量和效率大大提高

35、。Altium Designer 除了全面繼承包括Protel 99SE、Protel DXP在內(nèi)的先前一系列版本的功能和優(yōu)點(diǎn)外,還增加了許多改進(jìn)和很多高端功能。該平臺(tái)拓寬了板級(jí)設(shè)計(jì)的傳統(tǒng)界面,全面集成了FPGA設(shè)計(jì)功能和SOPC設(shè) 計(jì)實(shí)現(xiàn)功能,從而允許工程設(shè)計(jì)人員能將系統(tǒng)設(shè)計(jì)中的FPGA與PCB設(shè)計(jì)及嵌入式設(shè)計(jì)集成在一起。 由于Altium Designer 在繼承先前Protel軟件功能的基礎(chǔ)上,綜合了FPGA設(shè)計(jì)和嵌入式系統(tǒng)軟件設(shè)計(jì)功能,Altium Designer 對(duì)計(jì)算機(jī)的系統(tǒng)需求比先前的版本要高一些【10】。Altium Designer的主要功能包括:原理圖設(shè)計(jì),印刷電路板設(shè)計(jì)

36、,FPGA的開發(fā),嵌入式開發(fā) 等等。第4章 紅外光通信系統(tǒng)硬件設(shè)計(jì)4.1 紅外光通信系統(tǒng)的組成 紅外光通信系統(tǒng)的構(gòu)成框圖如圖4.1 所示,包括語(yǔ)音信號(hào)采集處理、紅外發(fā)射裝置、紅外接收裝置和語(yǔ)音信號(hào)接收處理四部分組成。 紅外信號(hào) 采集接收 紅外發(fā)射 裝置 紅外接收 裝置 語(yǔ)音信號(hào) 接收處理圖4.1 系統(tǒng)總體方案框圖(1) 語(yǔ)音信號(hào)采集處理模塊由信號(hào)采集及前置模擬信號(hào)調(diào)理電路組成。信號(hào)可從麥克、MP3 播放器和低頻信號(hào)發(fā)生器輸入,前置模擬信號(hào)調(diào)理電路能夠調(diào)節(jié)語(yǔ)音信號(hào)偏置電壓和放大倍數(shù)。(2)紅外發(fā)射裝置由STM32F103ZETT6片內(nèi)AD設(shè)計(jì)的A/D轉(zhuǎn)換部分、溫度采集部分和紅外發(fā)射驅(qū)動(dòng)電路組成。

37、設(shè)置A/D 采樣頻率大于語(yǔ)音信號(hào)最高頻率兩倍以上,并對(duì)其進(jìn)行PCM 編碼,將模擬信號(hào)數(shù)字化,通過單片機(jī)傳送給紅外發(fā)光管,從而發(fā)射出去。紅外發(fā)光管驅(qū)動(dòng)使用PNP 型三極管8550 構(gòu)成放大電路,給發(fā)光管提供合適的電流,提高信號(hào)發(fā)射功率,保證通信距離2m 的要求。(3)紅外接收裝置包括紅外通訊模塊、D/A 變換及濾波放大電路。紅外通信模塊內(nèi)部自動(dòng)對(duì)接收到的信號(hào)進(jìn)行處理,保證接收的精確性。D/A 模塊將接收到的數(shù)字信號(hào)變?yōu)槟M信號(hào),再通過濾波電路去除噪聲,提高接收端信噪比,保證接收的聲音無明顯失真。功率放大模塊采用集成功率放大器TDA2003 將語(yǔ)音信號(hào)放大,驅(qū)動(dòng)喇叭發(fā)聲,為喇叭提供足夠的功率。4.

38、2 發(fā)射部分設(shè)計(jì)本設(shè)計(jì)為紅外光通信系統(tǒng)的發(fā)射部分,由前置模擬信號(hào)調(diào)理電路、STM32F103ZETT6片內(nèi)AD設(shè)計(jì)的A/D轉(zhuǎn)換部分、溫度采集模塊和紅外發(fā)射驅(qū)動(dòng)電路組成,圖4.2為發(fā)射部分結(jié)構(gòu)圖。MICMIC偏置電路 正弦信號(hào) 音樂信號(hào)前置模擬信號(hào) 調(diào)理電路信號(hào)處理單元紅外發(fā)射電路圖4.2發(fā)射部分結(jié)構(gòu)圖下面通過論述各個(gè)電路功能與原理,來介紹紅外光通信系統(tǒng)的發(fā)射部分。4.3 MIC偏置電路圖4.3 mic調(diào)理電路MIC偏置電路實(shí)現(xiàn)了MIC內(nèi)部電壓偏置調(diào)節(jié)和電壓放大的作用。該電路輸入阻抗高,抗干擾能力強(qiáng)。圖4.3為MIC調(diào)理電路。MIC調(diào)理電路采用NE5532運(yùn)算放大器,NE5532 單位增益帶寬1

39、0MHz,壓擺率9 V/ms,輸入噪聲低,適于放大低頻小信號(hào)。信號(hào)從MIC端輸入后,通過R1和R2給MIC內(nèi)部的FET放大器提供一個(gè)漏極偏置,使其工作在飽和區(qū),完成信號(hào)放大。后面的2個(gè)運(yùn)放也起到了放大電壓的功能。4.4 前置模擬信號(hào)調(diào)理電路前置模擬信號(hào)調(diào)理電路的功能是將輸入端的MIC、音樂和正弦波形3種模擬信號(hào)電壓調(diào)節(jié)至0至3.3V,使其滿足STM32平臺(tái)的工作電壓。信號(hào)調(diào)節(jié)電路為運(yùn)放NE5532 構(gòu)成的一個(gè)偏置電路和反相放大電路,如圖4.4 所示。P1IN接的是3種模擬信號(hào),通過調(diào)節(jié)電位器R8和R9,使3種語(yǔ)音信號(hào)保持在0至3.3V 范圍內(nèi)。圖4.4 偏置及放大電路具體調(diào)節(jié)方法:通過調(diào)節(jié)R8

40、的電阻,使第一個(gè)運(yùn)放同向端電壓變大。從而提升了輸入電壓的最小值,使其最小電壓大于0V。調(diào)節(jié)R5,得到圖4.5.a和圖4.5.b。圖中上邊波形為第一個(gè)運(yùn)放的輸出,下邊代表第一個(gè)運(yùn)放輸入的信號(hào)。通過前后兩圖比較,發(fā)現(xiàn)輸出波形往下移動(dòng),即輸出電壓偏置在減小。但是通過2個(gè)運(yùn)放之后,實(shí)際的效果是提升了偏置電壓。調(diào)節(jié)R9的電阻可以控制U1B的最大輸出電壓。最終將輸入的3種模擬信號(hào)調(diào)節(jié)至0至3.3V。U1A輸入波形U1A輸出波形圖4.5.a 調(diào)節(jié)偏置前的輸入輸出波形U1A輸入波形U1A輸出波形 圖4.5.b 調(diào)節(jié)偏置后的輸入輸出波形 4.5 信號(hào)處理單元4.5.1 AD部分利用戰(zhàn)艦STM32平臺(tái)的片內(nèi)ADC

41、,即可完成對(duì)語(yǔ)音信號(hào)的模數(shù)轉(zhuǎn)換。STM32平臺(tái)的12位ADC是一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器。它有多達(dá)18個(gè)通道,可測(cè)量16個(gè)外部和2個(gè)內(nèi)部信號(hào)源。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對(duì)齊或右對(duì)齊方式存儲(chǔ)在16位數(shù)據(jù)寄存器中。本發(fā)射部分采樣的數(shù)據(jù)都是語(yǔ)音信號(hào),頻率分布于300hz與3000hz之間。根據(jù)奈奎斯特定律,采樣率要大于2倍的信號(hào)頻率,才能無誤的還原原始信號(hào)。戰(zhàn)艦STM32的采樣頻率可以通過編程控制。根據(jù)STM中文參考手冊(cè),得知ADC總轉(zhuǎn)換時(shí)間=采樣時(shí)間+12.5周期。我們通過設(shè)置ADC的分頻因子使得ADCCLK=12Mhz,再設(shè)置采樣時(shí)間為最大的23

42、9.5周期(采樣時(shí)間越長(zhǎng),準(zhǔn)確度越高)。此時(shí)得到ADC總轉(zhuǎn)換時(shí)間=252周期,T=1/f=1/12Mhz,所以ADC轉(zhuǎn)換時(shí)間=252/12Mhz=21us。采樣率=1/T=47.6kHz,大大超過6khz以上。 但是最終采樣的數(shù)據(jù)會(huì)通過串口發(fā)送給紅外驅(qū)動(dòng)電路,設(shè)置串口的波特率為115200B,即14400khz。所以最終的采樣的部分點(diǎn)會(huì)丟失,但是14400khz>6khz,依然滿足奈奎斯特定律。4.5.2 DHT11模塊通過DHT11芯片即可完成對(duì)溫度的測(cè)量。發(fā)送裝置每8秒發(fā)送一個(gè)標(biāo)志信號(hào),同時(shí)發(fā)送溫度信號(hào)。在接收端判斷是否接收到標(biāo)志位,來判斷是否是溫度信號(hào)。DHT11 數(shù)字溫濕度傳感器

43、是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20 米以上。最后通過STM32芯片處理數(shù)據(jù),經(jīng)過串口將數(shù)據(jù)發(fā)送到紅外驅(qū)動(dòng)電路上。溫度信號(hào)的發(fā)送,本系統(tǒng)采用時(shí)分復(fù)用的工作方式。時(shí)分多路復(fù)用適用于數(shù)字信號(hào)的傳輸。由于信道的位傳輸率超過每一路信號(hào)的數(shù)據(jù)傳輸率,因此可將信道按時(shí)間分成若干片段輪換地給多個(gè)信號(hào)使用。每一時(shí)間片由復(fù)用的一個(gè)信號(hào)單獨(dú)占用,在規(guī)定的時(shí)間內(nèi),多個(gè)數(shù)字信號(hào)都可按要求傳輸?shù)竭_(dá),從而也實(shí)現(xiàn)了一條物理信道上傳輸多個(gè)數(shù)字信號(hào)。4.5.3 串口發(fā)送模塊本設(shè)計(jì)中串口的主要工作是將通過AD轉(zhuǎn)化得到的數(shù)字信號(hào)發(fā)送給紅外發(fā)射驅(qū)動(dòng)電路。串口發(fā)送的數(shù)據(jù)都是8位數(shù)

44、據(jù),而通過ADC得到的數(shù)據(jù)都是12位的,本系統(tǒng)發(fā)送部分通過截取的方式,發(fā)送數(shù)據(jù)。即將ADC的數(shù)據(jù)靠右保存,并右移4位,發(fā)送給串口。最后在接收端,將收到的數(shù)據(jù)左移4位,還原為原始數(shù)據(jù)。這個(gè)過程中,存在著誤差。即發(fā)送端12位數(shù)據(jù)的低四位被抹去了,在此系統(tǒng)中這樣的誤差可以接受。4.6 紅外發(fā)射電路在紅外驅(qū)動(dòng)電路中,為了保證紅外發(fā)光管發(fā)射功率足夠,要對(duì)其進(jìn)行驅(qū)動(dòng)放大,使用PNP 三極管8550 對(duì)其輸入電流進(jìn)行放大,使接收端能夠在兩米之外準(zhǔn)確接收到發(fā)射的數(shù)字信號(hào)。其原理圖如圖4.7 所示。圖4.7 紅外發(fā)射驅(qū)動(dòng)電路ADC采樣得到的數(shù)據(jù)通過串口發(fā)送給紅外驅(qū)動(dòng)電路,相同的串口數(shù)據(jù)通過兩路發(fā)送出去。第一路經(jīng)

45、過一個(gè)反相器,第二路經(jīng)過2個(gè)反相器,所以實(shí)際發(fā)送的兩路波形正好相反。接收端有兩個(gè)接收芯片,編程使得在接收到波形的下降沿時(shí),分別使IO口輸出1和0。因?yàn)?個(gè)接收芯片收到的波形分別是原始波形的相同和相反形狀,因此最終該IO口輸出的波形就是原始的串口數(shù)據(jù)。為了判斷接收的波形是否準(zhǔn)確,我們通過比較串口的數(shù)據(jù)來分析,如圖4.8,圖中上半部分?jǐn)?shù)據(jù)代表發(fā)射端的串口數(shù)據(jù),下半部分?jǐn)?shù)據(jù)代表輸出端的串口數(shù)據(jù)。觀察兩者圖形一致,所以接收的數(shù)據(jù)準(zhǔn)確。圖4.9.a和圖4.9.b分別表示的是2路相反的串口數(shù)據(jù)通過紅外發(fā)射管發(fā)射,最后由紅外接收芯片接收后的波形,兩圖中下半部分波形代表檢測(cè)到波形的下降沿時(shí)刻。接收端串口數(shù)據(jù)發(fā)

46、送端串口數(shù)據(jù) 圖4.8 發(fā)射端和接收端的串口數(shù)據(jù)第一路接收芯片數(shù)據(jù)發(fā)送端串口數(shù)據(jù)圖 4.9.a 第一路接收芯片處的波形與發(fā)送串口波形第二路接收芯片數(shù)據(jù)發(fā)送端串口數(shù)據(jù)圖4.9.b 第二路接收芯片處的波形與發(fā)送串口波形第5章 紅外光通信系統(tǒng)軟件設(shè)計(jì)5.1 軟件平臺(tái)RVMDK3.80A介紹RVMDK源自德國(guó)的KEIL公司,是RealView MDK的簡(jiǎn)稱。在全球RVMDK被超過10萬(wàn)的嵌入式開發(fā)工程師使用,RealView MDK集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),包括 Vision3集成開發(fā)環(huán)境與RealView編譯器。支持ARM7、ARM9和最新的Cortex-M3核處理器,自動(dòng)配置啟動(dòng)代碼,集成Flash

47、燒寫模塊,強(qiáng)大的Simulation設(shè)備模擬,性能分析等功能。與ARM之前的工具包ADS1.2相比,RealView編譯器具有代更小、性能更高的優(yōu)點(diǎn),RealView編譯器與ADS.2的比較:代碼性能比ADS1.2編譯的代碼性能提高20;圖5.1為MDK操作界面。圖5.1 MDK操作界面MDK的一個(gè)強(qiáng)大的功能就是提供軟件仿真,通過軟件仿真,可以發(fā)現(xiàn)很多將要出現(xiàn)的問題,避免了下載到STM32里面來查這些錯(cuò)誤,這樣最大的好處是能很方便的檢查程序存在的問題,因?yàn)樵贛DK的仿真下面,可以查看很多硬件相關(guān)的寄存器,通過觀察這些寄存器,可以知道代碼是不是真正有效。另外一個(gè)優(yōu)點(diǎn)是不必頻繁的刷機(jī),從而延長(zhǎng)了S

48、TM32的FLASH壽命(STM32的FLASH壽命1W次)。當(dāng)然,軟件仿真不是萬(wàn)能的,很多問題還是要到在線調(diào)試才能發(fā)現(xiàn)。通過學(xué)習(xí)了解到STM32有2兩種較常用的編程方式,一種是庫(kù)函數(shù)方式,即調(diào)用某些已經(jīng)封裝完的庫(kù)函數(shù),通過改變相應(yīng)參數(shù)來實(shí)現(xiàn)函數(shù)功能的方式。另一種是通過直接對(duì)芯片中的寄存器操作來實(shí)現(xiàn)相應(yīng)功能的方式。為了更好地了解與學(xué)習(xí)STM32,在編寫程序時(shí)都是采用直接對(duì)寄存器操作的方式。以下簡(jiǎn)要介紹MDK工程的建立。(1)首先,打開MDK軟件。然后點(diǎn)擊Project->New uVision Project。(2)新建一個(gè)文件夾TEST,然后把工程名字設(shè)為test.點(diǎn)擊保存。彈出選擇器

49、件的對(duì)話框。因?yàn)锳LIENTEK戰(zhàn)艦STM32開發(fā)板所使用的STM32型號(hào)為STM32F103ZET6,所以在這里我們選擇STMicroelectronics下面的STM32F103ZET6。(3)點(diǎn)擊OK,MDK會(huì)彈出一個(gè)對(duì)話框,問是否加載啟動(dòng)代碼到當(dāng)前工程下面,這里我們選擇否。至此初步完成了工程的建立,之后可以建立工程文件編寫代碼。5.2 程序設(shè)計(jì)本系統(tǒng)軟件設(shè)計(jì)部分基于STM32 單片機(jī)平臺(tái),主要完成 AD采樣、串口傳輸數(shù)據(jù)、區(qū)分溫度信息,圖5.2 為發(fā)送主程序流程圖。5.2.1 AD部分程序輸入端的MIC、音樂和正弦波形3種信號(hào)都為模擬信號(hào),本設(shè)計(jì)采用數(shù)字傳輸?shù)姆绞?,因此要利用STM32

50、的片內(nèi)AD將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。通過以下步驟來初始化AD。(1)開啟PA口時(shí)鐘,設(shè)置PA1為模擬輸入STM32F103ZET6的ADC通道1在PA1上,所以我們先要使能 PORTA的時(shí)鐘,然后設(shè)置PA1為模擬輸入。noyes開始初始化定時(shí)8秒? AD采樣發(fā)溫度信號(hào)發(fā)語(yǔ)音信號(hào)圖 5.2 發(fā)送主程序流程圖(2)使能ADC1的時(shí)鐘,并設(shè)置分頻因子要使用ADC1,第一步就是要使能ADC1的時(shí)鐘,在使能完時(shí)鐘之后,進(jìn)行一次ADC1的復(fù)位。接著我們就可以通過RCC_CFGR設(shè)置ADC1的分頻因子。(3)設(shè)置ADC1的工作模式在設(shè)置完分頻因子之后,開始設(shè)置ADC1的模式配置了,設(shè)置成單次轉(zhuǎn)換模式、軟件觸

51、發(fā)方式、數(shù)據(jù)右對(duì)齊。(4)設(shè)置ADC1規(guī)則序列的相關(guān)信息接下來要設(shè)置規(guī)則序列的相關(guān)信息,這里只有一個(gè)通道,并且是單次轉(zhuǎn)換的,所以設(shè)置規(guī)則序列中通道數(shù)為1,然后設(shè)置通道1的采樣周期。(5)開啟AD轉(zhuǎn)換器,并校準(zhǔn)在設(shè)置完了以上信息后,開啟AD轉(zhuǎn)換器,執(zhí)行復(fù)位校準(zhǔn)和AD校準(zhǔn)。以下程序?yàn)锳DC初始化程序。void Adc_Init(void) /先初始化IO口 RCC->APB2ENR|=1<<2; /使能PORTA口時(shí)鐘 GPIOA->CRL&=0XFFFFFF0F;/PA1 anolog輸入/通道10/11設(shè)置 RCC->APB2ENR|=1<<9

52、; /ADC1時(shí)鐘使能 RCC->APB2RSTR|=1<<9; /ADC1復(fù)位RCC->APB2RSTR&=(1<<9);/復(fù)位結(jié)束 RCC->CFGR&=(3<<14); /分頻因子清零 /SYSCLK/DIV2=12M ADC時(shí)鐘設(shè)置為12M,ADC最大時(shí)鐘不能超過14M/否則將導(dǎo)致ADC準(zhǔn)確度下降! RCC->CFGR|=2<<14; ADC1->CR1&=0XF0FFFF; /工作模式清零ADC1->CR1|=0<<16; /獨(dú)立工作模式 ADC1->CR1&

53、amp;=(1<<8); /非掃描模式ADC1->CR2|=1<<1; /單次轉(zhuǎn)換模式ADC1->CR2&=(7<<17); ADC1->CR2|=7<<17; /軟件控制轉(zhuǎn)換 ADC1->CR2|=1<<20; /使用用外部觸發(fā)(SWSTART)ADC1->CR2&=(1<<11); /右對(duì)齊ADC1->SQR1&=(0XF<<20);ADC1->SQR1|=0<<20; /1個(gè)轉(zhuǎn)換在規(guī)則序列中 也就是只轉(zhuǎn)換規(guī)則序列 /設(shè)置通道1的

54、采樣時(shí)間ADC1->SMPR2&=(7<<3); /通道1采樣時(shí)間清空 ADC1->SMPR2|=7<<3; /通道1 239.5周期,提高采樣時(shí)間可以提高精度 ADC1->CR2|=1<<0; /開啟AD轉(zhuǎn)換器 ADC1->CR2|=1<<3; /使能復(fù)位校準(zhǔn) while(ADC1->CR2&1<<3); /等待校準(zhǔn)結(jié)束 /該位由軟件設(shè)置并由硬件清除。在校準(zhǔn)寄存器被初始化后該位將被清除。 ADC1->CR2|=1<<2; /開啟AD校準(zhǔn) while(ADC1->C

55、R2&1<<2); /等待校準(zhǔn)結(jié)束/該位由軟件設(shè)置以開始校準(zhǔn),并在校準(zhǔn)結(jié)束時(shí)由硬件清除 為了滿足3種信號(hào)的正確采集,要設(shè)置合適的ADC采樣頻率。在設(shè)置ADC采樣頻率中,對(duì)于每個(gè)要轉(zhuǎn)換的通道,采樣時(shí)間盡量長(zhǎng)一點(diǎn),以獲得較高的準(zhǔn)確度。ADC的轉(zhuǎn)換時(shí)間可以由以下公式計(jì)算: Tcovn=采樣時(shí)間+12.5個(gè)周期其中:Tcovn為總轉(zhuǎn)換時(shí)間,采樣時(shí)間是根據(jù)每個(gè)通道的SMP位的設(shè)置來決定的。軟件中設(shè)置系統(tǒng)時(shí)鐘頻率為72Mhz,ADC的分頻因子為6,所以ADCCLK=12Mhz。設(shè)置采樣時(shí)間為最高的239.5周期來增加準(zhǔn)確度。此時(shí)Tcovn=252周期,一周期=1/12Mhz,得到ADC

56、的采樣率為1/(252*(1/12Mhz)=47.6khz。5.2.2 定時(shí)器部分程序本設(shè)計(jì)除了發(fā)送語(yǔ)音信號(hào)外,同時(shí)可以發(fā)送溫度信號(hào)。為了區(qū)分溫度信號(hào)與語(yǔ)音信號(hào),通過設(shè)計(jì)一個(gè)8秒的定時(shí)器,使其每到8秒就進(jìn)入定時(shí)器中斷,發(fā)送溫度信號(hào)。以下為定時(shí)器初始化程序。void TIM3_Int_Init(u16 arr,u16 psc)RCC->APB1ENR|=1<<1;/TIM3時(shí)鐘使能 TIM3->ARR=arr; /設(shè)定計(jì)數(shù)器自動(dòng)重裝值 TIM3->PSC=psc; /預(yù)分頻器值 TIM3->DIER|=1<<0; /允許更新中斷 TIM3->CR1|=0x01; /使能定時(shí)器3 MY_NVIC_Init(1,3,TIM3_IRQChannel,2);/搶占1,子優(yōu)先級(jí)3,組2本設(shè)計(jì)中TIM3的時(shí)鐘為72M,再設(shè)計(jì)的計(jì)數(shù)器自動(dòng)重裝值arr和預(yù)分頻器值p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論