亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式系統(tǒng)ZigBee傳感器控制LED矩陣的設(shè)計與實現(xiàn)

        2016-03-15 01:19:48王華本胡建明鹿建銀
        長春師范大學(xué)學(xué)報 2016年2期
        關(guān)鍵詞:ZigBee技術(shù)嵌入式系統(tǒng)

        王華本,胡建明,鹿建銀

        (安徽新華學(xué)院信息工程學(xué)院,安徽合肥 230088)

        ?

        基于嵌入式系統(tǒng)ZigBee傳感器控制LED矩陣的設(shè)計與實現(xiàn)

        王華本,胡建明,鹿建銀

        (安徽新華學(xué)院信息工程學(xué)院,安徽合肥 230088)

        [摘要]本文在嵌入式系統(tǒng)的平臺下,將ZigBee技術(shù)引入到LED矩陣的設(shè)計系統(tǒng)中,提出一種由 ZigBee傳感器構(gòu)成的LED顯示模式的具體實現(xiàn)方法。在CVT-6410實驗箱上研究了LED顯示模式、漢字字符轉(zhuǎn)換成點陣的設(shè)計原理,實現(xiàn)了控制LED矩陣顯示圖形、控制LED矩陣圖形變換和控制LED矩陣亮度變換,為LED顯示屏的進(jìn)一步應(yīng)用創(chuàng)造了條件。

        [關(guān)鍵詞]ZigBee技術(shù);LED矩陣;嵌入式系統(tǒng);圖形變換

        無線LED顯示屏的優(yōu)勢是改變了傳統(tǒng)的LED顯示屏需外來傳遞信息的顯示方式,使用ZigBee技術(shù)可以隨時隨地改變信息并在LED顯示屏上顯示所要的結(jié)果,使得LED顯示屏的使用范圍得到擴(kuò)展。無線LED顯示屏采用無線遠(yuǎn)程控制方式,可實現(xiàn)近距離控制,具有良好的發(fā)展前景。

        1Linux的設(shè)備文件

        Linux將外部設(shè)備看作一個文件來管理,用戶使用外部設(shè)備就像使用普通文件一樣。按照存取方式的不同,可以分為兩種[1]:字符設(shè)備、塊設(shè)備,按照是否對應(yīng)物理實體,也可以分為兩種:物理設(shè)備、虛擬設(shè)備。設(shè)備文件存放在/dev目錄下,使用設(shè)備的主設(shè)備號和次設(shè)備號來區(qū)分指定的外部設(shè)備。主設(shè)備號說明設(shè)備類型,次設(shè)備號說明具體指哪一個設(shè)備。

        應(yīng)用程序通過open、read、write等命令完成對設(shè)備的訪問。當(dāng)應(yīng)用程序調(diào)用設(shè)備文件時,程序就會去找它對應(yīng)的設(shè)備文件,在文件內(nèi)會對設(shè)備進(jìn)行初始化。在設(shè)備文件中外部設(shè)備的硬件地址會被映射成一個虛擬地址,在LED矩陣的設(shè)備文件中使用的就是虛擬地址0xF600,在內(nèi)核的文件中有一個地址的映射表,它將物理地址0x38000000映射成虛擬地址0xF6000000,所以設(shè)備文件最終還是依托于物理硬件。這里涉及初始化函數(shù)、接口函數(shù)、退出函數(shù),同時字符設(shè)備還會提供一個對設(shè)備進(jìn)行操作的函數(shù)static struct file_operations dev_fops,在函數(shù)中提供了一個mled_ioctl接口,根據(jù)這個mled_ioctl接口會對對應(yīng)的物理地址進(jìn)行操作,在設(shè)備文件中外部設(shè)備的硬件地址會被映射成一個虛擬地址,在LED矩陣的設(shè)備文件中使用的就是虛擬地址,在內(nèi)核的里面有一個地址的映射表,通過源文件里面關(guān)鍵的核心語句,實現(xiàn)地址的映射。

        .virtual=0xF6000000,

        .pfn=__phys_to_pfn(S3C64XX_PA_XM0CSN5),//片選5,0x38000000

        .length=0x10000,

        .type=MT_DEVICE,

        2LED矩陣的工作原理

        LED的電路結(jié)構(gòu)如圖1所示,從硬件圖中可以知道此時LED共陽極的8*8點陣,列連接的是發(fā)光二極管的陽極,行所連接的發(fā)光二極管的陰極,發(fā)光二極管核心的組成部分是PN結(jié),LED發(fā)光的原理是當(dāng)PN結(jié)加正向電壓時,外接電源的正極接發(fā)光二極管的陽極,外接電源的負(fù)極接發(fā)光二極管的陰極,大量的電子將移向P區(qū),在P區(qū)里電子填入空穴中,然后就會以光子的形式發(fā)出能量[2]。

        從圖1中可以看出,8*8共陽極的LED,不管顯示圖形還是文字,都是控制LED器件在對應(yīng)發(fā)光二極管所組成的文字或圖形位置的地方發(fā)光,當(dāng)圖形或文字對應(yīng)的地方都發(fā)光,其它地方不發(fā)光就可以得到想要的顯示結(jié)果,在嵌入式系統(tǒng)下控制LED列、行的16進(jìn)制代碼如圖2所示。

        圖1 LED矩陣的硬件原理圖

        圖2 控制LED列、行的16進(jìn)制代碼

        同時控制各個對應(yīng)位置的LED發(fā)光的方法稱為靜態(tài)顯示。每個8*8的點陣共有64個發(fā)光二極管,但是如果采用鎖存器來擴(kuò)展端口,對一個很大的LED矩陣來說靜態(tài)顯示就不合理了,因為沒有那么多的I/O口去控制。在這里使用的僅僅是8*8的點陣,而在實際使用中,幾乎都是大或超大的顯示屏,顯示采用動態(tài)掃描的方式取代靜態(tài)顯示[3]。LED以動態(tài)掃描的方式逐行或逐列輪流點亮,這種方法可以讓I/O口進(jìn)行復(fù)用。

        在嵌入式系統(tǒng)中,LED點陣顯示主要是通過調(diào)用接口函數(shù)來實現(xiàn)顯示的功能,在LED點陣顯示圖形和文字的時候,需要將應(yīng)用中的LED單獨放置并根據(jù)需要點亮。這里的主函數(shù)主要是調(diào)用ioctl函數(shù),static long mled_ioctl(struct file *filp, unsigned int cmd, unsigned long arg),這個函數(shù)在matrix驅(qū)動程序時會詳細(xì)地定義ioctl函數(shù)的功能,ioctl 定義了3個參數(shù),分別表示文件描述符,命令字,LED對應(yīng)的列、行的16進(jìn)制代碼編碼。譬如ioctl(fd,1,0x1efd);//0001 1110 1111 1101,這里的0x1efd表示前列后行,從圖1硬件原理圖中可以知道,8*8點列的LED是共陽極的,列數(shù)據(jù)為高,行數(shù)據(jù)為低時對應(yīng)發(fā)光二極管點亮。

        圖形的變換是通過動態(tài)掃描方式將許多不同的靜態(tài)圖片有序地顯示出來,因為時間間隔較短,靜態(tài)圖片一點點改變,就形成了人眼所看到的動畫了。

        LED矩陣亮度的變換可以通過改變電路電流大小和點亮?xí)r間的占空比(PWM),來改變LED點亮個數(shù)。所謂的占空比是指在動態(tài)掃描點亮LED燈時,單位時間內(nèi)亮與不亮的次數(shù)。為了避免出現(xiàn)閃爍效果,可以通過占空比來進(jìn)行調(diào)節(jié)[5]。在單位時間內(nèi)掃描點亮的次數(shù)越多,人的肉眼感覺會越亮。

        3ZigBee的原理與控制

        3.1ZigBee的設(shè)備分類與結(jié)構(gòu)

        ZigBee網(wǎng)絡(luò)中有協(xié)調(diào)器、路由器、終端3種類型的設(shè)備,協(xié)調(diào)器是組織網(wǎng)絡(luò)的管理者,ZigBee網(wǎng)絡(luò)組建好以后,通常由協(xié)調(diào)器負(fù)責(zé)組建網(wǎng)絡(luò),并根據(jù)掃描所獲取的信息等待路由器或者終端節(jié)點加入該網(wǎng)絡(luò),這里的發(fā)送和接收數(shù)據(jù)主要是由終端負(fù)責(zé)。協(xié)調(diào)器上接網(wǎng)關(guān),下接路由器或終端,在整個網(wǎng)絡(luò)中起到關(guān)鍵作用,主要負(fù)責(zé)解析控制命令,對終端進(jìn)行有效的控制。

        ZigBee的結(jié)構(gòu)主要包括物理層、網(wǎng)絡(luò)層、應(yīng)用層。物理層的主要功能如下:激活或使射頻收發(fā)器進(jìn)入休眠狀態(tài),檢測信道的能量,檢測收到數(shù)據(jù)包的鏈路質(zhì)量指示,評估空閑信道,發(fā)送和接收數(shù)據(jù)包[6]。網(wǎng)絡(luò)層主要完成的任務(wù)為發(fā)送和接收網(wǎng)絡(luò)層的數(shù)據(jù)包。

        3.2ZigBee的命令格式

        在程序中,通過拼裝ZigBee的報文格式,來讓ZigBee模塊發(fā)送想要的控制數(shù)據(jù)。SBuff[0]- SBuff[11]是ZigBee命令的固定格式,SBuff[12]- SBuff[19]是控制LED,SBuff[20]是異或檢校位從SBuff指針指向的內(nèi)存中讀取sizeof(buf)個字節(jié)放到文件serial_fd中。之所以用sizeof(buf),這樣動態(tài)判定buf的大小,不至于從文件中取長度大于buf長度的字節(jié)數(shù)。當(dāng)有錯誤發(fā)生時則返回-1,錯誤代碼存入errno中,而文件讀寫位置則無法預(yù)期。通過變換12~19位字節(jié)的數(shù)據(jù),可控制LED矩陣顯示不同的效果。linux操作系統(tǒng)內(nèi)部所提供的3個定時器,可以更好地控制LED燈明暗變換和閃爍效果。

        4編寫、編譯、調(diào)試及運行

        由于整個開發(fā)過程涉及兩個平臺,這里在宿主機(jī)上進(jìn)行代碼的編寫,ZigBee傳感器控制LED的函數(shù)功能表如圖3所示,因為編譯工具消耗的存儲空間不少,而且需要很強(qiáng)的CPU運算能力,在ARM上是不可能進(jìn)行本機(jī)編譯的。交叉編譯工具能夠解決這個問題。首先打開硬件,通過文件描述符open函數(shù)打開所需要的硬件,涉及通信、進(jìn)行波特率設(shè)置、奇偶校驗位設(shè)置、串口的初始化等一系列操作,這里通過Linux平臺下的gedit指令進(jìn)行源程序的編寫,同時編寫Makefile文件,執(zhí)行make指令進(jìn)行編譯,整個調(diào)試的過程就在執(zhí)行make指令后進(jìn)行。調(diào)試通過后,就可以在宿主機(jī)上運行可執(zhí)行文件。這里宿主機(jī)和目標(biāo)機(jī)進(jìn)行通信時,必須要使用ifconfig指令進(jìn)行IP地址的配置,宿主機(jī)和目標(biāo)機(jī)的IP地址共用一個網(wǎng)關(guān)。在宿主機(jī)輸入以下命令配置宿主機(jī)地址及其啟動網(wǎng)絡(luò)服務(wù):

        ifconfig eth1 192.168.1.2 netmask 255.255.255.0

        service nfs start

        整個過程全部結(jié)束后,會出現(xiàn)4個OK的提示,下一步就要在目標(biāo)機(jī)上進(jìn)行操作,在目標(biāo)機(jī)輸入以下命令進(jìn)行掛載:

        mount 192.168.1.8:/tftpboot/ mnt/ -o nolock

        進(jìn)入mnt文件夾 ls顯示文件列表可以看到有可執(zhí)行文件,說明掛載成功。

        在這個ZigBee傳感器控制LED的函數(shù)功能表(圖3)中,writer_function是最關(guān)鍵的函數(shù)。

        void writer_function(int signo)

        {

        int nwrite;

        printf(“控制LED 矩陣 ”);

        printf(“ ”);

        unsigned char SBuff[21];

        SBuff[0]=0x02;//幀頭

        SBuff[1]=0x12;//包長度,Byte2~n的字節(jié)數(shù)。

        SBuff[2]=0xB9;//0x46B9(cmd控制命令,低字節(jié)在前)

        SBuff[3]=0x46;

        SBuff[4]=0xF1;//cmd END Point 命令段節(jié)點號

        SBuff[5]=save_byte4;//兩個字節(jié)短地址,低字節(jié)在前,網(wǎng)關(guān)上電時為0x0000

        SBuff[6]=save_byte5;

        SBuff[7]=0x01;//任務(wù)號,一般為1

        SBuff[8]=0x07;//傳感板類型號

        SBuff[9]=0x04;//位選0x02數(shù)碼管,0x01蜂鳴器,0x04LED矩陣

        SBuff[10]=0x0;//數(shù)碼管段選

        SBuff[11]=0x0;//蜂鳴器段選

        SBuff[12]=0x0c;//12~19LED控制

        SBuff[13]=0x1e;

        SBuff[14]=0x3e;

        SBuff[15]=0x7c;

        SBuff[16]=0x7c;

        SBuff[17]=0x3e;

        SBuff[18]=0x1e;

        SBuff[19]=0x0c;

        SBuff[20]=0x0;//異或檢校位

        SBuff[20]=XorVerifySend(SBuff);

        nwrite=write(serial_fd,SBuff,sizeof(SBuff));

        }

        通過動態(tài)掃描的方式來顯示一個心形,如圖4所示。

        圖3 ZigBee傳感器控制LED的函數(shù)功能表

        圖4 ZigBee傳感器控制LED的顯示心形圖案

        從圖4中可以看到,第一行狀態(tài)為0x0cfe(0000 1100);第二行狀態(tài)為0x1efd(0001 1110);第三行狀態(tài)為0x3efb(0011 1110);第四行狀態(tài)為0x7cf7(0111 1100);第五行狀態(tài)為0x7cef(0111 1100);第六行狀態(tài)為0x3edf(0011 1110);第七行狀態(tài)為0x1ebf(0001 1110);第八行狀態(tài)為0x0c7f(0000 1100)。

        在數(shù)據(jù)拼裝時,把圖形信息拼裝進(jìn)SBuff的12~19字節(jié)中。當(dāng)ZigBee模塊收到數(shù)據(jù)包時,第12~19的字節(jié)就會把LED引腳狀態(tài)解讀出來,控制LED矩陣顯示出想要的圖案。如果要顯示其它圖案同理類推。若要顯示動態(tài)的效果,可以通過SBuff值的變化來實現(xiàn)功能。

        5結(jié)語

        傳統(tǒng)LED顯示屏存在很多局限性,特別是使用范圍受到限制,通常為10米左右,使用價值很難體現(xiàn)出來。ZigBee控制的LED通過無線傳感器網(wǎng)絡(luò)可以解決范圍受限制的問題,能夠體現(xiàn)無線LED顯示屏的使用價值。LED顯示屏是由LED矩陣塊組成,通過點亮發(fā)光二極管來實現(xiàn)顯示的目的,顯示的信息靜如油畫,動如電影,畫面的立體感很強(qiáng),在嵌入式平臺下ZigBee傳感器控制的LED設(shè)計廣泛應(yīng)用到各個領(lǐng)域,ZigBee網(wǎng)絡(luò)的路由器突破了有線LED顯示屏空間和地域的限制,解決了通信難題,LED顯示屏的使用價值將得到很大的提升。

        [參考文獻(xiàn)]

        [1]張顥.基于ZigBee無線傳感器網(wǎng)絡(luò)的室內(nèi)環(huán)境檢測系統(tǒng)[D].長沙:湖南大學(xué),2013.

        [2]廖之健.基于ZigBee無線傳感網(wǎng)絡(luò)遠(yuǎn)程機(jī)房環(huán)境監(jiān)控系統(tǒng)的研究與實現(xiàn)[D].廣東:廣東工業(yè)大學(xué),2011.

        [3]鄒思軼.嵌入式Linux設(shè)計與應(yīng)用[M].北京:清華大學(xué)出版社,2012:15-36.

        [4]陳祥,薛美盛,王俊.基于ZigBee協(xié)議的溫室環(huán)境無線監(jiān)控系統(tǒng)[J].中國科學(xué)技術(shù)大學(xué)學(xué)報,2014(1):39-41.

        [5]雷霖,董華莉.基于ZigBee協(xié)議的煤礦瓦斯和溫濕度監(jiān)測節(jié)點設(shè)計[J].電子科技大學(xué)自動化工程學(xué)院報,2011(3): 32-34.

        [6]王浩然,秦會斌.LED點陣屏顯示單元的設(shè)計與驅(qū)動控制[M].上海:華東大學(xué)出版社,2010.

        Design of the ZigBee Sensor to Control the LED Matrix Based on Embedded System

        WANG Hua-ben, HU Jian-ming, LU Jian-yin

        (College of Information Engineering, Anhui Xinhua University, Hefei Anhui 230088, China)

        Abstract:In the platform of embedded system, the ZigBee technology is introduced into the design system of LED matrix, and a method for realizing LED display mode which is composed of ZigBee sensor is proposed. The design principle of the LED display mode, the Chinese character conversion into lattice is studied through the CVT-6410 experimental box. The control LED matrix display graphics, the LED matrix graphics transform and the control LED matrix luminance transformation are realized, and the conditions for the further application of LED display are realized.

        Key words:ZigBee technology;LED matrix;embedded system;graphics transformation

        [作者簡介]王華本(1972- ),女,講師,碩士,從事嵌入式與人工智能研究。

        [基金項目]安徽高校省級自然科學(xué)研究重點項目“智慧旅游平臺——物聯(lián)網(wǎng)位置感知服務(wù)在旅游行業(yè)中的應(yīng)用”(KJ2014A096);省級質(zhì)量工程項目“計算機(jī)科學(xué)與技術(shù)特色專業(yè)”(20101139);校級質(zhì)量工程項目“特色教材”《嵌入式系統(tǒng)》(2014tsjcx07)。

        [收稿日期]2015-10-29

        [中圖分類號]TP399

        [文獻(xiàn)標(biāo)識碼]A

        [文章編號]2095-7602(2016)02-0026-04

        猜你喜歡
        ZigBee技術(shù)嵌入式系統(tǒng)
        多傳感器數(shù)據(jù)融合技術(shù)在機(jī)房監(jiān)控系統(tǒng)中的應(yīng)用
        基于ZigBee的艙內(nèi)人員巡檢系統(tǒng)的應(yīng)用研究
        辦公自動化系統(tǒng)的設(shè)計
        基于ZigBee技術(shù)的智能家居系統(tǒng)的設(shè)計與應(yīng)用
        嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用分析
        基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學(xué)改革的研究與實踐
        嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實踐及啟示
        面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
        在DiskOnChip上構(gòu)建VxWorks系統(tǒng)開發(fā)環(huán)境
        基于WiFi 技術(shù)的家居環(huán)境監(jiān)測系統(tǒng)的設(shè)計與研究
        人妻少妇无码精品视频区 | 精品粉嫩国产一区二区三区| 一区二区人妻乳中文字幕| 欧洲美熟女乱av亚洲一区 | 人禽杂交18禁网站免费| 亚洲性爱视频| 亚洲精品美女久久久久久久 | 国产成人综合久久久久久| 国产乱子伦农村叉叉叉| 超碰Av一区=区三区| 一区二区黄色素人黄色| 亚洲色一区二区三区四区| 麻豆一区二区99久久久久| 女女同性黄网在线观看| 久久青青草原亚洲av| 亚洲精品国产精品乱码视色| 久久九九国产精品怡红院| 国内精品一区二区2021在线| 人妻丰满精品一区二区| 深夜放纵内射少妇| 国产av一区二区精品久久凹凸| 日韩熟妇精品视频一区二区| 日本黄网色三级三级三级| 免费无遮挡无码永久视频| 两个人看的www高清视频中文| 无码中文字幕av免费放| 国产精品髙潮呻吟久久av| 成人一区二区免费中文字幕视频| 无码aⅴ在线观看| 开心激情站开心激情网六月婷婷| 国产精品三区四区亚洲av| 久久久受www免费人成| 久久狠狠高潮亚洲精品暴力打 | 国产人妖一区二区av| 国产丝袜美腿精品91在线看| 无码av免费精品一区二区三区 | 日本精品一区二区高清| 欧美大肥婆大肥bbbbb| 日本口爆吞精在线视频| 日韩精品久久午夜夜伦鲁鲁| 国产成人精品久久综合|