




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑基于IEEE1394b的双向传输设备驱动程序设计-设计应用摘要:介绍了基于IEEEl394b总线双向数据传输系统PC机端设备驱动程序。结合IEEEl394b总线规范,以Windows环境为例详细介绍了利用Fir-eAPISDK开发IEEE1394b设备驱动程序的设计原理、实现方法。
现有的大部分数据传输接口总线造价比较高,且难以满足实际运用中对传输速率的要求,成了阻碍整个系统性能提高的一大屏障。IEEE-1394是现今速的串行总线接口之一,IEEE1394lb更是在原有IEEE1394的基础上速度更快,支持距离更长,在实时批量数据传输方面有广泛的应用前景。
基于1394传输系统设备驱动文献,大部分都是基于IEEE1394a的,而IEEE1394b以其更高的速度展现出了更大的魅力,对实时大批量的数据传输具有重大意义,但是Microsoft并没有提供对1394b的支持,在Windows自带的1394不能支持其S800的速度,因此1394b在应用上受到局限,Unibrian提供了FireAPISDK开发包,提供了对1394b的完全支持,也是现在持1394b的驱动程序开发包。
1IEEEl394串行总线概述
IEEE1394又称火线(FireWire),是由美国苹果电脑公司开发的一种品质高、传输速度快的串行总线技术。1995年IEEE正式认可IEEE1394-1995规范,并于2000年又推出了IEEE1394a-2000规范。2022年推出了IEEEl394b-2022的传输速率可达3.2Gb·s-1,兼容于IEEE1394a,但是接口的形状从IEEE1394a的6Pin变成9Pin。IEEE1394的主要特点如下:
(1)高速可升级,支持100Mb·s-1、200Mb·s-1、和400Mb·s-1的传输速率。IEEE1394b增加800Mb·s-1,1600bib·s-1,3200Mb·s-1的传输速率,现在市面上所提供的芯片支持到800Mb·s-1。
(2)支持点到点传输,各节点可以脱离主机自主执行事务。
(3)支持较远距离的传输;IEEE1394节点之间的距离不能超过4.5m。IEEE1394b远距离可达100m,而且可以选用更多的传输媒介,比如非屏蔽的5类双绞线、塑料光纤和玻璃光纤等。
(4)支持即插即用,可以在任何时候向IEEE1394网络添加或删除设备。
(5)热插拔,无需将系统断电就可以加入和移除设备。
(6)支持两类事务,包括等时(Isochronous)和异步(Asynchronous)事务。
(7)拓扑结构,设备间采用树形或菊花链拓扑结构,每条总线多可以连接63台设备。
(8)公平仲裁,是等时传输具有较高优先级,同时异步传输也能获得对总线公平的访问。
2IEEE1394b驱动程序的基本结构
Unibrianl394驱动程序栈采用由上而下的架构,这个栈的就是1394类驱动,它完成1394所有事物并提供应用程序所需的全部服务。而这个1394类驱动正是WDM驱动中的类驱动。图1为Unibrainl394驱动栈。
图1Unibrain1394驱动栈
3IEEE1394b驱动程序的具体实现
3.1驱动程序入口点
运用FireAPI的件事就是调用C1394Initializa,C1394Initialize执行所有对1394初始化支持的必需动作,这个函数会检查FireAPI驱动栈是否已完全安装,相应的驱动程序是否已经开始,以及初始化驱动栈需要的内部结构。
3.2打开设备方法
当1394总线上添加或删除一个或多个设备时会自动重新配置物理设备地址,以此来支持即插即用特性,这时设备物理ID的重新分配,设备的节点号可能会改变。不过1394要求每个节点都要有一个惟一标识符GUID,它存储在Bus_Into_Block,在设备的整个生存期它是惟一不变的,所以在程序中根据设备的GUID打开设备句柄,其传输时将不用担心总线复位及物理ID改变。
4IEEE1394b具体通信机制
IEEE1394串行总线支持两种传输类型;异步传输和等时传输。
(1)异步传输,异步传输使用确定的物理地址来指向某一个节点,以完成读、写、锁定操作。基于请求和应答的机制来确保数据传输的正确性。
(2)等时传输,等时传输是一种不需要确认数据的传输类型,它主要强调的是传输数据的实时性。等时传输是通过一个6位的信道号码来确定一个或多个设备。其以固定时间间隔(125ms)发送数据,所以必须分配固定的总线带宽,有着高于异步传输的优先级。等时传输所用的带宽是整个带宽的80%。
4.1IEEE1394b异步传输
异步传输的主要步骤如下:
(1)设置传输速度,1394b支持的速度为800Mb·s-1,驱动程序可以在总线复位完成后立即通过C1394GetMaxSpeedToNode或1394Get-MaxSpeedBetweenNodes设置节点间速度。
(2)设置包,1394b在S800的速度下所支持的包长为4096bit,可通过C1394GetMaxPayloadForSpeedandC1394GetMaxPayloadF-orMaxRec设置包长。
(3)设置带宽,要注意的是带宽不仅取决于包的大小,还与节点间的传输速率有关,当传输速率增加时,所需的带宽会减小。
(4)异步读/写,异步传输分为阻塞调用和非阻塞调用,C1394ReadNode/C1394WriteNodewei为阻塞调用,只在读或写事务完成(包括发送请求数据包,检查确认,等待响应或超时)后返回。C1394ReadNodeAsynch/C1394WriteNodeAsynch为非阻塞调用。非阻塞调用比阻塞调用更节省时间,节约资源。
4.2IEEE1394b等时传输机制
与异步传输不同,等时传输强调了数据的实时性。等时传输是基于时间片的。
建立等时传输的步骤为:(1)设置传输速率,为800Mb·s-1。(2)设置带宽。(3)分配等时信道。(4)分配等时资源。(5)等时事务处理。(6)完成后释放资源。
有时候应用程序并不只发送一个等时请求,那么适配器通道要处理下一个请求,同时程序还要处理上一个请求完成的结果,这样确保等时接收时不会丢数据包,这时要用到等时请求队列来完成。内核模式的API两种等时处理模型,排队一完成和即时一完成,驱动可以使用其中任意一个,如有必要可混合使用。在用户模式中,操作模式有一些限制,不能直接回调,应用程序通常使用排队一完成模式处理所有等时请求。图2和图3分别是排队一完成和即时一完成模型的处理流程图。
图2排队~完成模型的处理流程图
图3即时-完成模型的处理流程图
5结束语
介绍了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中兽医基础理论知到课后答案智慧树章节测试答案2025年春河北农业大学
- 阜阳幼儿师范高等专科学校《Scratch与创意设计》2023-2024学年第二学期期末试卷
- 云南省玉溪市元江县第一中学2025届高三第二学期学生月考测试卷(2.22)化学试题试卷含附加题含解析
- 温州职业技术学院《现代汉语A3》2023-2024学年第一学期期末试卷
- 宿州学院《金融工程学》2023-2024学年第二学期期末试卷
- 湖北省武汉市武汉小学瑞景小学2024-2025学年五年级数学第二学期期末教学质量检测试题含答案
- 天津生物工程职业技术学院《化工热力学》2023-2024学年第二学期期末试卷
- 公司车间卫生流动红旗评比方案
- 酸罐区土建施工方案
- 2025年中考语文写作素材积累:《人民日报》作文素材之人文情怀
- 统编版(2024)道德与法治七年级下册第一单元 珍惜青春时光 单元测试卷(含答案)
- 2025年甘肃省张掖市民乐县招聘专业技术人员9人(第二期)历年高频重点模拟试卷提升(共500题附带答案详解)
- 2025年湖北武汉理工大学学生辅导员招聘18人历年高频重点模拟试卷提升(共500题附带答案详解)
- 北京服装学院招聘考试题库2024
- 金融科技概论-课件 第十五章 金融科技监管与监管科技
- 2024年江苏省南京市中考数学试卷真题(含答案解析)
- 物资装卸培训课件
- DB5101-T 71-2020 成都市电动汽车充电设施 安全管理规范
- 2025年北京电子科技职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年乌兰察布医学高等专科学校高职单招职业技能测试近5年常考版参考题库含答案解析
- 2024年二级建造师之二建机电工程实务考试题库含完整答案
评论
0/150
提交评论