【正文】
工作模式,也可以與 DMA 控制器相配合。本設(shè)計(jì)就是在串口接收到數(shù)據(jù)后直接進(jìn)入串口中斷函數(shù),在中斷中判斷數(shù)據(jù)類(lèi)型以及將數(shù)據(jù)分配給不同的硬件資源。在 USART 接收期間,數(shù)據(jù)的最低有效位首先進(jìn)入 RX 引腳, STM32 的發(fā)送與接收是由數(shù)據(jù)寄存基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(接收部分) 11 器 USART_DR 來(lái)實(shí)現(xiàn)的,它是一個(gè)雙寄存器,包含 TDR 和 RDR 兩個(gè),當(dāng)向它寫(xiě)數(shù)據(jù)時(shí)串口會(huì)自動(dòng)發(fā)送數(shù)據(jù);當(dāng)有數(shù)據(jù)收到的時(shí)候,也存在該寄存器內(nèi)。 STM32單片機(jī)的 USART接收器可以根據(jù)控制寄存器 USART_CR1 的 M位接收 8位或 9 位的數(shù)據(jù)字,如圖 所示。 [7]一般我們更關(guān)心的是如何從 USARTDIV 的值得到 USART_BRR 的值,因?yàn)橐话阄覀冎赖氖遣ㄌ芈屎?PCLKx的時(shí)鐘,要求的就是 USART_BRR 的值。波特率的單位是 bps(位 /秒),被定義為每秒傳輸二進(jìn)制代碼的位數(shù)。STM32F103 單片機(jī)最多包含有五路串口,有支持同步單線(xiàn)通信和半雙工單線(xiàn)通訊、基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(接收部分) 10 分?jǐn)?shù)波特率發(fā)生器、支持調(diào)制解調(diào)器操作、具有 DMA、智能卡協(xié)議、支持 LIN 和IrDA SIR ENDEC 規(guī)范等。 STM32 單片機(jī)具有通用同步異步收發(fā)器 (USART)與外部設(shè)備之間進(jìn)行數(shù)據(jù)交換,具有 NRZ(不歸零碼)標(biāo)準(zhǔn)格式,可編程數(shù)組字長(zhǎng)度 8 位或 9 位,支持 1 或 2個(gè)的停止位。 圖 異步串行通信方式 異步通信一幀字符信息的組成分為四個(gè)部分:起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位,如圖 所示。 基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(接收部分) 9 圖 串行通信方式 串行通信分為同步串行通信和異步串行通信兩種方式。 STM32 單片機(jī)串口通信 通信有并行和串行兩種方式,在單片機(jī)系統(tǒng)中,信息交換多采用串行通信。 圖 外部中斷通用 I/O映像 STM32 單片機(jī)中斷系統(tǒng)有很多與之相關(guān)的寄存器,包括中斷屏蔽寄存器、事件屏蔽寄存器、上升沿觸發(fā)選擇寄存器、下降沿觸發(fā)選擇寄存器、軟件中斷事件寄存器、掛起寄存器、外部中斷 /事件寄存器。 基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(接收部分) 8 STM32 單片機(jī)中斷系統(tǒng) STM32 單片機(jī)的 EXTI 控制器支持多達(dá) 19 個(gè)外部中斷事件請(qǐng)求,每個(gè)中 斷設(shè)有狀態(tài)位,有獨(dú)立的觸發(fā)和屏蔽設(shè)置,檢測(cè)脈沖寬度低于 APB2 時(shí)鐘寬度的外部信號(hào)。相對(duì)于傳統(tǒng)的 51 單片機(jī),它的實(shí)時(shí)性更好,功能更強(qiáng)大,處理速度和能力都很強(qiáng)。 CortexM3 的中斷處理完全基于硬件進(jìn)行,可減少的時(shí)鐘周期數(shù)最多可達(dá) 12 個(gè),在應(yīng)用中可節(jié)約 70%的中斷;同時(shí) CortexM3采用了單線(xiàn)調(diào)試( Single Wire)這種新型技術(shù),能夠減少非常多的調(diào)試工具費(fèi)用,其中還集成了大部分存儲(chǔ)器控制器,這樣設(shè)計(jì)人員可以直接將 Flash 外接在 MCU上,降低了應(yīng)用障礙和設(shè)計(jì)難度。 Cortex系列是 v7 架構(gòu)的第一次亮相,其中 CortexM3 就是按款式 M 設(shè)計(jì)的,它不僅支持16 位的 Thumb 指令集和基本的 32 位 Thumb2 指令集架構(gòu),而且擁有很多新特性。 STM32 單片機(jī)處理模塊設(shè)計(jì) 在單片機(jī)的選擇中,我們選擇了意法半導(dǎo)體公司的 STM32F103F149 單片機(jī),STM3 的內(nèi)核為 32 位 CortexM3,它采用 ARMv7M 構(gòu)架。如何將溫度信號(hào)從語(yǔ)音信號(hào)中提取出來(lái),本設(shè)計(jì)與發(fā)射部分做個(gè)一個(gè)協(xié)議,傳輸端在傳輸溫度信號(hào)時(shí),先傳送一個(gè)標(biāo)志信號(hào),接收端接收到標(biāo)志信號(hào)后知道接下來(lái)要接收的就是溫度信號(hào)。之后本設(shè)計(jì)把它與單片機(jī)的串口 RXD 端相連,從串口寄存器就可以讀到 AD 采集的語(yǔ)音信號(hào)電平和溫度數(shù)值了。 紅外發(fā)送 部分發(fā)送的就是串口輸出的信號(hào),那么就要把它恢復(fù)出來(lái),本設(shè)計(jì)在紅外接收模塊中已經(jīng)檢測(cè)到波形的上升沿與下降沿,為了把它組合成串口信號(hào),本設(shè)計(jì)將兩路脈沖分別輸入給單片機(jī)的兩個(gè)外部中斷,此中斷是當(dāng)有跳變沿的時(shí)候就觸發(fā),在中斷函數(shù)中我們控制一個(gè)單片機(jī)管腳 PA0,每發(fā)生一次中斷改變一次它的電平,這樣就一點(diǎn)點(diǎn)地還原出串口信號(hào)了。傳感器的外圍電路我們參考了它的芯片手冊(cè)基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(接收部分) 6 上的電路,用的是 IrDA 模式。僅僅顯示出信號(hào)的下降沿還不足以確定信號(hào)波形,我們還需要信號(hào)上升沿的位置,所以發(fā)射端做了這樣的設(shè)置:要發(fā)送的串口信號(hào)同時(shí)分為兩個(gè)部分,一部分直接驅(qū)動(dòng)一塊紅外發(fā)射管,另一部分經(jīng)過(guò)反相器反相后去驅(qū)動(dòng) 紅外發(fā)射管,這樣本設(shè)計(jì)紅外接收模塊部分的傳感器就需要兩個(gè),分別對(duì)應(yīng)兩路波形正好相反的同一個(gè)信號(hào),一路檢測(cè)波形下降沿,一路檢測(cè)上升沿,如圖 所示。 [3]作為這個(gè)模塊的主角,本設(shè)計(jì)只使用它的接收頭部分,沒(méi)有用到其中的紅外發(fā)光 LED。紅外模式下信息傳輸速率范圍從 到 ,如果工作在遙控工作模式下,可達(dá)到9m 的傳輸距離,工作溫度范圍也很寬,功率耗散小。本設(shè)計(jì)在此模塊使用的是 RPM882H7IrDA 紅外通信模塊,它是日本羅姆株式會(huì)社( ROHM)生產(chǎn)的專(zhuān)門(mén)用于紅外通信的傳感器,廣泛應(yīng)用于手機(jī)或 PDA(掌上電腦)中??墒潜驹O(shè)計(jì)要接收的信號(hào)是經(jīng)過(guò) PCM調(diào)制的語(yǔ)音信號(hào),其碼率至少需要 64Kbps, HS0038B內(nèi)部載波無(wú)法承受此數(shù)字信號(hào)。紅外光通信系統(tǒng)的設(shè)計(jì)重點(diǎn)有語(yǔ)音和溫度信號(hào)的采集、編碼,將兩種信號(hào)分配給一個(gè)信道進(jìn)行傳輸,傳輸過(guò)程中噪聲的抑制,接收部分信號(hào)的恢復(fù)等。 接收到紅外信號(hào)后首先要將其還原成串口信號(hào),送給單片 機(jī)串行口接收,然后將接收到的數(shù)據(jù)區(qū)分為語(yǔ)音信號(hào)和溫度信號(hào),分別送給 DAC 進(jìn)行轉(zhuǎn)換和顯示屏顯示。然后在內(nèi)部通過(guò)單片機(jī)的串口發(fā)送出去,這樣語(yǔ)音模擬信號(hào)就轉(zhuǎn)換為串口上的數(shù)字信號(hào),為了能夠同時(shí)發(fā)送溫度信號(hào),紅外發(fā)射部分利用時(shí)分復(fù)用方式在同一信道上傳輸兩種信號(hào),發(fā)送語(yǔ)音信號(hào)的過(guò)程中插入溫度信號(hào)。 圖 紅外光通信系統(tǒng)方框圖 總體方案設(shè)計(jì) 紅外接收部分包括紅外信號(hào)接收、 STM32 單片機(jī)處理、濾波電路、信號(hào)調(diào)理、功率放大、液晶顯示以及中繼轉(zhuǎn)發(fā)模塊七個(gè)部分,紅外接收部分框圖如圖 所示。 基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(接收部分) 3 第 2 章 系統(tǒng)總體方案 紅外光通信系統(tǒng)介紹 紅外光通信系統(tǒng)的基本要求是利用紅外發(fā)光二級(jí)管和紅外接收模塊作為基本收發(fā)器件,用來(lái)定向傳輸語(yǔ)音信號(hào),傳輸距離不小于兩米;當(dāng)接收部分不能接收到發(fā)射部分的紅外信號(hào)時(shí),要能用 LED 燈指示出來(lái)。本設(shè)計(jì)的難點(diǎn)在于保證紅外信號(hào)比較長(zhǎng)的傳輸距離以及盡量減少傳輸過(guò)程中產(chǎn)生的噪聲干擾、降低誤碼率;而且還要能夠在語(yǔ)音信號(hào)里面區(qū)分出溫度信號(hào) 。本設(shè)計(jì)的主要工作是接收發(fā)射端的紅外信號(hào),將其轉(zhuǎn)換成單片機(jī)串口能識(shí)別的數(shù)字信號(hào),從而獲得其中的語(yǔ)音和溫度數(shù)據(jù),然后溫度信號(hào)由顯示屏顯示、數(shù)字語(yǔ)音信號(hào)經(jīng)過(guò) DA 轉(zhuǎn)換成模擬信號(hào),再通過(guò)功率放大器驅(qū)動(dòng)喇叭,從而聽(tīng)到語(yǔ)音。鑒于如今教學(xué)課程中數(shù)據(jù)通信基本上都是有線(xiàn)的,并且大多對(duì)數(shù)字信號(hào)進(jìn)行采集并傳輸。但是光通信最大的缺點(diǎn)就是它無(wú)法穿透物體,這樣光通信很容易收到干擾,傳輸距離不會(huì)得到太大的提高,所以光通信與無(wú)線(xiàn)電通信是互相補(bǔ)充的技術(shù),研究它大有意義。 [2]現(xiàn)如今這種技術(shù)被廣泛利用在醫(yī)院、機(jī)場(chǎng)、軍隊(duì)甚至是水下。與本研究課題相似的是,國(guó)外最近研制出的 LIFI 技術(shù),它是 Light Fidelity 的縮寫(xiě)。紅外通信是一種點(diǎn)對(duì)點(diǎn)的通信方式,沒(méi)有物理傳輸線(xiàn)的約束,對(duì)基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì)(接收部分) 2 傳輸?shù)姆较蛐砸筝^高,通信信道中間不能有障礙物阻擋。無(wú)線(xiàn)通信技術(shù)已深入到人們生活工作中的各個(gè)方面,其中 3G、 UWB、 WLAN、藍(lán)牙、數(shù)字電視、寬帶衛(wèi)星等都是 21 世紀(jì)最熱門(mén)的無(wú)線(xiàn)通信技術(shù)的應(yīng)用,紅外光通信是其中應(yīng)用的一部分,紅外線(xiàn)本質(zhì)也是一種電磁波,可以傳輸數(shù)字信號(hào)。 不同于有線(xiàn)通信,無(wú)線(xiàn)通信最大的優(yōu)勢(shì)就是解放了人們通信的自由度,使人們不受空間的限制,可以在小范圍內(nèi)自由移動(dòng)。 [1] 紅外通訊技術(shù)也是隨著紅外技術(shù)的發(fā)展而發(fā)展的,尤其進(jìn)入 90 年代其又有了新發(fā)展,應(yīng)用范圍更廣泛。特別是紅外遙感技術(shù)的發(fā)展極大開(kāi)拓了人們的視野,通過(guò)衛(wèi)星紅外煙感可以對(duì)地球進(jìn)行勘測(cè),在尋找水源、氣象檢測(cè)、監(jiān)視森林火災(zāi)等方面起了重要作用。 80 年代,紅外技術(shù)進(jìn)入研制鑲嵌焦面陣列系統(tǒng)的新時(shí)期。 60 年代隨著固體物理、光學(xué)、電子學(xué)、精密器械的發(fā)展,使紅外技術(shù)在軍、民兩用都得到廣泛的應(yīng)用和發(fā)展。 40 年代光電型紅外探測(cè)器問(wèn)世,其性能優(yōu)良、結(jié)構(gòu)可靠。 20 世紀(jì)初,通過(guò)測(cè)量大量有機(jī)物和無(wú)機(jī)物吸收和發(fā)射光譜,證明了紅外技術(shù)在物質(zhì)分析中的價(jià)值。 display the temperature through the LCD screen, with good manmachine interface。 finally, the waveform output from the DAC can be send through the bandpass filters to filter, then getting the voice signal of the sending end, and transport it to the audio power amplifying circuit, form the loudspeaker the voice signal transmitted by the infrared can be heard. With the STM32F103ZET6 hardware platform, through the C language program design, and using RVMDK software development environment for debugging, this design realized the infrared receiving device based on MCU system. Receiving information of the transmission part, munication distance can up to two meters in the 115200 baud rate。 secondly, the signals will be processed and According to the emission part send the digital signal into serial mode and drive the infrared light working, high level light the infrared emitting on, low level put out it, the MCU of the design use it’s external interrupt testing signal jump edge, converted it into the serial signal。接收發(fā)射部分的信息,在 115200 波特率下通信距 離達(dá)到兩米左右;具有在傳輸不暢情況下指示燈提示功能;能通過(guò)液晶屏顯示溫度,具有良好人機(jī)交互界面;從負(fù)載喇叭上得到了較好的語(yǔ)音效果。根據(jù)發(fā)射部分是將數(shù)字信號(hào)以串行方式輸出并驅(qū)動(dòng)紅外發(fā)射管發(fā)光,高電平點(diǎn)亮發(fā)光管、低電平熄滅的原理,本設(shè)計(jì)利用單片機(jī)的外部中斷捕捉信號(hào)的跳變沿,將接收的信號(hào)恢復(fù)成串行數(shù)字信號(hào);然后,將串行信號(hào)送給單片機(jī)的串口接收端,從單片機(jī)串口數(shù)據(jù)寄存器中得到經(jīng) 過(guò) PCM 編碼后的語(yǔ)音信號(hào)和溫度信號(hào)的電壓值,通過(guò)處理減小傳輸過(guò)程中噪聲的干擾,再由單片機(jī)判斷信號(hào)類(lèi)型,是語(yǔ)音信號(hào)則送給單片機(jī)內(nèi)部 DAC 進(jìn)行數(shù) /模轉(zhuǎn)換,溫度信號(hào)輸送給顯示屏直接顯示;最后, DAC 輸出的波形再經(jīng)過(guò)帶通濾波器平滑濾波,濾出發(fā)射部分采集的語(yǔ)音信號(hào),輸送給音頻功率放大電路,通過(guò)負(fù)載喇叭即可聽(tīng)到傳輸過(guò)來(lái)的聲音。 本設(shè)計(jì)包括紅外信號(hào)接收、單片機(jī)處理、濾波電路、信號(hào)調(diào)理、功率放大、液晶顯示以及中繼轉(zhuǎn)發(fā)模塊。 大 連 海 事 大 學(xué) 畢 業(yè) 論 文 二〇一四年六月 ┊┊┊┊┊裝┊┊┊┊┊┊┊訂┊┊┊┊┊┊線(xiàn)┊┊┊┊┊ 基于單片機(jī)的紅外光通信系統(tǒng)設(shè)計(jì) (接收部分) 專(zhuān)業(yè)班級(jí): 電子信息工程 4 班 姓 名: 王 強(qiáng) 指導(dǎo)教師: 譚克俊