新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于PCI总线模块的多通道串行数据采集系统设计

基于PCI总线模块的多通道串行数据采集系统设计

作者: 时间:2012-09-17 来源:网络 收藏

2.2 T32兆核函数的内部结构及外围信号

Compiler提供的四种 IP包括PCI_M64/32、64/32位的主模式接口和PCI_T64/32、64/32位的从模式接口。本通过PCI接口与PC机传输32位数据,并由上位机应用程序控制工作。故该工作于32位从模式,即本系统的PCI接口使用PCI_T32来实现,该的内部功能及外围信号如图1所示。

参数配置寄存器(Parameterizde Configuration Registers)是符合PCI规范的所有配置的寄存器,可用于识别设备、控制PCI功能、提供PCI状态等,PCI侧从模式控制(PCI Target Control)用于控制PCI_T32与PCI的各种操作,而用户侧从模式控制模块(Local Target Control)则用于控制PCI_T32与用户逻辑的各种操作。

PCI_T32上PCI总线一侧的信号是符合PCI协议的标准信号,该信号Local侧的信号为Altera PCI IP特有的与用户逻辑接口的信号,起着关键作用。其中:

l_adi[31:0]为地址/数据输入信号;

l_dato[31:0]为数据输出信号;

l_adro [31:0]为地址输出信号,读操作时,可将PCI侧地址/数据信号AD[31:0]上的第一个有效周期(即地址期)的数据输出;

l_emdo[3:0]为命令输出信号,其位定义及时序符合PCI规范,其为0010时为I/O读操作,为0011时为I/O写操作、为0110时为内存读操作。为0111时为内存写操作,为1010时为配置空间读,为1011时为配置空间写,用户对这组信号进行译码可知其当前PCI总线上设备的操作情况;

l_IRqn为用户中断请求信号,由于PCI总线为低电平中断,所以,用户逻辑若要发出PCI中断请求,就必须将低脉冲送入l_irqn。实验证明,低脉冲持续时间须在4~8μs之间,持续时间过短会出现丢失中断现象,而时间过长时,操作系统又会重复响应同一个中断请求;

l_tsr[11:0]可用于控制local目标设备状态寄存器,其中D0~D5位分别对应BAR0~BAR5,哪位有效代表哪个BAR被选中;

l_dxfrn为输出信号,表示local目标设备数据传输成功。

2.3 FAGA逻辑

一个系统若要稳定可靠地采集数据,都需要设置合适的数据缓冲区,本系统的数据缓冲区由FPGA内部IP核实现。图2所示为FPGA内部的PCI接口及数据缓冲区框图。

同步通信对时钟的同步要求非常严格,时应该注意收/发两方必须使用同一时钟来控制数据的传输。另外,PCI_T32内存读写分为单周期模式和突发模式。突发模式即在给出首地址后主设备连续读写多个数据,这在FPGA中需要用户端地址每周期自动增1的操作。



评论


相关推荐

技术专区

关闭