接口总线驱动 > 总线 > 详情

数字视频采集系统中1394总线模块的设计

发布时间:2020-05-27 发布时间:
|

  数字视频采集系统中传输与显示模块负责把捕获的信息或处理后的信息,发送给终端进 行存储,显示或进一步的处理。由于图像,尤其是视频图像,数据量大,实时性又高,对数 据的传输速率要求非常严格。现在应用较为普遍的传输总线有USB2.0 和IEEE1394a。这两 种高速串行总线的最高数据传输速率分别为480Mbps 和400Mbps。本系统的设计目标是成 为独立的系统,而不仅仅是PC 机的一个外设。而采用IEEE1394 总线与PC 机进行通信, 既不影响系统的独立性,又方便了系统的开发和调试工作。

  一、IEEE1394 高速串行总线

  1394 最初由苹果公司于1986 年公布,原名为火线(FireWire)高速串行传输线。1995 年由IEEE(Institute of Electrical and Electronic Engineers 电气与电子工程师学会)发布,称为 IEEE1394,正式名称为IEEE1394-1995。另外,索尼及德州仪器(TI)也制定了1394 的另外一 种规格: IEEE1394a,现在已经普遍用于数字视频领域,也称为i.Link 或Lynx。

  IEEE1394 高速串行总线的主要特点有:

  ⑴使用方便-支持热插拔、即插即用(Plug and Play,PnP)

  ⑵传输速率高-IEEE1394a 支持100M/200M/400Mbps 的数据传输率,IEEE11394b 则支 持800M/1.6G/3.2Gbps 的数据传输率

  ⑶具有很大的地址映射空间-1 条总线最多可支持63 个节点,每个节点具有256TB 的地址映射空间

  ⑷可以独立于主机系统进行操作-支持点对点及时通信

  ⑸线缆供电-最多可提供 45W 的功率

  ⑹支持等时和异步两种传输模式

  二、1394 总线传输模块设计

  外设与 PC 机的通信大致分为两种:并行方式和串行方式。并行端口比较复杂,需要许 多的软件方面的控制。相对而言,串行总线只有几根线组成,比并行总线简单,成本也低, 并且大部分串行总线都支持即插即用和热插拔,使用方便。目前应用较广的串行总线主要是 USB 和1394。本系统采用的是IEEE1394a 异步传输方式,由TI 公司的1394 链路层控制器 TSB12LV32 和1394 物理层控制器TSB41AB3 组成。1394 总线可以提供8~40V DC 的电压 以及最高可达1.5A 的电流,足以满足整个系统的供电需求。

  1、IEEE1394 协议

  为了简化硬件和软件的实现,IEEE 1394 定义了4 个协议层:

  ⑴总线管理层——负责总线配置和每个节点的活动管理:1394 的各个节点都实现了总 线管理层,以支持包括总线配置,电源配置在内的多种功能,具体包含的功能取决于节点的 实际能力,如该节点是否为根节点。根据不同的应用场合,每个节点的总线管理层所包含的 功能各异。但所有的节点,无论是根节点还是子节点,都必须包含支持总线自动配置这一功 能。

  ⑵事务层——支持有关异步传输读取,写入,锁定操作的请求和响应,由应用程序直接 调用驱动程序实现:事务层只支持异步传输。确切的说,事务层是一个软件层,1394 应用 程序与事务层以下的各层是相互隔离的,所有的传输请求都由事务层转换成完成这个请求所 需的一个或多个事务请求,产生的事务请求指示了事务类型——读取,写入,或者锁定。

  ⑶链路层——将事务层请求和响应转化为相应的包或者子事务,发送到串行总线上。本 层还对异步包和等时包进行地址或信道号的编解码,冗余校验:对于异步事务,链路层提供 了事务层和物理层之间的接口,请求者的链路层将来自事务层的事务请求转换成数据包,然 后发送到1394 总线上;响应者接收到数据包后,解码并传递给本地的事务层。对于等时事 务,链路层提供等时软件驱动程序和物理层之间的接口。传输期间,链路层负责生成将要通 过1394 总线发送的等时包。链路层还接收来自总线的等时包,并将包的信道号解码,如果 此节点是数据包的目标节点,则将包传给软件驱动程序。

  ⑷物理层——提供数据传输所必需的电气和机械接口,负责管理总线的仲裁进程,以确 保同一时刻只有一个节点在总线上传输数据:物理层提供链路层和1394 电缆之间的接口, 每个端口使用两对双绞线(TPA/TPA*和TPB/TPB*)发送信号,支持IEEE1394 协议操作所 需的多种事件,包括总线配置,总线仲裁以及数据传输等。

  实际的1394 电缆分4 芯和6 芯两种。区别是前者只有两对双绞线,采用差分信号传输 数据;后者还包括一对电源线。6 芯的电缆如图1 所示:


  2、链路层控制器

  TSB12LV32 是一款同时兼容IEEE 1394-1995 和 IEEE1394a 协议标准的链路层控制器 (LLC),具有2KB 的通用接收FIFO(GRF)与2KB 的通用发送FIFO(ATF),支持异步 与等时事务。微控制器接口支持8/16 位的可编程数据宽度,能够非常方便地与各种微控制 器,如Motorola 的68000 和ColdFire 处理器相连,工作时钟频率最高可达60MHz, I/O 管 脚同时兼容3.3V 和5V。

  TSB12LV32 提供直通模式(DMA)的数据传送,待发送数据无需事先打包,可以边 读取边传送,这使得异步包发送能够达到与等时传送相当的总线带宽,从而传输效率大大提高。TSB12LV32 内部的寄存器配置由DSP 完成,设备的发现与识别,驱动程序的安装,1394 控制寄存器的初始化等也需要DSP 进行响应和干预。DSP 充当了链路层控制器的微控制器 (MCU)。因为本系统在调试阶段,是PC 机的外设。为了实现两者之间的通信,必须安装 与本系统相对应的1394 设备驱动程序,这需要DSP 的控制和响应。而且1394 接口控制芯 片LLC 和PLC 的内部寄存器也需要DSP 进行配置和初始化,该过程可以用图2 来描述:


  上述过程中,DSP 最重要的工作就是,在1394 总线进行自标识期间,构造根节点PC 机 读取配置ROM 信息的quadlet 异步读响应包。配置ROM 包含有设备驱动程序的安装信息, 设备的功能信息等重要内容。PC 机在完全确认设备的相关信息后,才会发现和识别设备, 并安装相应的设备驱动,然后就可以调用相应的函数访问设备了。

  3、物理层控制器

  物理层控制器(PHY )TSB41AB3 提供3 个1394 端口,3.3V 单一供电,符合1394a 协议标准,支持等时传输和异步传输,支持100/200/400Mbps 的传输速率,可以与 TSB12LV21、TSB12LV31、TSB12LV32、TSB12LV41 或TSB12LV01A 等链路层控制器实现 无缝连接,具有较高的通信速率与可靠性。

  TSB41AB3 具有线缆电压监测功能,与链路层的接口支持总线隔离。此外,TSB41AB3 有多种封装形式以供选择——PHP48-pin,PAP48-pin,GQE80-ball 和ZQE64-ball。

  4、 LLC 与PHY 的接口电路设计

  链路层与物理层的接口电路如图 3 所示。微控制器的数据,地址和读写控制信号由DSP 控制;DM 端口连接到FPGA 中1394 传输控制模块,主要完成视频图像的实时传输; TSB41AB3 直接与1394 电缆连接,完成系统和PC 机之间的通信工作和数据传输。


  创新点:本系统采用IEEE1394 总线与PC 机进行通信,既不影响系统的独立性,又方便了 系统的开发和调试工作。提高了传输速度的同时,使视频采集系统不仅是PC 机的一个外设, 更是一个独立的系统。 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
汽车行驶记录仪的多种数据传输方式设计