您的位置 首页 硬件

根据ARM920T的红外通讯体系的规划

提出了采用以基于内核ARM920T的嵌入式微处理器S3C2440A为核心,以基于嵌入式Linux的ZHX1403为红外收发器的红外通信系统的设计方案。设计了红外收发器在嵌入式Linux操作系统下的驱动

现在,嵌入式体系现已进入了蓬勃发展的年代,越来越多的带红外通讯功用的嵌入式设备走进人们的日子傍边。红外通讯是运用红外光进行通讯的一种空间通讯办法。红外通讯标准IrDA(Infrared Data Association)是现在IT和通讯业遍及支撑的近间隔无线数据传输标准。虽然通讯间隔只要几米,却有许多优势:红外衔接比有线衔接更安全可靠,而且避免了因线缆和衔接器磨损和开裂构成的检修;它的小型化和低本钱,很合适运用在便携式产品中;而且红外通讯本钱低价,跨渠道适应性好,传输速率高,适合用于低本钱、跨渠道、点对点高速数据衔接,特别适用于嵌入式体系。

1 IrDA标准简介

红外标准IrDA的规章是树立通用的、低功率电源的、半双工红外串行数据互联标准、支撑近间隔、点到点、设备适应性广的用户形式。树立该标准是在各种设备之间较容易地进行低本钱红外通讯的要害。

IrDA便是一个点对点的协议,用在近间隔进行异步串行传输。IrDA标准1.0界说了数据传输率最高到115.2 kb/s的红外通讯;标准1.1将数据传输率提高到4 Mb/s,并坚持了对版别1.0产品的兼容; 标准1.2界说了最高速度为 115.2 kb/s下的低功耗挑选;标准1.3将这种低功耗挑选功用推行到1.152 Mb/s和4 Mb/s[1],标准1.4抛弃并代替了标准1.3,界说了最高速度为16 Mb/s下的低功耗挑选[2]。

2 红外通讯体系的总体计划

依据ARM920T的红外通讯体系由软、硬件两部分组成。硬件部分包含依据ARM920T内核的微处理器S3C2440A及存储器等硬件开发渠道和依据红外收发器ZHX1403的红外通讯模块两部分;软件部分包含红外通讯模块驱动程序、红外通讯运用程序和嵌入式Linux操作体系三部分。

3 红外通讯体系的硬件规划

3.1 硬件开发渠道

嵌入式体系硬件开发渠道选用S3C2440A为操控器。S3C2440A是32 bit RISC处理器,内嵌ARM920T核。它的低功耗,简练,漂亮和全静态规划特别适用于对本钱和功耗灵敏的运用场合。S3C2440A供给手持设备和低功率的一般运用的计划,以及高性能的微操控器处理计划[3]。

S3C2440A有如下特色:(1)最高可达400 MHz的主频;(2)内部集成LCD操控器(高达4 K五颜六色STN和256 K色TFT)液晶显示专用的DMA;(3)3路异步串行通讯接口(支撑IrDA1.0,64 B的FIFO发送和64 B的FIFO接纳);(4)IIS音频编解码器接口;(5)内置看门狗守时电路及实时时钟(RTC);(6)内部集成两路USB主操控器和1路USB设备操控器(版别1.1);(7)4路PWM守时器,1通道内部守时器/看门狗守时器;(8)130个通用I/O端口,24通道外部中止源;(9)8路10 bit ADC和触摸屏接口;(10)增强型ARM架构的MMU支撑WinCE、嵌入式Linux操作体系。

3.2 红外通讯模块

ZHX1403是ZiLOG公司出品的一款专用于PDA、网络运用、医疗电子、手持式设备的红外收发器,且与IrDA1.4协议标准兼容[4]。它支撑一切红外通讯协议支撑的SIR红外传输速率,选用半双工串行传输办法,并具有Always On技能,使得长期的红外功用敞开成为可能,为红外设备的运用增加了更多的可能性。它具有极细巧的外型尺度(7.3 mm×2.8 mm×1.9 mm),运用电路的空间也是十分小,只需求外接两个外部元件,与其他支撑IrDA标准的收发器间的典型数据衔接间隔可达1 m。

ZHX1403有7个引脚,依次是NC、Vcc、GND、SD、RXD、TXD、LEDA。ZHX1403与S3C2440 处理器衔接电路如图1所示。LEDA经过一个外接的电阻接到Vcc上,给红外管供给作业电流。ZHX1403接纳数据输出端口TXD与S3C2440A的GPH4/TXD1衔接,ZHX1403发送数据输入端口RXD与S3C2440A的GPH5/RXD1。掉电形式使能操控端SD与S3C2440A的GPB0/TOUT0衔接,用来将内部的电路操控在封闭形式。ZHX1403把接纳到的数据经过GPH5/RXD1传送给S3C2440A,S3C2440A把预发送的数据经过GPH4/TXD1发送给ZHX1403的TXD端口,再经过红外收发器发射管发送。

4 红外通讯体系的软件规划

4.1 红外通讯协议的完结

红外数据通讯标准包含根本协议和特定运用领域的协议两类。类似于TCP-IP协议,它是一个层式结构,其结构构成一个栈,如表1所示[5]。

其间有3个根本的标准和协议,即为必要协议:(1)红外物理层协议 IrPHY(Infrared Physical Layer);(2)红外衔接拜访协议层 IrLAP(Infrared Link Access Protocol);(3)红外衔接办理协议层 IrLMP(Infrared Link Management Protocol)。以上每一层的功用是为上一层供给特定的服务。其间物理层协议拟定了红外通讯硬件规划上的方针和要求,处于最底层。其他两层归于软件协议的规模,担任对链接进行设置、办理和保护。

在IrLMP协议上层的协议都归于可选的红外数据通讯协议,可用于特定运用领域的标准和协议:(1)流传输协议(TinyTP);(2)目标交流协议(IrOBEX);(3)模仿串口层协议(IrCOMM);(4)局域网拜访协议(IrLAN);(5)信息拜访服务协议(IAS)。

驱动部分是协议栈的最主要部分,包含了IrLAP、IrLMP、TinyTP、IAS、IrOBEX、IrCOMM和IrLAN等协议。IrLAP、IrLMP是两个必选的软件协议。物理层上的第一层为IrLAP,它的功用是支撑链路初始化、设备地址目录、处理抵触、创立衔接、数据交流、触摸衔接和链路封闭,而且规则了红外数据包的帧结构及红外通讯的过错检测办法。IrLMP供给树立在IrLAP衔接上的多路复用及数据链路办理。TinyTP对数据传输进行流操控。IAS供给一个设备所具有的相关服务检索表。IrOBEX供给文件和其他数据目标的交流服务。IrCOMM使当时的运用能够在IrDA渠道上运用串、并口通讯,而不用进行转化。IrLAN能为笔记本电脑和其他设备敞开IR局域网通道[6]。

整个红外协议栈比较巨大,在嵌入式体系中,因为微处理器的速度和存储器容量的约束,没有必要完结整个红外协议栈,能够将协议栈简化,依据实践需求,有挑选地完结自己需求的协议和功用[7]。

4.2 红外通讯模块驱动程序的规划

(1)初始化

IrDA不是单纯的串口物理通讯标准,而是一种网络传输操控标准。在Linux操作体系下,红外通讯是作为一类特别的网络设备来支撑的。Linux必须按网络设备驱动办法来安排红外数据的网络传输。在linux/net/irda中有红外设备的代码。能够用下面的函数初始化一个红外设备:
struct net_device *alloc_irdadev(int sizeof_priv)
{
return alloc_netdev(sizeof_priv,”irda%d”,irda_device_
setup);
}
当内核发动或加载网络驱动模块的时分,就会调用初始化进程。首要检测网络物理设备是否存在,经过检测体系中的红外串行接口完结,然后初始化与红外相关的寄存器,随后结构设备的device数据结构,用检测到的数值对device中的变量初始化。最终向Linux内核中注册该设备并请求内存空间。

(2)数据包的发送和接纳

数据包的发送和接纳是完结嵌入式Linux操作体系下红外驱动程序中两个最要害的进程[8]。首要在网络设备驱动加载时,经过device域中的init函数指针调用红外设备的初始化函数对设备进行初始化。初始化成功后能够经过调用红外设备的翻开函数翻开设备,请求红外中止,发动行列。数据包的发送经过调用s3c2440_irda_hard_xmit函数,制止接纳,封闭中止,将上层交给的数据帧放入到低层驱动的缓冲区中。进入发送形式,答应发送中止,在中止服务时把底层驱动缓冲区中的数据发送到红外接口。

数据包的接纳经过中止来完结。当有数据抵达时,就会发生中止信号,红外设备驱动功用层就调用接纳中止处理程序,读取URXH(串口接纳缓冲寄存器)中的数据。

4.3 红外通讯程序规划

运用层的网络编程一般运用套接字树立两边的虚拟衔接。红外通讯的Socket称为红外套接字(IrSock)。在Linux中,每一种协议都有自己的网络地址数据结构,均以sockaddr_最初。Linux内核在af_irda.c文件中完结了IrDA套接字。界说红外套接字如下:

struct sockaddr_irda{
sa_family_t sir_family;//协议类型,一般是AF_IRDA
_u8 sir_lsap_sel;
_u32 sir_addr;
char sir_name[25];
}

分配完套接字后,用bind绑定地址,用listen树立侦听,等候接纳客户衔接。运用send和recv与客户端通讯,最终运用closesocket封闭衔接。

本文在以依据ARM920T内核的微处理器S3C2440A为中心的嵌入式开发渠道上具体介绍了嵌入式Linux操作体系下红外通讯体系的规划和完结进程。经过对照硬件标准,能够完结嵌入式Linux操作体系下将红外协议移植到特定的嵌入式体系中。在嵌入式Linux操作体系下红外通讯体系的开发对往后的嵌入式体系的运用研究具有较强的实用性,使红外技能能在嵌入式体系中得到广泛的运用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/198717.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部