0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于計(jì)算機(jī)串口實(shí)現(xiàn)紅外無(wú)線PPM發(fā)射機(jī)的應(yīng)用方案

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì)工程 ? 作者:徐荃,仵大奎,李 ? 2021-06-15 16:06 ? 次閱讀

作者:徐荃,仵大奎,李思敏

1 引言

工業(yè)和生活環(huán)境中,便攜式信息終端設(shè)備的出現(xiàn)加速了無(wú)線數(shù)字通信線路和局域網(wǎng)的引進(jìn),然而,由于無(wú)線電的局限性,使它在無(wú)線高速數(shù)據(jù)鏈路應(yīng)用方面受阻。在此情況下紅外(IR)無(wú)線光通信得到人們的重視。作為一種室內(nèi)短距離通信的傳輸介質(zhì),IR具有勝過(guò)無(wú)線電的顯著優(yōu)點(diǎn):IR有巨大的帶寬且不需許可證,可以進(jìn)行高速數(shù)據(jù)傳輸;IR不穿透墻壁,因而消除了在不同房間進(jìn)行通信時(shí)可能帶來(lái)的干擾,而且通信時(shí)不容易被偵聽,提高了通信的安全性;IR探測(cè)器的尺寸比IR無(wú)的波長(zhǎng)大得多,避免了多徑衰落;IR可強(qiáng)度調(diào)制,IR通信設(shè)備比無(wú)線電通信設(shè)備要便宜簡(jiǎn)單得多。

對(duì)室內(nèi)無(wú)線電局域網(wǎng),要求紅外數(shù)據(jù)鏈路的峰值-平均光功率比高,高峰值功率可提高系統(tǒng)的靈敏度,低平均功率可滿足人眼安全和低功耗的要求,脈沖位置調(diào)制(PPM)通信方式就符合這些要求,目前,PPM已被IEEE無(wú)列入無(wú)線局域網(wǎng)IEEE802.11標(biāo)準(zhǔn)。用純硬件設(shè)計(jì)實(shí)現(xiàn)PPM光發(fā)射機(jī)是比較復(fù)雜和困難的,利用功能強(qiáng)大的AT89S52型單片機(jī)編程軟件VC++設(shè)計(jì)了一種基于計(jì)算機(jī)串口和的紅外無(wú)線PPM發(fā)射機(jī)。AT89S52通過(guò)串口從計(jì)算機(jī)獲取數(shù)據(jù),編碼得到脈沖寬度調(diào)制(PWM)信號(hào)后通過(guò)輸出端口輸出,輸出的PWM信號(hào)經(jīng)過(guò)波形轉(zhuǎn)換電路得到PPM電脈沖信號(hào),再通過(guò)光源驅(qū)動(dòng)電路轉(zhuǎn)換為PPM光脈沖信號(hào),從而完成紅外無(wú)線PPM發(fā)射機(jī)的設(shè)計(jì)。

2 PPM信號(hào)格式

PPM采用斷續(xù)的周期性光脈沖作為載波,調(diào)制信號(hào)受到信源二進(jìn)制符號(hào)地控制,脈沖的時(shí)間位置隨之發(fā)生變化而傳遞信息,PPM信號(hào)結(jié)構(gòu)如圖1所示,在數(shù)字PPM通信中,同步是至關(guān)重要的。為了實(shí)現(xiàn)幀同步,應(yīng)在傳送信息幀之前發(fā)送一次幀同步頭,為接收端提供同步信息,同時(shí)在信息幀的前面和后面分別安排2個(gè)標(biāo)志幀以表示信息的開始和結(jié)束,這樣接收機(jī)捕獲到同步信號(hào)和起始標(biāo)志符后,開始解調(diào)隨后的脈沖信號(hào),直到接收到結(jié)束標(biāo)志,表明數(shù)據(jù)接收完畢。

每一個(gè)信息幀又分為信息段和保護(hù)段(由光源和信道的特性決定),共M個(gè)時(shí)隙,每個(gè)時(shí)隙的寬度為Ts,其中前Q個(gè)時(shí)隙為信息段TQ=(QTs),后D個(gè)時(shí)隙為保護(hù)段TD=(DTs)。對(duì)Q元PPM,平均光功率為Pa,光脈沖峰值功率為QPa,又一幀表示log2Q位的二進(jìn)制信息,因此數(shù)據(jù)傳輸速率R為:

R=“l(fā)og2Q”/T=log2Q/MTs=Log2Q/(Q+D)Tsbit/s (1)

其中,T為一幀的時(shí)間長(zhǎng)度。在T不變的條件下,PPM的傳信率和峰值功率隨時(shí)隙數(shù)Q增大,但是Q值過(guò)大,也就是一幀分成的時(shí)隙數(shù)過(guò)多,會(huì)給信號(hào)的傳輸和解調(diào)帶來(lái)困難,信息和Q值成對(duì)數(shù)關(guān)系,例如,當(dāng)Q=256時(shí),一個(gè)脈沖表示8比特信息,而Q=512表示9比特信息,由此可見,Q較大時(shí),脈沖攜帶的信息量隨Q值的增大并沒有明顯增加,綜合考慮以上情況和實(shí)際設(shè)計(jì)需要,筆者采用Q=16的PPM調(diào)制方式,時(shí)隙寬度Ts設(shè)為15μs。

3 AT89S52的特點(diǎn)

AT89S52是一種低功耗、高性能CMOS 8位單片機(jī),片內(nèi)含8KB ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器、該器件采用Atmel公司的高密度、非易失性存儲(chǔ)技術(shù)制造、兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu)。片內(nèi)集成了通用的8位CPU和ISP Flash為存儲(chǔ)單元,可為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、高性價(jià)比的解決方案。

TA89S52具有如下特點(diǎn):40個(gè)引腳,8KB Flash片內(nèi)程序存儲(chǔ)器,256 Bytes的隨機(jī)存儲(chǔ)數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,1個(gè)6向量2級(jí)中斷結(jié)構(gòu);3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路和片內(nèi)時(shí)鐘振蕩器。

此外,AT89S52設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置的省電模式。在空閑模式下,CPU暫停工作,而RAM、定時(shí)計(jì)數(shù)器、串行口、外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),禁止電路的其他功能直至外中斷激活或硬件復(fù)位。同時(shí)該電路還具有PDIP、TQFP和PLCC等封裝形式,以適應(yīng)不同產(chǎn)品的設(shè)計(jì)要求。

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

紅外線PPM發(fā)射機(jī)由AT89S52型單片機(jī)與計(jì)算機(jī)的串行通信電路,PWM到PPM波形轉(zhuǎn)換電路和光源驅(qū)動(dòng)電路構(gòu)成,其系統(tǒng)結(jié)構(gòu)框圖如圖2所示。

4.1 串行通信電路

為了能使單片機(jī)和計(jì)算機(jī)通信,必須使其遵循相同的通信協(xié)議,AT89C51的串行口輸入/輸出為TTL邏輯電平,抗干擾性較差,而計(jì)算機(jī)的串行接口是符合EIA RS-232C規(guī)范的外部總線標(biāo)準(zhǔn)接口,具有較強(qiáng)的抗干擾性,為了解決電平不一致的矛盾,該系統(tǒng)設(shè)計(jì)選用了Maxim公司的MAX232型電平轉(zhuǎn)換器實(shí)現(xiàn)電平轉(zhuǎn)換,MAX232屬于通用串行接收/發(fā)送驅(qū)動(dòng)器,其外圍電路非常簡(jiǎn)單,只需外接4個(gè)0.1μF的電容器。

AT89S52具有串行通信接口(SCI),SCI是能與計(jì)算機(jī)等外設(shè)通信的全雙工異步系統(tǒng),AT89S52與計(jì)算機(jī)采用RS-232C接口方式,這種方式下,SCI采用標(biāo)準(zhǔn)的不歸零(NRZ)格式,開始是1位起始位,以邏輯“0”表示,接著是8位數(shù)據(jù)位,最后是1位停止位,以邏輯“1”表示故一次傳送據(jù)長(zhǎng)度為10比特,計(jì)算機(jī)發(fā)送數(shù)據(jù),AT89S52接收數(shù)據(jù),AT89S52將接收到的數(shù)據(jù)進(jìn)行PWM編碼,得到幀周期固定,而脈沖寬度隨外部信號(hào)不斷變化的PWM信號(hào),然后通過(guò)P1.0端口輸出。

4.2 波形轉(zhuǎn)換電路

經(jīng)過(guò)單片機(jī)編碼輸出的PWM信號(hào)經(jīng)過(guò)一個(gè)下降沿觸發(fā)器即可得到PPM脈沖信號(hào),波形轉(zhuǎn)換如圖3所示。當(dāng)P1.0端口輸出的信號(hào)由高電平變?yōu)榈碗娖綍r(shí),觸發(fā)器的輸出端產(chǎn)生所需的PPM脈沖信號(hào),其脈沖寬度由外部定時(shí)電路決定。

4.3 驅(qū)動(dòng)電路

對(duì)于無(wú)線紅外通信系統(tǒng)來(lái)說(shuō),半導(dǎo)體發(fā)光二極管LED)是可以選用的最佳光源,筆者采用帶有溫度補(bǔ)償特性的射極耦合LED驅(qū)動(dòng)電路,該電路看上去像一個(gè)線性差分放大器,實(shí)際上是一個(gè)電流開關(guān)電路,PPM信號(hào)加在驅(qū)動(dòng)電路的輸入端,當(dāng)PPM信號(hào)的電位低于設(shè)定的參考電位時(shí),LED無(wú)脈沖電流通過(guò),LED不發(fā)光;反之,脈沖電流通過(guò)LED而使LED發(fā)光。如圖4所示,注入電流IF相等的條件下,LED的輸出光功率P隨著溫度的上升而下降,所以設(shè)計(jì)中采用溫度補(bǔ)償電路進(jìn)行溫度補(bǔ)償,當(dāng)溫度升高時(shí),LED的注入電流也隨之增加,從而補(bǔ)償LED的功率變化。

5 軟件設(shè)計(jì)

5.1 計(jì)算機(jī)軟件編程

計(jì)算機(jī)的主要作用是通過(guò)串口傳送源數(shù)據(jù)給單片機(jī)。

利用Visual C++編制串行通信程序一般有3種方法:調(diào)用Microsoft Win32應(yīng)用程序接口(API)提供的串行通信函數(shù),利用VC++的MFC類庫(kù)函數(shù)實(shí)現(xiàn);用Active X通信控件(MSComm)開發(fā)串口通信程序,筆者利用VC++提供的MSComm控件來(lái)實(shí)現(xiàn)計(jì)算機(jī)與單片機(jī)之間的串行通信,利用VC++的通信控件MSComm進(jìn)行軟件設(shè)計(jì)只需對(duì)串口進(jìn)行簡(jiǎn)單的設(shè)置即可。程序?qū)崿F(xiàn)非常簡(jiǎn)單,結(jié)構(gòu)清晰,在Windows環(huán)境下,串口是系統(tǒng)資源的一部分,應(yīng)用程序要使用串口進(jìn)行通信,必須在使用之前向系統(tǒng)提出資源申請(qǐng)要求(打開串口),通信完成后必須釋放資源(關(guān)閉串口)。

5.2 單片機(jī)軟件編程

單片機(jī)的主要作用是從發(fā)送端(計(jì)算機(jī))接收數(shù)據(jù),并對(duì)接收到的數(shù)據(jù)進(jìn)行PWM編碼,然后通過(guò)輸出端口輸出,單片機(jī)部分的編程主要由串口初始化子函數(shù),接收數(shù)據(jù)子函數(shù)和PWM信號(hào)發(fā)送子函數(shù)組成。

5.2.1 串口初始化子函數(shù)

使用串口之前,應(yīng)動(dòng)其進(jìn)行初始化,初始化程序如下:

5.2.2 接收數(shù)據(jù)子函數(shù)

接收數(shù)據(jù)流程如圖5所示,程序如下:

5.2.3 PWM發(fā)送信號(hào)子函數(shù)

PWM信號(hào)發(fā)送包括發(fā)送PWM編碼后的同步頭、起始標(biāo)志符、接收的數(shù)據(jù)和結(jié)束標(biāo)志符、下面重點(diǎn)討論對(duì)接收的數(shù)據(jù)進(jìn)行編碼及發(fā)送,其流程如圖6所示,程序如下:

6 結(jié)束語(yǔ)

紅外通信為構(gòu)建高速寬帶室內(nèi)無(wú)線局域網(wǎng)提供了新的選擇。PPM的脈沖峰值功率與平均功率之比很高,可以有效減小平均輻射功率和提高接收靈敏度,筆者設(shè)計(jì)的紅外無(wú)線PPM發(fā)射機(jī)利用單片機(jī)實(shí)現(xiàn)PPM調(diào)制,具有電路結(jié)構(gòu)簡(jiǎn)單、調(diào)試容易、可靠性高、精度高、成本低和功耗低的優(yōu)點(diǎn),由于設(shè)計(jì)中只采用了單只紅外LED作為光源,輸出功率不大,而且受輻射角的限制,通信具有方向性,可以考慮采用多只紅外LED構(gòu)成發(fā)射陣列來(lái)增加發(fā)射功率和輻射范圍。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6039

    文章

    44573

    瀏覽量

    636294
  • 無(wú)線
    +關(guān)注

    關(guān)注

    31

    文章

    5456

    瀏覽量

    173459
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7513

    瀏覽量

    88173
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何利用VB實(shí)現(xiàn)計(jì)算機(jī)與單片機(jī)串口通信

    如何利用VB實(shí)現(xiàn)計(jì)算機(jī)與單片機(jī)串口通信,本文以自動(dòng)化藥物分析儀這一應(yīng)用實(shí)例介紹串口通信的實(shí)現(xiàn)
    發(fā)表于 11-03 10:46

    32通道紅外發(fā)射機(jī)

    求教高手,什么事32通道的紅外發(fā)射機(jī),課程設(shè)計(jì)做這個(gè),不理解這個(gè)概念
    發(fā)表于 12-19 22:16

    基于計(jì)算機(jī)串口的通用型智能紅外邏輯分析儀

    、VCD機(jī)等)有各種不同的品牌和型號(hào),其紅外遙控編碼及發(fā)送格式不盡相同。為了能夠用一臺(tái)通用控制器對(duì)多種不同型號(hào)的家電進(jìn)行控制,本文利用功能強(qiáng)大的單片機(jī)和編程軟件VB設(shè)計(jì)了一種基于計(jì)算機(jī)
    發(fā)表于 12-30 07:28

    請(qǐng)問(wèn)怎樣去設(shè)計(jì)一種紅外無(wú)線PPM發(fā)射機(jī)?

    一種基于單片機(jī)紅外無(wú)線PPM發(fā)射機(jī)設(shè)計(jì)
    發(fā)表于 05-27 06:14

    如何利用RS-232接口實(shí)現(xiàn)計(jì)算機(jī)實(shí)時(shí)通信?

    本文的點(diǎn)陣LED顯示系統(tǒng)以單片機(jī)89C51為基礎(chǔ),加以外圍電路,利用RS-232接口實(shí)現(xiàn)計(jì)算機(jī)實(shí)時(shí)通信,可實(shí)現(xiàn)漢字、數(shù)字及各種字符的多種方式和速 度的顯示。
    發(fā)表于 06-03 06:26

    工業(yè)控制計(jì)算機(jī)紅外線遙控鍵盤的設(shè)計(jì)

    介紹了一種利用紅外發(fā)射裝置作為工業(yè)控制計(jì)算機(jī)輸入鍵盤的接口原理和實(shí)現(xiàn)方法 ,并討論了如何使用單片機(jī)來(lái)實(shí)
    發(fā)表于 08-21 11:43 ?12次下載

    FM無(wú)線發(fā)射機(jī)電路圖

    FM無(wú)線發(fā)射機(jī)電路圖,使用MXA2606制作的無(wú)線發(fā)射機(jī)。
    發(fā)表于 04-05 21:56 ?2831次閱讀
    FM<b class='flag-5'>無(wú)線</b><b class='flag-5'>發(fā)射機(jī)</b>電路圖

    無(wú)線紅外耳機(jī)發(fā)射機(jī)

    無(wú)線紅外耳機(jī)發(fā)射機(jī)   無(wú)線紅外耳機(jī)
    發(fā)表于 09-18 14:47 ?1069次閱讀
    <b class='flag-5'>無(wú)線</b><b class='flag-5'>紅外</b>耳機(jī)<b class='flag-5'>發(fā)射機(jī)</b>

    基于計(jì)算機(jī)串口紅外虛擬邏輯分析儀

    基于計(jì)算機(jī)串口紅外虛擬邏輯分析儀 采用用途廣泛的紅外線通信技術(shù)設(shè)計(jì)了一款基于計(jì)算機(jī)串口
    發(fā)表于 09-27 16:04 ?937次閱讀
    基于<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>串口</b>的<b class='flag-5'>紅外</b>虛擬邏輯分析儀

    調(diào)頻無(wú)線發(fā)射機(jī)

    調(diào)頻無(wú)線發(fā)射機(jī)
    發(fā)表于 10-10 14:18 ?1932次閱讀
    調(diào)頻<b class='flag-5'>無(wú)線</b>電<b class='flag-5'>發(fā)射機(jī)</b>

    計(jì)算機(jī)串口數(shù)據(jù)光纖傳輸實(shí)驗(yàn)

    計(jì)算機(jī)串口數(shù)據(jù)光纖傳輸實(shí)驗(yàn) 一 實(shí)驗(yàn)?zāi)康?nbsp;     1 了解計(jì)算機(jī)串口(RS232)接口信號(hào)   
    發(fā)表于 08-22 09:35 ?2951次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>串口</b>數(shù)據(jù)光纖傳輸實(shí)驗(yàn)

    可編程FM鎖相發(fā)射機(jī)實(shí)現(xiàn)

    文中設(shè)計(jì)了一種可編程的FM鎖相發(fā)射機(jī)。利用Atmega8實(shí)現(xiàn)計(jì)算機(jī)串口通信,實(shí)現(xiàn)對(duì)鎖相環(huán)芯片和數(shù)字電位器的配置,達(dá)到改變輸出頻率和調(diào)制頻
    發(fā)表于 03-18 16:40 ?39次下載
    可編程FM鎖相<b class='flag-5'>發(fā)射機(jī)</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    無(wú)線電源發(fā)射機(jī)建設(shè)

    、軍用設(shè)備。主要可分為調(diào)頻發(fā)射機(jī),調(diào)幅發(fā)射機(jī),光發(fā)射機(jī)等多種類型。 以色列Powermat公司開發(fā)出一種無(wú)線電源,這種被稱為電源墊的無(wú)線電源
    發(fā)表于 05-15 16:18 ?13次下載
    <b class='flag-5'>無(wú)線</b>電源<b class='flag-5'>發(fā)射機(jī)</b>建設(shè)

    計(jì)算機(jī)串口實(shí)現(xiàn)電器開關(guān)控制,Using the serial port to be a switch

    計(jì)算機(jī)串口實(shí)現(xiàn)電器開關(guān)控制,Using the serial port to be a switch 關(guān)鍵字:用串口做開關(guān) 作者:黃初波
    的頭像 發(fā)表于 09-20 19:44 ?1255次閱讀

    如何使用串口實(shí)現(xiàn)AVR單片機(jī)的ISP功能詳細(xì)方法概述

    ,利用串口實(shí)現(xiàn)AVR單片機(jī)ISP(In Sys.tern Programmable)功能就是使用計(jì)算機(jī)串口來(lái)驅(qū)動(dòng)AVR單片機(jī)ISP串行編程
    發(fā)表于 10-23 19:32 ?10次下載
    如何使用<b class='flag-5'>串口實(shí)現(xiàn)</b>AVR單片<b class='flag-5'>機(jī)</b>的ISP功能詳細(xì)方法概述