基于IEEE1394b的双向传输设备驱动程序设计

最新更新时间:2010-12-22来源: 互联网关键字:传输速率  串行总线  即插即用  开发包 手机看文章 扫描二维码
随时随地手机看文章

    现有的大部分数据传输接口总线造价比较高,且难以满足实际运用中对传输速率的要求,成了阻碍整个系统性能提高的一大屏障。IEEE-1394是现今最高速的串行总线接口之一,IEEE1394lb更是在原有IEEE1394的基础上速度更快,支持距离更长,在实时批量数据传输方面有广泛的应用前景。

    基于1394传输系统设备驱动文献,大部分都是基于IEEE1394a的,而IEEE1394b以其更高的速度展现出了更大的魅力,对实时大批量的数据传输具有重大意义,但是Microsoft并没有提供对1394b的支持,在Windows自带的1394不能支持其S800的速度,因此1394b在应用上受到局限,Unibrian提供了FireAPI SDK开发包,提供了对1394b的完全支持,也是现在唯一持1394b的驱动程序开发包。

1 IEEEl394串行总线概述

    IEEE1394又称火线(Fire Wire),是由美国苹果电脑公司开发的一种品质高、传输速度快的串行总线技术。1995年IEEE正式认可IEEE139 4-1995规范,并于2000年又推出了IEEE1394a-2000规范。2002年推出了IEEEl394b-2002的传输速率可达3.2 Gb·s-1,兼容于IEEE1394a,但是接口的形状从IEEE1394a的6 Pin变成9 Pin。IEEE1394的主要特点如下:

    (1)高速可升级,支持100 Mb·s-1、200 Mb·s-1、和400 Mb·s-1的传输速率。IEEE1394b增加800 Mb·s-1,16 00 bib·s-1,3 200 Mb·s-1的传输速率,现在市面上所提供的芯片最高支持到800 Mb·s-1。
    (2)支持点到点传输,各节点可以脱离主机自主执行事务。
    (3)支持较远距离的传输;IEEE1394节点之间的距离不能超过4.5 m。IEEE1394b最远距离可达100 m,而且可以选用更多的传输媒介,比如非屏蔽的5类双绞线、塑料光纤和玻璃光纤等。
    (4)支持即插即用,可以在任何时候向IEEE1394网络添加或删除设备。
    (5)热插拔,无需将系统断电就可以加入和移除设备。
    (6)支持两类事务,包括等时(Isochronous)和异步(Asynchronous)事务。
    (7)拓扑结构,设备间采用树形或菊花链拓扑结构,每条总线最多可以连接63台设备。
    (8)公平仲裁,是等时传输具有较高优先级,同时异步传输也能获得对总线公平的访问。

2 IEEE1394b驱动程序的基本结构

    Unibrianl394驱动程序栈采用由上而下的架构,这个栈的核心就是1394类驱动,它完成1394所有事物并提供应用程序所需的全部服务。而这个1394类驱动正是WDM驱动中的类驱动。图1为Unibrainl394驱动栈。

a.JPG

3 IEEE1394b驱动程序的具体实现

3.1 驱动程序入口点

    运用FireAPI的第一件事就是调用C1394Initializa,C1394Initialize执行所有对1394初始化支持的必需动作,这个函数会检查FireAPI驱动栈是否已完全安装,相应的驱动程序是否已经开始,以及初始化驱动栈需要的内部结构。

3.2 打开设备方法

    当1394总线上添加或删除一个或多个设备时会自动重新配置物理设备地址,以此来支持即插即用特性,这时设备物理ID的重新分配,设备的节点号可能会改变。不过1394要求每个节点都要有一个全球惟一标识符GUID,它存储在Bus_Into_Block,在设备的整个生存期它是惟一不变的,所以在程序中根据设备的GUID打开设备句柄,其传输时将不用担心总线复位及物理ID改变。

4 IEEE1394b具体通信机制

    IEEE1394串行总线支持两种传输类型;异步传输和等时传输。

    (1)异步传输,异步传输使用确定的物理地址来指向某一个节点,以完成读、写、锁定操作。基于请求和应答的机制来确保数据传输的正确性。

    (2)等时传输,等时传输是一种不需要确认数据的传输类型,它主要强调的是传输数据的实时性。等时传输是通过一个6位的信道号码来确定一个或多个设备。其以固定时间间隔(125 ms)发送数据,所以必须分配固定的总线带宽,有着高于异步传输的优先级。等时传输所用的最大带宽是整个带宽的80%。

4.1 IEEE1394b异步传输

    异步传输的主要步骤如下:

    (1)设置传输速度,1394b支持的最高速度为800 Mb·s-1,驱动程序可以在总线复位完成后立即通过C1394GetMaxSpeedToNode或1394Get-MaxSpeedBetweenNodes设置节点间速度。

    (2)设置最大包,1394b在S800的速度下所支持的最大包长为4 096 bit,可通过C1394GetMaxPayloadForSpeedand C1394GetMaxPayloadF-orMaxRec设置最大包长。

    (3)设置带宽,要注意的是带宽不仅取决于包的大小,还与节点间的传输速率有关,当传输速率增加时,所需的带宽会减小。

    (4)异步读/写,异步传输分为阻塞调用和非阻塞调用,C1394ReadNode/C1394WriteNodewei为阻塞调用,只在读或写事务完成 (包括发送请求数据包,检查确认,等待响应或超时)后返回。C1394ReadNodeAsynch/C1394WriteNodeAsynch为非阻塞调用。非阻塞调用比阻塞调用更节省时间,节约资源。

4.2 IEEE1394b等时传输机制

    与异步传输不同,等时传输强调了数据的实时性。等时传输是基于时间片的。

    建立等时传输的步骤为:(1)设置传输速率,最大为800 Mb·s-1。(2)设置带宽。(3)分配等时信道。(4)分配等时资源。(5)等时事务处理。(6)完成后释放资源。

    有时候应用程序并不只发送一个等时请求,那么适配器通道要处理下一个请求,同时程序还要处理上一个请求完成的结果,这样确保等时接收时不会丢数据包,这时要用到等时请求队列来完成。内核模式的API两种等时处理模型,排队一完成和即时一完成,驱动可以使用其中任意一个,如有必要可混合使用。在用户模式中,操作模式有一些限制,不能直接回调,应用程序通常使用排队一完成模式处理所有等时请求。图2和图3分别是排队一完成和即时一完成模型的处理流程图。

b.JPG

c.JPG

5 结束语

    介绍了基于IEEE1394b驱动程序的开发,在此基础之上开发了设备驱动和应用程序,建立了1394组网平台。试验证明,实现了互联与传输,系统能工作在800 Mb·s-1的速率上,达到了预定的目标。

关键字:传输速率  串行总线  即插即用  开发包 编辑:金海 引用地址:基于IEEE1394b的双向传输设备驱动程序设计

上一篇:理解热插拔技术:热插拔保护电路设计过程实例
下一篇:光耦的线性化与线性光耦器件的应用

推荐阅读最新更新时间:2023-10-12 20:18

转向使用即插即用的分层 DFT 的好处
一、背景 传统的全芯片 ATPG 正日渐衰退,对于许多现有的和未来的集成芯片器件来说,一项主要挑战就是如何为庞大数量的设计创建测试图案。对于有百万门甚至数亿门的设计,传统上等到设计完成再创建测试图案的方法是不切实际的,产生所有这些图案需要庞大的计算能力和相当多的时间。分层可测试性设计通过在区块或内核上完成了 DFT 插入和图案生成解决了这个问题。这大大减少了图案生成时间和所需的计算资源。它还能让你在设计过程中提前完成大部分 DFT 和图案生成,从而大幅提高可预测性并降低风险。本文将介绍分层 DFT 流程的:插入扫描包装器 (Wrapper)、为内核生成灰盒图像,将内核级图案重定向到集成芯片顶层的简单映射步骤。 二、为什么即
[嵌入式]
仪器控制系统硬件总线选择方案
  概览   当您面对各种各样的仪器连接总线时,可能会很难为自己的应用作出最合适的选择。可以说每个总线都有各自的优势和相应的优化技术。因此,请您先问问自己如下四个问题,比较一下最常见PC总线的功能选项,即可作出决定。   什么总线可以用在仪器和计算机上?   我需要什么样的总线性能?   该仪器将要用在什么环境中?   设置和配置总线的难易程度如何?   仪器控制硬件总线概述   1.什么总线可以用在仪器和计算机上?   一款仪器通常会提供一个或更多个总线选择,用于仪器的控制;PC通常也会为仪器控制提供多种总线选择。如果PC上没有自带连接到某种仪器的总线,您也可以通过一个插件板或者外部转换器来添
[嵌入式]
IBM开发光芯片原型数据传输速率1Tbps
    北京时间3月8日晚间消息,IBM周四宣布,该公司研究人员已经开发出一款光芯片原型产品Holey Optochip,其数据传输速率达到1Tbps,相当于每秒传输500部高清电影。   这款芯片相当于一个光收发机。在新应用和服务越来越多的情况下,该芯片可以用于处理和传输网络中的大量数据,并被应用在未来的超级计算机和数据中心中。IBM目前已经在数据中心中使用光技术。   IBM表示,通过利用光脉冲来加速数据流,光网络能够大幅提升数据传输速率。研究人员已开始寻找新方式,将光信号和标准的低成本、大批量芯片制造技术结合起来,以生产低成本的光芯片。   IBM实验室的科学家在标准的90纳米硅CMOS芯片上打了48个孔,从而制造出Holey
[手机便携]
即插即用型设备是医疗诊断的未来?
    随着医疗市场的进一步扩大,那些用于诊断的医疗设备日益更新并变得更精简、甚至更便宜。放射科,这个曾被誉为医疗界里的“暗室”,现在正越来越向“明室”发展,而且其中有些医疗设备已直接进入患者手中。     新时代的医学诊断设备正在改变着传统的疾病诊断和了解疾病的方式,不再受制于仅仅诊断。传统的放射诊断,例如CT,MRI,超声等,需要占用大小不等的房间,而且这些设备耗资数百万美元。在过去的十年里,诊断领域新技术的革新和创造使得医疗诊断中的软件和硬件都产生了变革及重塑。     在最近一次芝加哥举办的北美放射学会(Radiology Society of North America)年会上对于放射科学的创新主要集中在使用更加
[医疗电子]
速率达每秒250亿比特的光纤传输技术
  《日经产业新闻》19日报道说,日本两家机构联合试制出一种采用光传输技术的装置,它以每秒250亿比特的速率,创下迄今大规模集成电路间数据传输的世界最高速纪录。   日本电气公司和东京工业大学研发的这种装置,由半导体激光器和数千根光回路组成。其中的半导体激光器能将电信号转换成光信号,光回路则可以在大规模集成电路之间传输光信号。   超级计算机要实现超高速运算,其内部多个大规模集成电路需要彼此连接。现有多数超级计算机采用电子线路连接大规模集成电路,要实现每秒100亿比特以上的高速数据传输非常困难,但光传输技术可以突破这个极限。   报道援引业内人士的预测说,类似装置将来如果应用于更先进的大规模集成电路,大规模集成电
[焦点新闻]
通用串行总线在分组无线网中的应用
    摘要: 在讨论通用串行总线(USB)基本原理的基础上,介绍如何将USB技术应用到分组无线网中。讲述分组无线网络控制单元的USB接口设计,并实现了分组无线网络控制单元与计算机之间的高速通信。     关键词: 通用串行总线(USB) 分组无线网(PRN) 分组无线网络控制单元(PRU) 分组无线网(PRN)是一种新型的无线通信网络,是利用分组交换技术共享无线信道的数字通信网络。它采用先进的网络通信协议、动态的网络拓扑组织,使网络具有信道利用率高、组建方便和多跳转换覆盖面广等特点。分组无线网与一般计算机通信网、广域分级无线网和传统的局域网相比,具有机动灵活、组网迅速和抗毁能力强等特点。分组无线网络控制单
[网络通信]
通用串行总线在分组无线网中的应用
    分组无线网(PRN) 分组无线网络控制单元(PRU)     分组无线网(PRN)是一种新型的无线通信网络,是利用分组交换技术共享无线信道的数字通信网络。它采用先进的网络通信协议、动态的网络拓扑组织,使网络具有信道利用率高、组建方便和多跳转换覆盖面广等特点。分组无线网与一般计算机通信网、广域分级无线网和传统的局域网相比,具有机动灵活、组网迅速和抗毁能力强等特点。分组无线网络控制单元(PRU)是分组无线网中的核心设备,它与计算机(数据终端)相连接,进行收发数据交换。计算机可以向PRU发送网络控制命令,也可以设置或查看设备与网络的状态。传统的方法是采用RS-232口进行通信,传输速度十分有限,难以对高速、批量的数据进行快速
[嵌入式]
英特尔携高通推新WiFi标准:传输速率4.6Gbps
   凤凰科技讯 北京时间2月3日消息,据科技网站HardwareZone报道,英特尔和高通披露,数月来它们一直在联合开发WiGig生态链。WiGig也被称作802.11ad WiFi,其优势包括高达数Gbps的数据传输速率、更低的延迟和更大的网络容量。 英特尔携高通推新WiFi标准 随着物联网设备快速普及、高清流媒体服务成为主流,对更多数据和带宽的需求,再次成为开发数据传输速度更高的新一代WiFi标准的推动力量。 新一代WiFi标准就是WiGig。英特尔和高通称,它们利用与WiGig兼容的客户端设备进行了大量测试,目的是对尽可能多的使用场景进行测试。当然,要对所有的无线技术使用方式进行测试是不可能
[手机便携]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved