• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      LED可見光通信系統(tǒng)中的程序設(shè)計

      2014-04-29 18:29:41陳博昊
      電子世界 2014年19期
      關(guān)鍵詞:接收端程序設(shè)計

      【摘要】介紹了所設(shè)計的LED可見光通信系統(tǒng)的發(fā)射端及接收端程序設(shè)計概況,對程序設(shè)計中若干關(guān)鍵問題處理方法及注意事項做了闡述,并對實驗中遇到問題的可能原因進(jìn)行了討論。

      【關(guān)鍵詞】可見光通信;發(fā)射端;接收端;程序設(shè)計

      1.引言

      可見光LED具有高亮度,損耗低,壽命長等特點,可見光通信Visible Light Communication(VLC)是一種建立在白光LED高速發(fā)光響應(yīng)特性基礎(chǔ)上的新興光無線通信技術(shù)[1],通過使光以人眼無法感知的頻率進(jìn)行閃爍的方法來傳送數(shù)據(jù),通信速率可達(dá)數(shù)百兆每秒。在提供照明的同時,也實現(xiàn)了短距離無線通信的目的。這項技術(shù)可以把通信能力構(gòu)建在LED照明之中減輕RF頻帶的擁擠程度并為光通信提供一種全新的寬帶接入方式[2,3], 與射頻無線通信相比VLC具有無電磁干擾發(fā)射功率高信道容量大和設(shè)備兼容性好等突出優(yōu)點將很有可能成為光無線通信領(lǐng)域的一個新的增長點,具有非常有價值的應(yīng)用前景。

      仿真構(gòu)建了以溫度數(shù)據(jù)作為傳輸信息的可見光通信系統(tǒng),以兩片單片機(jī)為基礎(chǔ),在發(fā)射端,通過溫度采集模塊采集到的溫度信息,經(jīng)單片機(jī)內(nèi)部PPM編碼,傳送給恒流源驅(qū)動電路。經(jīng)恒流源電路控制連接的LED,在保證自身照明功能的同時通過PWM調(diào)光發(fā)送數(shù)據(jù)。在接收端,通過光電探測器接收光信號,完成光/電信號的轉(zhuǎn)換,最后解調(diào)轉(zhuǎn)換過來的電信號并將其輸出,從而實現(xiàn)了通信功能。該通信系統(tǒng)的構(gòu)建是在相應(yīng)程序設(shè)計基礎(chǔ)上實現(xiàn)的,現(xiàn)將發(fā)射端和接收端的程序設(shè)計做一介紹。

      2.發(fā)射端程序設(shè)計

      發(fā)射端采用時分復(fù)用技術(shù)傳輸二進(jìn)制數(shù)據(jù),其整體流程如圖1所示。

      圖1 發(fā)射端整體工作流程框圖

      (1)單片機(jī)定時器的選擇與對應(yīng)程序編碼

      定時器1在程序中的工作方式為“方式1”,即定時時間從0到65536,共65536μs。定時器1的選擇是用它來將信號調(diào)制為頻率為38KHZ的高頻載波,從而保證信號在傳遞的過程中減小失真。38KHZ對應(yīng)的單位時間為26μs。因為38KHZ的高頻信號為占空比50%的方波信號,所以它的上升沿和下降沿的時間均為13μs。所以定時器1的初始設(shè)定為:

      TH1=(65536-13)/256 ? ? ? ? ? ? (1)

      TL1=(65536-13)%256 ? ? ? ? ? ? (2)

      定時器0在程序中的工作方式為“方式2”,即定時時間從0到256,共256μs。它的作用是用來確定PPM編碼的周期時間。所以定義的PPM碼中,預(yù)先設(shè)定的決定PPM碼周期長短的單位“bb”就可以表示為256μs乘以定時器中斷0中的預(yù)設(shè)參數(shù)“aa”的數(shù)值。而“bb”最終決定了LED的發(fā)光頻率和閃爍方式。

      根據(jù)PPM編碼的原理,添加了用于接收端判斷是否開始接收信息的起始碼。并編寫了“0”和“1”的發(fā)射函數(shù),用來定義。

      定義PPM碼的“0”碼程序如下,其中變量“cc”表示了信號的高低變化。C語言程序如下:

      void write0()

      {

      bb=0;

      aa=0;

      while(bb<1)

      cc=1;

      aa=0;

      while(bb<2)

      cc=0;

      }

      定義PPM碼的“1”碼程序如下:

      void write1()

      {

      bb=0;

      aa=0;

      while(bb<1)

      cc=1;

      aa=0;

      while(bb<3)

      cc=0;

      }

      定義PPM碼的起始碼程序如下:

      void begin()

      {

      bb=0;

      aa=0;

      while(bb<1)

      cc=1;

      aa=0;

      while(bb<7)

      cc=0;

      }

      圖2為傳輸溫度數(shù)據(jù)24(oC)時的程序仿真波形圖。

      圖2 傳輸溫度數(shù)據(jù)24的PPM碼程序仿真波形圖

      從程序中,無論是哪種碼,當(dāng)cc=1的時候,它的持續(xù)時間只有bb的1個單位,即5ms。而這三種碼真正的區(qū)別是當(dāng)cc=0,也就是電信號為低的時候,它們的持續(xù)時間各不相同。通過外部電路的調(diào)整就可以將這樣的電信號用來控制LED亮或者滅的持續(xù)時間,從而來表示起始碼,“0”碼,和“1”碼。

      (2)定義9位數(shù)組

      當(dāng)信號不斷的被定義成PPM碼的同時,還需要定義一個字,即8位的發(fā)射函數(shù),用來包含0和1,以及1位的起始碼。

      定義8位攜帶數(shù)據(jù)的位方式如下:

      void write(uchar a)

      {

      uchar i;

      for(i=0;i<8;i++)

      {

      if(a&0x01)

      write1();

      else

      write0();

      a=a>>1;

      }}

      3.接收端程序設(shè)計

      接收端整體流程見圖3所示。

      圖3 接收端程序工作流程框圖

      經(jīng)過單片機(jī)外部對接收到的信號調(diào)制以后,需要計算上升沿延時長短。當(dāng)然,接收端用來判斷時間的數(shù)據(jù)是需要和發(fā)送端對應(yīng)的。根據(jù)延時時間的不同,分辨出引導(dǎo)碼,0碼,和1碼即可。令定時器0中工作在“方式1”,確定了接收端單片機(jī)的工作單位時間。

      (1)接收引導(dǎo)碼

      根據(jù)發(fā)射端定義的起始碼,當(dāng)光照30ms之后停止了5ms的時候,則確認(rèn)接受到了起始碼,然后開始連續(xù)的接收接下來的信息。為了避免在實際電路連接制作中存在的延時以及誤差,所以在接收端的程序設(shè)計中,將起始碼以及“0”碼,“1”碼的判定時間均稍微加以延長,以便接收端能夠在系統(tǒng)存在延時的情況下正確的接收信息。

      程序如下:

      if(TIME>30500)

      return 0;

      if(TIME<29500)

      return 0;

      for(i=0;i<7;i++)

      (2)8位數(shù)組存儲

      將分析占空比后轉(zhuǎn)化出的0,1碼存儲到一個8位數(shù)組中,當(dāng)存儲滿后,分別送給兩個數(shù)碼管顯示。在這里需要特別注意的是,由于發(fā)射端在每次發(fā)送起始碼之前需要在主程序中開啟定時器,需要消耗幾毫秒的時間,這也就會影響起始碼前一位碼的低電平延時。所以第8位碼的發(fā)送會引起一定的誤差(如圖2所示),這是系統(tǒng)產(chǎn)生的不可避免的誤差。由于傳遞的溫度信息數(shù)據(jù)一般不會高于128,所以在接收端強(qiáng)制設(shè)定單片機(jī)接收7位信號,忽略了第8位數(shù)據(jù)的接收。

      4.結(jié)論與討論

      (1)關(guān)于定時器

      為了保證LED的閃爍不被肉眼所察覺,根據(jù)肉眼分辨的最大頻率為50HZ,即一周期的時間為20ms。所以時間最長的引導(dǎo)碼持續(xù)時間需要小于20ms。計算公式為:

      bb×6<20ms;bb=aa×10;aa=256μs

      (2)關(guān)于PPM編碼

      當(dāng)調(diào)制的PPM編碼波形處于低電平的時候,載波此時也一定要處于低電平,否則就會出現(xiàn)載波影響調(diào)制波的情況。所以在PPM調(diào)制波形變?yōu)榈碗娖街?,一定要?qiáng)制令載波處于低電平,即關(guān)閉定時器1,并關(guān)閉控制LED的單片機(jī)I/O端口,從而使得載波不影響發(fā)射的波形,否則載波會根據(jù)調(diào)制波消失前的最后一個周期的高低電平位置繼續(xù)延遲。

      (3)關(guān)于系統(tǒng)傳輸數(shù)據(jù)的誤差

      由于在系統(tǒng)中,單片機(jī)打開定時器需要消耗一定的時間,所以當(dāng)傳輸速率過高時,即使開啟定時器的時間很短,也會對傳輸系統(tǒng)造成很大的誤差。如何完善電路設(shè)計,克服單片機(jī)自身的缺點,減小系統(tǒng)傳輸數(shù)據(jù)的誤差,還有待進(jìn)一步的研究與實驗。

      參考文獻(xiàn)

      [1]KOMINE T,NAKAGAWA M. Fundamental analysis for visible-light communication system using LED lights[J].IEEE Transactions on Consumer Electronics,2004,50(1):100-107.

      [2]DOUSEKI T.A battery less optical-wireless system with white LED illumination[C].15th IEEE Internationa1 Symposium on Personal,Indoor and Mobile Radio Communications,2004:2529-2533.

      [3]曉野.用燈光上網(wǎng)[J].百科知識,2014(11):25-26.

      [4]楊立偉,侯聰.基于白光LED的可見光通信技術(shù)研究[J].電信網(wǎng)技術(shù),2013(12):33-37.

      [5]熊飛嶠,敖邦乾.白光LED可見光無線通信系統(tǒng)的研究[J].無線光通信,2013(1):60-62.

      [6]張毅剛.單片機(jī)原理及應(yīng)用[M].北京:高等教育出版社,2004.

      作者簡介:陳博昊(1992—),男,遼寧沈陽人,大學(xué)本科,現(xiàn)就讀于沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院。

      猜你喜歡
      接收端程序設(shè)計
      基于擾動觀察法的光通信接收端優(yōu)化策略
      頂管接收端脫殼及混凝土澆筑關(guān)鍵技術(shù)
      一種設(shè)置在密閉結(jié)構(gòu)中的無線電能傳輸系統(tǒng)
      新能源科技(2021年6期)2021-04-02 22:43:34
      基于多接收線圈的無線電能傳輸系統(tǒng)優(yōu)化研究
      基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
      從細(xì)節(jié)入手,談PLC程序設(shè)計技巧
      電子制作(2019年9期)2019-05-30 09:42:04
      酸槽內(nèi)鋼帶位置測量傳感器
      高職高專院校C語言程序設(shè)計教學(xué)改革探索
      OBE理念下基于Greenfoot的Java程序設(shè)計課程教學(xué)改革
      基于可見光通信精確定位中接收端轉(zhuǎn)動角度的二維研究
      那曲县| 苍梧县| 阳原县| 徐水县| 德钦县| 尼勒克县| 剑河县| 凤翔县| 罗源县| 伊吾县| 汝城县| 宜丰县| 平罗县| 廉江市| 二连浩特市| 伽师县| 哈巴河县| 永兴县| 石泉县| 鄂州市| 阿合奇县| 阜平县| 上虞市| 息烽县| 张北县| 绥棱县| 安顺市| 昔阳县| 双牌县| 贵南县| 廊坊市| 景德镇市| 贡觉县| 大姚县| 文水县| 启东市| 合阳县| 砚山县| 上林县| 甘洛县| 长岛县|