基于PCI9054的数据转换模块设计
摘要:为了实现把软件仿真的数据通过PCI总线DMA传输、处理后转换成高速视频串行数据流(LVDS数据流),设计出了基于PCI9054的数据转换模块。通过介绍PCI总线接口协议芯片PCI9054的性能、特点,分析了windows的WDM驱动程序的特点,在软硬件设计中采用把数据缓存器设置为两组SRAM的结构,两组SRAM交替进行数据存取的方式,有效克服了数据流不连续的现象,解决了形成不间断数据流和两次DMA传输之间的数据间断问题。应用结果表明,该设计可满足数字视频带宽20 MHz以内的LVDS数据流的转换与传输。
关键词:数据转换;PCI9054;DMA数据传输;LVDS数据流;寄存器
外围部件互连总线PCI(Peripheral Component Interconnect)总线,是一种先进的高性能32/64位地址数据复用局部总线,可同时支持多组外围设备,并且不受制于处理器,为中央处理器与高速外围设备提供了一座沟通的桥梁,提高了数据吞吐量(32位时最大可达132 MB/s),是现在PC领域中流行的总线。PCI总线具有严格的总线规范,这就保证了它具有良好的兼容性,符合PCI总线规范的扩展卡可以插入任何PCI系统可靠地工作。
1 PLX-PCI9054的结构和性能
PCI9054是PLX公司生产的PCI总线通用接口芯片,采用先进的PLX数据管道结构技术,符合PCIV2.1和V2.2规范。提供2个独立的可编程DMA控制器,每个通道均支持块和分散/集中的DMA方式,在PCI总线端支持32位/33 MHz,本地端可以编程实现8、16、32位的数据宽度,传输速率最高可达132 MB/s,本地总线端时钟最高可达50 MHz支持复用/非复用的32位地址数据。
PCI9054提供了PCI、EEPROM、LOCAL总线3个接口。PCI9054作为一种桥接芯片在PCI总线和LOCAL总线之间提供传递消息,既可以作为两个总线的主控设备去控制总线,也可以作为两个总线的目标设备去响应总线。PCI9054有6个零等待可编程FIFO存储器,它们分别完成PCI发起读、写操作,PCI目标读、写操作和DMA读、写操作。由于FIFO存储器的存在,数据可以大量突发传输而不丢失。这样不仅满足实时性要求,同时可根据用户的需要采用与PCI时钟异步的本地频率。串行EEPROM是用来在开机时初始化配置内部寄存器的。内部寄存器(ItnternalRegis-ters)标识地址映射关系以及PCI端和本地端工作状态,包括PCI配置寄存器组、Local配置寄存器组、Runtime寄存器组、DMA寄存器组、I2O消息寄存器组。FIFO和内部寄存器在计算机主机或者本地端都是统一编址的,用户可以从两端通过编程访问它们的每一个字节。
2数据转换模块设计实现
数据转换模块主要是为了把软件仿真的数据通过PCI总线DMA传输,经缓存、解码、编码、驱动等处理转换成高速串行数据流(LNDS数据流)。本设计中,数据转换模块的硬件组成包括:PCI接口芯片PCI9054、FIGA、EEPROM和SRAM。数据转换模块设计原理框图如图1所示。
评论