- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux红外网络通信实现
基于Linux的红外网络通信的实现
关键字: 分频器 VHDL POS机 信号采集处理 A/D转换器 文件创建
内容摘要:分析了红外网络通信标准IrDA的层次结构,介绍了Linux网络设备驱动程序在内核中的工作机理,并以在高端嵌入式处理器PXA255上实现的红外网络通信为实例,给出了Linux网络设备驱动程序的一种开发模式和实现要点,为复杂网络驱动程序的设计和各类嵌入式设备开发中红外网络通信的应用提供了一种实用的方法。
1 引言
随着Internet的飞速发展,从WAN到MAN,再到LAN,PAN,这些技术已逐渐成熟。目前,各类网络中最具增长潜力的是无线网络,采用无线局域网(WLAN)来拓展现有网络,获得在有效区域内部移动接入网络的能力,是目前网络应用研究的热点之一。红外网络通信具有无需申请频率使用权、成本低廉、连接方便、简单易用和结构紧凑等特点,使之与蓝牙、802111(Wi2Fi)一样,成为三种最流行的短距离无线数据通信的标准。
Linux是目前最具活力的操作系统之一,其对各类计算机架构的兼容和支持,强健的网络功能,独特的自由软件的特征,近几年发展势头极为迅猛,它的各种商业、非商业的版本,广泛应用于企业资源管理、嵌入式系统开发、网络运作等各个领域,基于Linux的各种应用开发成为目前的主流技术之一。
2 IrDA标准简介
红外通信是以红外线作为载体来传送数据信息的,要使各种设备能够通过红外口随意连接,需有一个统一的软硬件规范。成立于1993年的红外线数据协会IrDA(InfraredDataAssociation)最初制定的IrDA1.0,简称为SIR(SerialInfraRed),是基于HP2SIR开发出来的一种异步、半双工的红外通信方式,它依托系统中的异步通信收发器(UART),通过对串行数据脉冲的波形压缩和对所接收的光信号电脉冲的波形扩展这一编码解码过程(3?16EnDec)实现红外数据传输,但最高通信速率只有11512kb?s。IrDA1.1(也称FIR,FastInfrared,1996年底推出)由于不依托UART,最高通信速率可达4Mb?s,它采用了全新的4×10-6调制解调,即通过分析脉冲的相位来辨别所传输的数据信息。目前许多嵌入式处理器中的红外口兼容了SIR和FIR二种标准,即根据使用时通信速率的选定,自动套用不同的标准。
IrDA标准包括3个基本的规范和协议:红外物理层规范(IrPHY)、红外数据链路访问协议(IrLAP)和红外链接管理协议IrLMP。物理层规范制定了红外通信硬件设计上的目标和要求,IrLAP和IrLMP为二个软件层,负责对链接进行设置、管理和维护。IrLAP是为IrDA设备提供基本链接层连接的协议,在HDLC和SDLC基础上扩充了一些独特的红外通讯特性,提供连接制定、数据转移、流控制等功能,并具有红外线媒质独特属性的附加特点。IrLMP取决于连接的关系和由IrLAP提供的处理特性,它允许多个Ir设备连接,并可运行超过一个以上的IrLAP,解决在搜寻IrLAP中的地址冲突,处理在多个设备中的重复地址并产生新的地址,给出连接操作的信息(IAS)。
3 Linux网络设备的驱动
由于IrDA不是单纯的串口物理通信规范,而是一种网络传输控制标准。Linux必须按网络设备驱动方法来组织红外数据的网络传输。Linux网络驱动程序的体系结构如图1所示
体系结构划分为四层,自上而下分别为协议接口层,网络设备接口层,提供实际功能的设备驱动功能层,以及网络设备和网络媒介层。网络驱动程序的设计,最主要的工作就是完成设备驱动功能层,使其满足应用中所需的功能。Linux对所有网络设备都抽象为一个接口,这个接口提供了对所有网络设备的操作集合。由数据结构structdevice来表示网络设备在内核中的运行情况,即网络设备接口,它既包括纯软件网络设备接口,也包括硬件网络设备接口,由以devbase为头指针的设备链表来集体管理所有网络设备,该设备链表中的每个元素代表一个网络设备接口。数据结构device(在内核中也就是net_device)中有很多供系统访问和协议层调用的设备方法,包括供设备初始化和进行系统注册用的init函数,打开和关闭网络设备的open和stop函数,处理数据包发送的函数hard_start_xmit,以及中断处理函数等。
3.1 初始化
网络设备的初始化主要是由device数据结构中的init函数指针所指的初始化函数来完成的,当内核启动或加载网络驱动模块的时候,就会调用初始化过程。首先检测网络物理设备是否存在,这是通过检测物理设备的硬件特征来完成(系统中的红外串行接口),然后再对设备进行资源配置,随后构造设备的device数据结构,用检测到的数值
您可能关注的文档
最近下载
- 湖南省名校联考联合体2025-2026学年高一上学期10月联考语文试卷含答案.pdf VIP
- 部分常用岩土物理力学参数经验数值.doc
- 中南大学网校马克思主义基本原理考试.doc VIP
- 浙江省精诚联盟2025-2026学年高一上学期10月联考生物试卷含答案.docx VIP
- 2025-2026学年广东省广州市第一中学高一上学期10月月考数学试卷含详解.docx VIP
- 抖音爸爸博主“新父职”的数字实践研究_.pdf VIP
- 演示文稿青春期生长发育.ppt VIP
- 2023年中南财经政法大学公共课《马克思主义基本原理概论》期末试卷B(有答案).docx VIP
- 2024-2025学年广东省珠海市文园中学九年级(下)开学物理试卷.docx VIP
- 保健品营销策划.pdf VIP
文档评论(0)