1394技术及其在图像传输系统中的应用

2007-03-09 19:03:27来源: 互联网
摘要:为了最大限度地利用现有硬件资源,缩短开发周期,研制了1394-PCI的转接卡,实现了基于1394的高速图像传输系统。介绍了1394高速串行总线的特性及原理及1394-PCI转接卡的硬件、软件设计。 关键词:1394高速串行总线 1394-PCI转接卡 设备驱动程序 当今的计算机外围设备都在追求高速性和高通用性,尤其在进行图像数据处理和传输时,数据的大指、高速、实时性对计算机与外设的接口提出了更高的要求。 目前新型总线接口有两种:USB和1394接口。它们都支持即插即用,具有易扩展、使用方便、成本低等特点。但在任何USB系统中,只能有一个主机,最多可接127个外设,在全速模式下的传输纺为500kbps~10Mbps。而相比之下1394显得更胜一筹。它支持点到点的传输,消除了主机处理器/内存瓶颈,具有可升级性,支持400Mbps、200Mbps和100Mbps传输率,单一总线支持63个节点,由于1394总线的高速性和独立于主机的操作能力,使它成为高多媒体设备接口的首选。 1 1394技术 IEEE 1394起源于苹果公司,又名FireWire,是为家用电器研制的一种高速串行总线标准,其目的是为了解决对速度要求很高的宽带设备的传输问题。 1995年12月,IEEE 1394-1994高速总线标准正式被IEEE标准委员会批准。 1.1 1394的主要特点 a.支持点对点传输。串行总线设备能自主执行事务,而不需要主机CPU的干预。 b.可扩展总线。可以将新的串行设备连接入总线节点提供的端口从而扩展串行总线。 d.热插拔。不需要系统断电就可以动态地加入或删除设备。 e.即插即用。每次加入或删除设备时,总线节点会自动配置,并且配置时不需要主机系统的干预。 f.巨大的映射至内存的地址空间。每个节点拥有256T字节的地址空间,每条总线上有16P字节地址空间。 1.2 1394原理 1394原理主要定义了以下几点: a.1394总线的拓扑结构。1394串行总线的拓扑结构可以分为两种环境:底板环境和电缆环境。不同环境间总线的连接需要总线桥。电缆环境下的物理拓扑结构是无环网络结构,由电缆连接各节点间的端口,呈分支扩展,形成树状或菊花状的网络拓扑。底板环境中物理拓扑是多点接入(multidrop)的总线,总线上分布着多个连接器,允许节点直接插入,通过仲裁使各节点享用总线。 b.1394的物理接口。1394设备通过标准的六芯线缆来传输信号,如图1所示。其TPA/TPA*和TPB/TPB*为一对差分模式的信号线。VP、VG提供8~40V的电源,可以通过它们给其它的节点供电。 c.1394总线协议。在1394传输中,支持等时传输和异步传输事务,并将每次传输分解为一系列的小事和,有效地利用总线带宽。异步事务需要数据确认,总线协议要复杂些,它包括三种基本事务类型:读取、写入和锁定。每个事务由请求子事务和响应子事务组成。 由于等时应用程序的性质,相关的总线事务十分简单,等时事务每隔125μs向目标节点发送数据并且需要任何回热。1394总线一共定义了12种事务类型的包格式,采用循环冗余校验(CRC)进行数据差错控制,有相应硬件和软件处理各类传输事务。 d.1394电源管理。电源管理涉及到单独节点或节点中元件的电源状态控制。1394定义了4种电源状态以及相应的CSR寄存器和ROM配置项,支持挂起/恢复机制,使节点在软件控制下处于低功耗。 2 系统硬件设计 2.1 图像传输系统总体设计 系统采用冗余备份的双路1394高速总线将数据传送给大容量存储器、数据加密器和信道编码器,如图2所示。 由于本地系统中普通采用PCI接口,为了最大限度地利用现有硬件资源,缩短开发周期,研制了1394-PCI的转接卡,来实现基于1394高速图像传输系统。该转接卡主要通过物理层和链路层控制芯片组实现,其中链路层控制芯片采用TI公司的TSB12LV23,支持开放主机控制器接口(OHCI)的PCI接口芯片。 2.2 TSB12LV23/TSBAB03芯片组 TSB12LV23提供主机接口和物理层接口,实现CRC校验以及同步服务。在芯片中集成了中断寄存器、传送/接收FIFO和DMA通道。TSBAB03芯片完成1394总线协议中的物理层功能,实现仲载机制,对收发信号进行编码/解码。 链路层和物理层芯片的连接电路图如图3所示。 3 系统软件设计 系统软件包括1394设备驱动程序、动态链路库和应用程序。 3.1 1394设备驱动程序开发 Windosw驱动模型(WDM)定义了驱动程序分层,以适应即插即用系统。1394系统驱动程序采用分层结构模型,其设备栈如图4所法。设备驱动位设备栈顶,通过发IRP给IEEE 1394总线驱动来与设备通信。IEEE 1394总线驱动为1394总线提供了独立于硬件的接口,并将一部分IRP传向端口驱动程序。 在分层模型中,1394总线驱动负责管理1394设备驱动程序与1394控制器之间的通信;加载及卸载设备驱动程序。设备驱动程序在功能层工作,它们不需要任何低层硬件资源,只需对总线驱动程序发请求,由总线驱动程序访问硬件来完成这些请求。 用DDK设计的1394设备驱动由4个模块组成:初始化模块、即插即用模块、电源管理模块以及I/O模块。 初始化模块提供设备驱动的入口点,从而将不同的IRP请求发向相应的执行模块。 即插即用模块用于实现1394设备的热插拔和动态配置。当总线驱动程序在加电或者添加/删除时检测到新设备,从设备中取出一个或多个标识符,用于检查所有可用的安装文件,发现合适的设备驱动程序。驱动程序被装入,调用AddDevice入口点,告诉它发现一个新设备,并创建功能设备对象(FDO)。总线驱动程序或者安装文件详细描述设备所需的硬件资源,使用仲裁器为每个设备分配资源。 电源管理模块负责设备的挂起和恢复。 I/O模块完成I/O请求的大部分工作。该模块定义了所需的I/O控制代码,从而为应用程序提供了调用系统驱程序的接口。 3.2 动态链接库的设计 由于Windows具有与设备无关的特性,不提倡与机器底层的东西打交道。如果直接用Windows的API函数或I/O读写指令进行访问和操作,程序运行时往往就会产生保护模式错误甚至死机,更严重的情况会导致系统崩溃。用DLL技术可以方便地解决上述问题。 而且DLL没有自己的堆栈,与调用它的应用程序采用有相同的堆栈式,减少了编程设计上的不便;一个DLL在内存中只有一个实例,使之能高效经济地使用内存;DLL的代码封装怀使得程序简洁明晰。 在1394 API动态链接库中封装了所有的1394请求命令,如异步读/写、等时读/写等,从而可以很方便地在应用级实现1394传输。通过调用DeviceIoControl向设备发请求,由I/O管理器构造一个1394请求块传给总线驱动程序;由总线驱动程序完成该请求或者请求进一步传给端口驱动程序,然后返回执行状态。 3.3 应用程序设计 在高速图像传输系统中,应用程序是控制数据流的中心。采用VC++ 6.0和2000DDK实现,主要功能有:获取视频数据源、检测1394设备、总线管理、分配1394地址空间、设备等时资源和通道、完成1394传输。一次等时传输流程如图5所示。 4 应用前景 如前所述,由于1394的高速、灵活和可扩展性,使其在很多方面都大有用武之地,其中包括大容量存储器、视频会议、家庭网络、高速打印机、娱乐设备等。而且由于数字广播、因特网、家庭数字网络和高带宽的视频/音频传输需求,使得IEEE 1394迅速发展。

关键字:技术  图像  图像传输  传输系统

编辑: 引用地址:http://www.eeworld.com.cn/wltx/qtjs/200703/2496.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
技术
图像
图像传输
传输系统

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved