《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于ARM920T的紅外通信系統(tǒng)的設計
基于ARM920T的紅外通信系統(tǒng)的設計
來源:微型機與應用2010年第24期
施文娟
(鹽城師范學院 物理科學與電子技術(shù)學院,江蘇 鹽城 224002)
摘要: 提出了采用以基于內(nèi)核ARM920T的嵌入式微處理器S3C2440A為核心,以基于嵌入式Linux的ZHX1403為紅外收發(fā)器的紅外通信系統(tǒng)的設計方案。設計了紅外收發(fā)器在嵌入式Linux操作系統(tǒng)下的驅(qū)動程序,并給出了紅外通信系統(tǒng)應用的設計編程方法。
Abstract:
Key words :

摘  要: 提出了采用以基于內(nèi)核ARM920T的嵌入式微處理器S3C2440A為核心,以基于嵌入式LinuxZHX1403為紅外收發(fā)器的紅外通信系統(tǒng)的設計方案。設計了紅外收發(fā)器在嵌入式Linux操作系統(tǒng)下的驅(qū)動程序,并給出了紅外通信系統(tǒng)應用的設計編程方法。
關(guān)鍵詞: 紅外通信;ARM920T;S3C2440A;Linux;ZHX1403

    目前,嵌入式系統(tǒng)已經(jīng)進入了蓬勃發(fā)展的時代,越來越多的帶紅外通信功能的嵌入式設備走進人們的生活當中。紅外通信是利用紅外光進行通信的一種空間通信方式。紅外通信標準IrDA(Infrared Data Association)是目前IT和通信業(yè)普遍支持的近距離無線數(shù)據(jù)傳輸規(guī)范。盡管通信距離只有幾米,卻有很多優(yōu)勢:紅外連接比有線連接更安全可靠,并且避免了因線纜和連接器磨損和斷裂造成的檢修;它的小型化和低成本,很適合應用在便攜式產(chǎn)品中;并且紅外通信成本低廉,跨平臺適應性好,傳輸速率高,適宜用于低成本、跨平臺、點對點高速數(shù)據(jù)連接,尤其適用于嵌入式系統(tǒng)。
1 IrDA標準簡介
    紅外標準IrDA的章程是建立通用的、低功率電源的、半雙工紅外串行數(shù)據(jù)互聯(lián)標準、支持近距離、點到點、設備適應性廣的用戶模式。建立該標準是在各種設備之間較容易地進行低成本紅外通信的關(guān)鍵。
    IrDA就是一個點對點的協(xié)議,用在近距離進行異步串行傳輸。IrDA規(guī)范1.0定義了數(shù)據(jù)傳輸率最高到115.2 kb/s的紅外通信;規(guī)范1.1將數(shù)據(jù)傳輸率提高到4 Mb/s,并保持了對版本1.0產(chǎn)品的兼容; 規(guī)范1.2定義了最高速度為 115.2 kb/s下的低功耗選擇;規(guī)范1.3將這種低功耗選擇功能推廣到1.152 Mb/s和4 Mb/s[1],規(guī)范1.4廢棄并替代了規(guī)范1.3,定義了最高速度為16 Mb/s下的低功耗選擇[2]。
2 紅外通信系統(tǒng)的總體方案
    基于ARM920T的紅外通信系統(tǒng)由軟、硬件兩部分組成。硬件部分包括基于ARM920T內(nèi)核的微處理器S3C2440A及存儲器等硬件開發(fā)平臺和基于紅外收發(fā)器ZHX1403的紅外通信模塊兩部分;軟件部分包括紅外通信模塊驅(qū)動程序、紅外通信應用程序和嵌入式Linux操作系統(tǒng)三部分。
3 紅外通信系統(tǒng)的硬件設計
3.1 硬件開發(fā)平臺

    嵌入式系統(tǒng)硬件開發(fā)平臺采用S3C2440A為控制器。S3C2440A是32 bit RISC處理器,內(nèi)嵌ARM920T核。它的低功耗,簡潔,美觀和全靜態(tài)設計特別適用于對成本和功耗敏感的應用場合。S3C2440A提供手持設備和低功率的一般應用的方案,以及高性能的微控制器解決方案[3]。
    S3C2440A有如下特點:(1)最高可達400 MHz的主頻;(2)內(nèi)部集成LCD控制器(高達4 K彩色STN和256 K色TFT)液晶顯示專用的DMA;(3)3路異步串行通信接口(支持IrDA1.0,64 B的FIFO發(fā)送和64 B的FIFO接收);(4)IIS音頻編解碼器接口;(5)內(nèi)置看門狗定時電路及實時時鐘(RTC);(6)內(nèi)部集成兩路USB主控制器和1路USB設備控制器(版本1.1);(7)4路PWM定時器,1通道內(nèi)部定時器/看門狗定時器;(8)130個通用I/O端口,24通道外部中斷源;(9)8路10 bit ADC和觸摸屏接口;(10)增強型ARM架構(gòu)的MMU支持WinCE、嵌入式Linux操作系統(tǒng)。
3.2 紅外通信模塊
    ZHX1403是ZiLOG公司出品的一款專用于PDA、網(wǎng)絡應用、醫(yī)療電子、手持式設備的紅外收發(fā)器,且與IrDA1.4協(xié)議標準兼容[4]。它支持所有紅外通信協(xié)議支持的SIR紅外傳輸速率,采用半雙工串行傳輸方式,并具有Always On技術(shù),使得長時間的紅外功能開啟成為可能,為紅外設備的應用增加了更多的可能性。它具有極小巧的外型尺寸(7.3 mm×2.8 mm×1.9 mm),應用電路的空間也是非常小,只需要外接兩個外部元件,與其他支持IrDA標準的收發(fā)器間的典型數(shù)據(jù)連接距離可達1 m。
    ZHX1403有7個引腳,依次是NC、Vcc、GND、SD、RXD、TXD、LEDA。ZHX1403與S3C2440 處理器連接電路如圖1所示。LEDA通過一個外接的電阻接到Vcc上,給紅外管提供工作電流。ZHX1403接收數(shù)據(jù)輸出端口TXD與S3C2440A的GPH4/TXD1連接,ZHX1403發(fā)送數(shù)據(jù)輸入端口RXD與S3C2440A的GPH5/RXD1。掉電模式使能控制端SD與S3C2440A的GPB0/TOUT0連接,用來將內(nèi)部的電路控制在關(guān)閉模式。ZHX1403把接收到的數(shù)據(jù)通過GPH5/RXD1傳送給S3C2440A,S3C2440A把預發(fā)送的數(shù)據(jù)通過GPH4/TXD1發(fā)送給ZHX1403的TXD端口,再通過紅外收發(fā)器發(fā)射管發(fā)送。

4 紅外通信系統(tǒng)的軟件設計
4.1 紅外通信協(xié)議的實現(xiàn)

    紅外數(shù)據(jù)通信標準包括基本協(xié)議和特定應用領域的協(xié)議兩類。類似于TCP-IP協(xié)議,它是一個層式結(jié)構(gòu),其結(jié)構(gòu)形成一個棧,如表1所示[5]。

    其中有3個基本的規(guī)范和協(xié)議,即為必要協(xié)議:(1)紅外物理層協(xié)議 IrPHY(Infrared Physical Layer);(2)紅外連接訪問協(xié)議層 IrLAP(Infrared Link Access Protocol);(3)紅外連接管理協(xié)議層 IrLMP(Infrared Link Management Protocol)。以上每一層的功能是為上一層提供特定的服務。其中物理層協(xié)議制定了紅外通信硬件設計上的目標和要求,處于最底層。其他兩層屬于軟件協(xié)議的范圍,負責對鏈接進行設置、管理和維護。
    在IrLMP協(xié)議上層的協(xié)議都屬于可選的紅外數(shù)據(jù)通信協(xié)議,可用于特定應用領域的規(guī)范和協(xié)議:(1)流傳輸協(xié)議(TinyTP);(2)對象交換協(xié)議(IrOBEX);(3)模擬串口層協(xié)議(IrCOMM);(4)局域網(wǎng)訪問協(xié)議(IrLAN);(5)信息訪問服務協(xié)議(IAS)。
    驅(qū)動部分是協(xié)議棧的最主要部分,包括了IrLAP、IrLMP、TinyTP、IAS、IrOBEX、IrCOMM和IrLAN等協(xié)議。IrLAP、IrLMP是兩個必選的軟件協(xié)議。物理層上的第一層為IrLAP,它的功能是支持鏈路初始化、設備地址目錄、解決沖突、創(chuàng)建連接、數(shù)據(jù)交換、接觸連接和鏈路關(guān)閉,并且規(guī)定了紅外數(shù)據(jù)包的幀結(jié)構(gòu)及紅外通信的錯誤檢測方法。IrLMP提供建立在IrLAP連接上的多路復用及數(shù)據(jù)鏈路管理。TinyTP對數(shù)據(jù)傳輸進行流控制。IAS提供一個設備所擁有的相關(guān)服務檢索表。IrOBEX提供文件和其他數(shù)據(jù)對象的交換服務。IrCOMM使當前的應用能夠在IrDA平臺上使用串、并口通信,而不必進行轉(zhuǎn)換。IrLAN能為筆記本電腦和其他設備開啟IR局域網(wǎng)通道[6]。
    整個紅外協(xié)議棧比較龐大,在嵌入式系統(tǒng)中,由于微處理器的速度和存儲器容量的限制,沒有必要實現(xiàn)整個紅外協(xié)議棧,可以將協(xié)議棧簡化,根據(jù)實際需求,有選擇地實現(xiàn)自己需要的協(xié)議和功能[7]。
4.2 紅外通信模塊驅(qū)動程序的設計
    (1)初始化
    IrDA不是單純的串口物理通信規(guī)范,而是一種網(wǎng)絡傳輸控制標準。在Linux操作系統(tǒng)下,紅外通信是作為一類特殊的網(wǎng)絡設備來支持的。Linux必須按網(wǎng)絡設備驅(qū)動方法來組織紅外數(shù)據(jù)的網(wǎng)絡傳輸。在linux/net/irda中有紅外設備的代碼。可以用下面的函數(shù)初始化一個紅外設備:
    struct net_device *alloc_irdadev(int sizeof_priv)
    {
        return alloc_netdev(sizeof_priv,”irda%d”,irda_device_
setup);
    }
    當內(nèi)核啟動或加載網(wǎng)絡驅(qū)動模塊的時候,就會調(diào)用初始化過程。首先檢測網(wǎng)絡物理設備是否存在,通過檢測系統(tǒng)中的紅外串行接口完成,然后初始化與紅外相關(guān)的寄存器,隨后構(gòu)造設備的device數(shù)據(jù)結(jié)構(gòu),用檢測到的數(shù)值對device中的變量初始化。最后向Linux內(nèi)核中注冊該設備并申請內(nèi)存空間。
    (2)數(shù)據(jù)包的發(fā)送和接收
    數(shù)據(jù)包的發(fā)送和接收是實現(xiàn)嵌入式Linux操作系統(tǒng)下紅外驅(qū)動程序中兩個最關(guān)鍵的過程[8]。首先在網(wǎng)絡設備驅(qū)動加載時,通過device域中的init函數(shù)指針調(diào)用紅外設備的初始化函數(shù)對設備進行初始化。初始化成功后可以通過調(diào)用紅外設備的打開函數(shù)打開設備,申請紅外中斷,啟動隊列。數(shù)據(jù)包的發(fā)送通過調(diào)用s3c2440_irda_hard_xmit函數(shù),禁止接收,關(guān)閉中斷,將上層交付的數(shù)據(jù)幀放入到低層驅(qū)動的緩沖區(qū)中。進入發(fā)送模式,允許發(fā)送中斷,在中斷服務時把底層驅(qū)動緩沖區(qū)中的數(shù)據(jù)發(fā)送到紅外接口。
    數(shù)據(jù)包的接收通過中斷來完成。當有數(shù)據(jù)到達時,就會產(chǎn)生中斷信號,紅外設備驅(qū)動功能層就調(diào)用接收中斷處理程序,讀取URXH(串口接收緩沖寄存器)中的數(shù)據(jù)。
4.3 紅外通信程序設計
    應用層的網(wǎng)絡編程一般利用套接字建立雙方的虛擬連接。紅外通信的Socket稱為紅外套接字(IrSock)。在Linux中,每一種協(xié)議都有自己的網(wǎng)絡地址數(shù)據(jù)結(jié)構(gòu),均以sockaddr_開頭。Linux內(nèi)核在af_irda.c文件中實現(xiàn)了IrDA套接字。定義紅外套接字如下:
    struct sockaddr_irda{
    sa_family_t sir_family;//協(xié)議類型,一般是AF_IRDA
    _u8 sir_lsap_sel;
    _u32 sir_addr;
    char sir_name[25];
    }
    分配完套接字后,用bind綁定地址,用listen建立偵聽,等待接收客戶連接。使用send和recv與客戶端通信,最后使用closesocket關(guān)閉連接。
    本文在以基于ARM920T內(nèi)核的微處理器S3C2440A為核心的嵌入式開發(fā)平臺上詳細介紹了嵌入式Linux操作系統(tǒng)下紅外通信系統(tǒng)的設計和實現(xiàn)過程。通過對照硬件規(guī)范,可以實現(xiàn)嵌入式Linux操作系統(tǒng)下將紅外協(xié)議移植到特定的嵌入式系統(tǒng)中。在嵌入式Linux操作系統(tǒng)下紅外通信系統(tǒng)的開發(fā)對今后的嵌入式系統(tǒng)的應用研究具有較強的實用性,使紅外技術(shù)能在嵌入式系統(tǒng)中得到廣泛的應用。
參考文獻
[1] 張曉紅,SASDAT S,喬為民,等.紅外通信IrDA標準與應用[J].光電子技術(shù),2003,23(4):261-265.
[2] Infrared Data Association(IrDA).Infrared Data Association Serial Infrared Physical Layer Specification,Version1.4[EB/OL].[2005-5-30].http://www.irda.org/standards/specifications.asp.
[3] S3C2440A 32-BIT CMOS Microcontraller User’s Manual[R].Samsung Electronics,2004.
[4] ZHX1403 SIR UltraSlim transceiver product specification[R].ZiLOG Worldwide Headquarters,2002.
[5] 葉輝.紅外通訊協(xié)議在嵌入式系統(tǒng)中的實現(xiàn)[J].電子技術(shù)應用,2004,30(7):68-71.
[6] 邱磊,肖兵.基于IrDA協(xié)議棧的紅外通信綜述[J].無線通信技術(shù),2004,13(4):28-32.
[7] 陳祖爵,王繼鳳,王加民.基于嵌入式Linux的紅外通信系統(tǒng)設計[J].計算機工程與設計,2009,30(4):816-818,854.
[8] 周亦敏,佟國香.基于Linux的紅外網(wǎng)絡通信的實現(xiàn)[J].
     儀器儀表學報,2005(Z2):478-481.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品久久久久77777| 欧美日韩国产影片| 亚洲精华国产欧美| 欧美在线看片| 亚洲欧美国产一区二区三区| 亚洲视频中文| 亚洲最新在线| 亚洲乱码一区二区| 亚洲日本欧美在线| 亚洲激情在线播放| 亚洲电影视频在线| **性色生活片久久毛片| 激情久久久久久久久久久久久久久久| 国产欧美在线观看| 国产日韩一区在线| 国产一区二区三区av电影| 国产亚洲亚洲| 狠狠色2019综合网| 激情偷拍久久| 亚洲高清免费视频| 91久久在线视频| 欧美日韩亚洲在线| 久久久久久久波多野高潮日日| 欧美呦呦网站| 久久精品国产v日韩v亚洲| 久久久欧美精品| 女女同性女同一区二区三区91| 女人天堂亚洲aⅴ在线观看| 欧美激情一区| 欧美午夜精彩| 国产女主播一区| 国产综合亚洲精品一区二| 在线精品亚洲| 亚洲九九九在线观看| 亚洲五月婷婷| 欧美一区二区免费| 亚洲国产精品精华液2区45| 亚洲人成人一区二区三区| 99亚洲一区二区| 亚洲欧美日韩精品在线| 久久精品午夜| 欧美1区2区| 欧美三区美女| 国产日韩精品一区二区三区在线| 极品中文字幕一区| 亚洲免费av电影| 亚洲欧美在线免费观看| 亚洲激情自拍| 欧美亚洲一区二区三区| a4yy欧美一区二区三区| 亚洲无线一线二线三线区别av| 性欧美超级视频| 老牛影视一区二区三区| 欧美日韩一区二区三区免费看| 国产欧美日韩免费看aⅴ视频| 亚洲第一偷拍| 亚洲一区二区三区777| 亚洲第一精品电影| 亚洲一区二区动漫| 久久综合九色综合网站| 欧美日韩精品免费观看视频| 国产欧美日本在线| 亚洲精品欧美| 久久av在线| 中文亚洲欧美| 久热re这里精品视频在线6| 欧美三级视频在线观看| 娇妻被交换粗又大又硬视频欧美| 99re热这里只有精品视频| 欧美亚洲午夜视频在线观看| 日韩视频一区| 久久国产精品一区二区| 欧美日本一道本| 国产综合久久久久久鬼色| aa亚洲婷婷| 亚洲黄色一区二区三区| 性亚洲最疯狂xxxx高清| 欧美激情视频一区二区三区免费| 国产精品手机视频| 亚洲精品一二| 亚洲高清视频一区| 欧美在线在线| 国产精品爱久久久久久久| 亚洲黄色av一区| 久久精品国产96久久久香蕉| 亚洲欧美精品在线观看| 欧美破处大片在线视频| 在线观看视频日韩| 欧美与欧洲交xxxx免费观看| 亚洲主播在线观看| 欧美精品三级在线观看| 一区在线观看| 欧美在线二区| 午夜精品国产更新| 欧美日韩一区二区三区| 亚洲三级网站| 亚洲精品免费电影| 久久性色av| 国产欧美综合一区二区三区| 亚洲素人一区二区| 正在播放亚洲一区| 欧美精品久久久久久久| 亚洲成人在线| 久久精品一区| 久久久久久成人| 国产精品久久99| 一区二区三区毛片| 亚洲五月六月| 欧美色视频一区| 亚洲精品少妇网址| 日韩一区二区久久| 欧美精品在线看| 亚洲精品久久久一区二区三区| 91久久综合亚洲鲁鲁五月天| 开心色5月久久精品| 国内自拍一区| 亚洲第一成人在线| 久久综合伊人77777蜜臀| 国内精品美女av在线播放| 久久av红桃一区二区小说| 久久久噜噜噜久噜久久| 国产在线拍偷自揄拍精品| 久久国产手机看片| 久久天天狠狠| 伊人激情综合| 亚洲欧洲精品天堂一级| 欧美国产另类| 亚洲精品美女免费| 亚洲视频欧洲视频| 国产精品久久久久久亚洲毛片| 亚洲视频导航| 香蕉尹人综合在线观看| 国产日本亚洲高清| 久久精品视频一| 欧美成人精品不卡视频在线观看| 亚洲大片在线观看| 日韩午夜激情av| 欧美午夜剧场| 亚洲欧美欧美一区二区三区| 久久国产主播精品| 国产一区日韩一区| 91久久国产综合久久| 欧美美女bbbb| 亚洲精品一区二区三区樱花| 亚洲欧美国内爽妇网| 国产日产欧美精品| 亚洲福利视频专区| 欧美激情精品久久久六区热门| 亚洲美女性视频| 香蕉成人啪国产精品视频综合网| 国产日韩欧美91| 亚洲国产日韩在线| 欧美喷水视频| 亚洲女ⅴideoshd黑人| 久久一区激情| aa级大片欧美三级| 久久精品国产91精品亚洲| 亚洲国产成人久久综合| 亚洲小视频在线观看| 国产日韩欧美| 亚洲巨乳在线| 国产精品中文字幕欧美| 亚洲激情专区| 国产精品久久久久久久久动漫 | 亚洲一区二区三区视频播放| 久久国内精品自在自线400部| 在线观看日产精品| 亚洲一区成人| 永久91嫩草亚洲精品人人| 亚洲天堂成人在线视频| 国产一区二区按摩在线观看| 99视频精品在线| 国产日韩精品在线观看| 99精品99| 国产专区一区| 亚洲图片欧美日产| 国内外成人在线视频| 亚洲一区二区三区视频| 尤妮丝一区二区裸体视频| 亚洲欧美在线另类| 91久久精品国产91久久性色| 欧美一区二区视频在线观看| 亚洲精品一区二区三区av| 久久久久久久综合狠狠综合| 日韩视频在线永久播放| 久久青草福利网站| 一区二区精品在线观看| 美国成人直播| 香蕉久久国产| 国产精品99一区二区| 亚洲人成人一区二区在线观看 | 亚洲蜜桃精久久久久久久| 久久久综合网站| 亚洲图片欧洲图片日韩av| 欧美成人性网| 欧美一区二区三区在| 国产精品久久久久aaaa樱花| 亚洲免费高清| 悠悠资源网亚洲青| 久久国产视频网|