用双端口RAM实现与PCI总线接口的数据通讯
发布时间:2008/8/29 0:00:00 访问次数:471
采用双端口ram实现dsp与pci总线芯片之间的数据交换接口电路。
提出了一种使用cpld解决双端口ram地址译码和pci接口芯片局部总线仲裁的的硬件设计方案,并给出了pci总线接口芯片寄存器配置实例,介绍了软件包windriver开发设备驱动程序的具体过程。
随着计算机技术的不断发展,为满足外设间以及外设与主机间的高速数据传输,intel公司于1991年提出了pci总线概念。pci总线是一种能为主cpu及外设提供高性能数据通讯的总线,其局部总线在33mhz总线时钟、32位数据通路时,数据传输速率最高可达133mbps。实际应用中,可通过pci总线实现主机与外部设备的高速数据传输,有效解决数据的实时传输和存储问题,为信号的实时处理打下良好基础。
本文主要提供一种基于pci总线的数据传输系统设计方案,其中双口ram起桥梁作用,完成上位机与外围主控单元之间的数据握手。
1 双端口ram实现pci总线接口方案
本系统主要用于解决上位机与外围控制单元的数据传输问题。上位机运行信息诊断程序,通过pci总线与外围控制单元以一定速率传输数据,在主机中实时监控并保存数据。由于实现高速实时数据传输,数据量大,所以在pci局部总线上插入一个高速双端口ram。双端口ram一端作为pci总线接口的本地端存储器,一端作为dsp目标存储器。需要传输保存的数据经dsp处理后借助双端口ram和pci总线接口完成了上位机与dsp的数据握手。本文提出的双端口ram实现pci总线接口方案如图1。
考虑到pci总线接口对局部总线的控制时序比较复杂,需要译码和控制电路来实现局部总线的访问及控制。本系统使用cpld解决双口ram的地址访问竞争冲突问题。需解决的主要问题有:①pci接口电路设计;②cpld地址译码和总线仲裁;③pci总线驱动程序开发。
2 pci接口电路设计
pci卡的设计一般采用两种方案。一种是根据pci协议在fpga或cpld中实现pci总线接口控制器,但是由于pci协议的复杂性,使得开发难度大、周期长;另一种使用现成的pci接口芯片,用户开发难度降低,只把重点放在pci接口芯片局部总线的接口设计和pci总线配置空间的初始化,而不用速度考虑pci总线规范上众多的协议规范,加快了开发时间。
本数据传输系统使用plx公司的pci 9030总线接口芯片,以cpld完成逻辑控制及与外设的连接,整个系统的硬件框图如图 2。其中双端口ram采用idt71v321,cpld选用xilinx公司的xc9536cpld芯片,eeprom选用ns公司的93cs56,控制单元dsp选用tms 320lf2407a。
2.1 pci 9030内部结构及其数据传输
pci 9030是plx公司开发的pci总线目标接口芯片。其特点:低功耗,pqfp176针封装,符合pci v2.2规范;在pci总线上是从设备,但在局部总线上是主设备;pci 9030支持突发传输,有5个pci总线到局部总线地址空间,9个可编程的通用i/o,4个可编程的片选,支持热插拔。pci 9030主要由pci总线接口逻辑、局部总线接口逻辑、串行e2prom接口逻辑和内部逻辑组成,结构框图见图3。
pci 9030支持pci主设备直接访问局部总线上的设备,数据传输方式分为内存映射的突发传输和i/o映射的单次传输,并且由pci基址寄存器设置在pci内存和i/o空间中的合适位置,另外局部映射寄存器允许pci地址空间转换到局部地址空间。
2.2 配置实例
系统访问的双口ram存储空间为2kb,要求将这个存储器空间映射到局部地址空间0,采用内存方式映射,存储器的数据宽度为 8位,并且不采用突发传输,读写时不可预取。下面介绍这个地址空间各个寄存器的具体配置过程。
(1)配置地址范围寄存器
根据pci配置寄存器与las0rr的对应关系以及双口ram的地址空间800h,取7ffh的补码得到fffff800h。又因为按照设计要求,要映射到内存空间的任何位置并且设置为不可预取的,这样lasorr寄存器后3位应该为000h。所以las0rr的值应该最终确定为fffff800h。
(2)配置基址寄存器
该寄存器的基址必须是地址空间范围的整数倍,在本例中必须是2k的整数倍,可将基地址定为 00004000h,又由于基址寄存器位0为空间使能位,所以应将这一位设置1;至于位 2、位3,由于是映射到内存空间,设为00h即可。所以las0ba的值最终被确定为00004001h。
(3)配置片选信号控制寄存器
该寄存器的地址范围和基地址必须与las0rr或las0ba所定义 的范围和空间相对应。可根据pci 9030提供的配置寄存器的方法确定cs0base的数值:板卡的2kb空间可以用十六进制表示为800h,将800h右移一位得到400h,然后将基地址加到400h左边的任何一位中。因为所采用的基地址
采用双端口ram实现dsp与pci总线芯片之间的数据交换接口电路。
提出了一种使用cpld解决双端口ram地址译码和pci接口芯片局部总线仲裁的的硬件设计方案,并给出了pci总线接口芯片寄存器配置实例,介绍了软件包windriver开发设备驱动程序的具体过程。
随着计算机技术的不断发展,为满足外设间以及外设与主机间的高速数据传输,intel公司于1991年提出了pci总线概念。pci总线是一种能为主cpu及外设提供高性能数据通讯的总线,其局部总线在33mhz总线时钟、32位数据通路时,数据传输速率最高可达133mbps。实际应用中,可通过pci总线实现主机与外部设备的高速数据传输,有效解决数据的实时传输和存储问题,为信号的实时处理打下良好基础。
本文主要提供一种基于pci总线的数据传输系统设计方案,其中双口ram起桥梁作用,完成上位机与外围主控单元之间的数据握手。
1 双端口ram实现pci总线接口方案
本系统主要用于解决上位机与外围控制单元的数据传输问题。上位机运行信息诊断程序,通过pci总线与外围控制单元以一定速率传输数据,在主机中实时监控并保存数据。由于实现高速实时数据传输,数据量大,所以在pci局部总线上插入一个高速双端口ram。双端口ram一端作为pci总线接口的本地端存储器,一端作为dsp目标存储器。需要传输保存的数据经dsp处理后借助双端口ram和pci总线接口完成了上位机与dsp的数据握手。本文提出的双端口ram实现pci总线接口方案如图1。
考虑到pci总线接口对局部总线的控制时序比较复杂,需要译码和控制电路来实现局部总线的访问及控制。本系统使用cpld解决双口ram的地址访问竞争冲突问题。需解决的主要问题有:①pci接口电路设计;②cpld地址译码和总线仲裁;③pci总线驱动程序开发。
2 pci接口电路设计
pci卡的设计一般采用两种方案。一种是根据pci协议在fpga或cpld中实现pci总线接口控制器,但是由于pci协议的复杂性,使得开发难度大、周期长;另一种使用现成的pci接口芯片,用户开发难度降低,只把重点放在pci接口芯片局部总线的接口设计和pci总线配置空间的初始化,而不用速度考虑pci总线规范上众多的协议规范,加快了开发时间。
本数据传输系统使用plx公司的pci 9030总线接口芯片,以cpld完成逻辑控制及与外设的连接,整个系统的硬件框图如图 2。其中双端口ram采用idt71v321,cpld选用xilinx公司的xc9536cpld芯片,eeprom选用ns公司的93cs56,控制单元dsp选用tms 320lf2407a。
2.1 pci 9030内部结构及其数据传输
pci 9030是plx公司开发的pci总线目标接口芯片。其特点:低功耗,pqfp176针封装,符合pci v2.2规范;在pci总线上是从设备,但在局部总线上是主设备;pci 9030支持突发传输,有5个pci总线到局部总线地址空间,9个可编程的通用i/o,4个可编程的片选,支持热插拔。pci 9030主要由pci总线接口逻辑、局部总线接口逻辑、串行e2prom接口逻辑和内部逻辑组成,结构框图见图3。
pci 9030支持pci主设备直接访问局部总线上的设备,数据传输方式分为内存映射的突发传输和i/o映射的单次传输,并且由pci基址寄存器设置在pci内存和i/o空间中的合适位置,另外局部映射寄存器允许pci地址空间转换到局部地址空间。
2.2 配置实例
系统访问的双口ram存储空间为2kb,要求将这个存储器空间映射到局部地址空间0,采用内存方式映射,存储器的数据宽度为 8位,并且不采用突发传输,读写时不可预取。下面介绍这个地址空间各个寄存器的具体配置过程。
(1)配置地址范围寄存器
根据pci配置寄存器与las0rr的对应关系以及双口ram的地址空间800h,取7ffh的补码得到fffff800h。又因为按照设计要求,要映射到内存空间的任何位置并且设置为不可预取的,这样lasorr寄存器后3位应该为000h。所以las0rr的值应该最终确定为fffff800h。
(2)配置基址寄存器
该寄存器的基址必须是地址空间范围的整数倍,在本例中必须是2k的整数倍,可将基地址定为 00004000h,又由于基址寄存器位0为空间使能位,所以应将这一位设置1;至于位 2、位3,由于是映射到内存空间,设为00h即可。所以las0ba的值最终被确定为00004001h。
(3)配置片选信号控制寄存器
该寄存器的地址范围和基地址必须与las0rr或las0ba所定义 的范围和空间相对应。可根据pci 9030提供的配置寄存器的方法确定cs0base的数值:板卡的2kb空间可以用十六进制表示为800h,将800h右移一位得到400h,然后将基地址加到400h左边的任何一位中。因为所采用的基地址
上一篇:基于ARM的局域网IP电话设计
上一篇:智能家居中蓝牙技术的应用技术方案