USB论坛
直播中

刘晓英

7年用户 182经验值
私信 关注
[经验]

用FPGA实现多DSP局部总线与VME总线接口设计

作者:柳兵 苏涛

1 引 言

VME(Versa Module Eurocard)总线是一种计算机总线结构,1981年由其生产商Motorola,Mostesk和Signe-tios三家公司组成的集团合作定义。1987年,VME总线被批准为国际标准IEEE1014-1987。VME总线系统采用主控/目标结构、异步非复用传输模式,支持16位、24位、32位寻址及8位、16位、24位、32位数据传输,最大总线速度是40 MB/s。1996年的新标准VME64(ANSI/VI-TA1-1994)将总线数据宽度提升到64位,最大数据传输速度为80 MB/s。而由FORCE COMPUTERS制定的VME64x总线规范将总线速度提高到了320 MB/s。历史上,VME总线由于其众多的功能、强大的兼容性、并行性和高可靠性一直是实时嵌入式系统的首选机型,主要应用于图像处理、军事通信、雷达信号处理等众多领域。本文基于雷达实时信号处理的需要,用FPGA实现了多DSP信号处理模板局部总线和基于标准VME总线的计算机进行通信的接口设计。

2 VME总线的功能特点

VME总线系统的功能结构可以分为4类:数据传输总线(DTB)、DTB仲裁总线、优先中断总线和实用总线。每一类都包括一条总线以及与之相关的功能模块,他们共同完成某一确定的功能。

2.1 数据传输总线

DTB信号线可以分为3类:寻址线、数据线、控制线。为了适应处理器寻址的灵活性,并对地址空问进行保护,VME总线提供6条地址修改线,选择不同的地址修改码即可实现16,24,32位的寻址变化,并对地址空间赋予特定的保护权限。控制线和地址线的不同组合可以灵活地控制数据的传送宽度和方式,如8,16,24,32位。依靠这些控制信号的互锁逻辑,VME总线进行异部传输,而不需要时钟的同步,从而可以可靠地实现不同设备之间的数据传输。当主从模块交换数据时,地址线由主模块驱动进行寻址,根据利用的地址线数目的不同,地址可以是短地址、标准地址和扩展地址,所用地址线的数目由地址修改线AM0~AM5规定。数据线D00~D31用来传输l~4个字节的数据。主模块用数据选通线DS0~DS1,字长线LWORD和地址线A01配合制定不同的数据传输周期类型。其数据长度选择的真值表和地址总线真值表如表1和表2所示。这里暂不涉及64位据和地址总线。

2.2 DTB仲裁总线

在VME总线系统中,当同时有多个模块要求使用DTB时,仲裁子系统就检测这些请求,并在某一时刻仅允许一块模板使用DTB。



仲裁总线由6条总线信号线和4组菊花链信号线组成:总线请求线BR0~BR3;总线忙线BBSY;总线清除线BCLR;总线允许输入线BG0IN~BG3IN;总线允许输出线BG0OUT~BG3OUT。菊花链信号线由每块板的总线允许输入线(BgxIN)和总线允许输出线(BgxOUT)组成。从n号插槽出来的菊花链信号线,如BGxOUT与下一板(n+1)号插槽的(BgxIN)相连。槽1的BgxIN一般由槽1的总线仲裁模块来驱动。

在VME总线仲裁系统中共有O~3四种优先级,第3优先级最高,第0优先级最低,也就是说DTB仲裁总线中总线请求,总线允许输入和总线允许输出各有4条。每个请求模块只驱动一条请求线,并接受同一级别的总线允许链路仲裁,即BRx,BGxIN,BGxOUT中x相同时才能构成一级仲裁链路。至于仲裁驱动模块对4条仲裁链路的处理,则可以采用3种不同的方式:优先法、循环法和单级法。优先级仲裁是按照4条总线请求的优先级别从最高的BR3到最低的BR0这一固定的优先顺序分配总线的。循环仲裁是按照循环优先的原则来分配总线的,在总线请求线BR(n)上某一请求模块已获准使用总线时,则下一次仲裁的最高优先级就是BR(n-1);单级仅接受BR3上的请求,并依靠BR3上的总线允许菊花链来裁判。

2.3 优先中断总线

通常仅有一个处理器处理中断,监视中断请求线(IRQl~IRQ7),IRQ7优先权最高,在响应中断时,一个地址周期产生,这个地址指示请求已被响应,中断响应线(IACK)被仲裁器改变以daisy-chain(菊花链)的方式向下传送,用IACKIN和IACKOUT信号,一个数据周期指出请求设备,并提取请求设备的状态和IV(中断矢量)。

2.4 实用总线

实用总线功能提供系统周期定时,上电初始化和故障检测功能,主要有SYSCLK(系统时钟线),ACFAIL(交流故障线),SYSRESET(系统复位线),SYSFAIL(系统故障线);系统时钟线是独立的频率为16 MHz的时钟信号,由位于1号槽的系统时钟驱动模块产生,可以作为整个系统的时间基准。另外3条信号线由l号槽的电源监控模块产生。

3 系统接口设计方案

通常,设计多DSP局部总线与标准总线接口可以采用专业公司提供的接口控制芯片。例如,利用Cypress公司的VIC64桥接电路可以设计功能全面,具有完全的主模块/从模块功能的标准VME总线接口。但是如果用户开发的基于VME总线的应用模块仅作为从设备.那么就只需要具备从从模块的总线接口,这样就可以使用FPGA自行设计桥接电路,本设计结合系统需要,采用双口RAM实现数据交换,FPGA实现接口逻辑转换。接口设计方案如图1所示。



图1中DSP为Analog Devices公司TS101,4片TS101共享总线组成紧耦合系统。双口RAM为Cypress公司的高速、大容量、低功耗芯片CY7C025AV,他的容量为32 kB,数据宽度为16 b,最高访问速度达到80 MHz。FPGA为ALTERA公司的EPF10K30A。

双口RAM的左端口与多DSP局部总线相连,局部总线的MS0连接双口RAM的CEL(左端口使能),双口RAM在多DSP局部总线的地址空间映射为0X8000000~0X8007FFF。双口RAM的读写时序与普通存储器相同,可以直接与局部总线相连,DSP可以通过慢速总线传输协议访问双口RAM的地址空间。双口RAM的OEL(左端口输出使能)和RWL(左端口读写使能)分别接局部总线的RD和W/R,左端口数据线(D0L~D15L)和地址线(A0L~A14L)也分别与局部总线的数据和地址线相连。

双口RAM右端口和标准VME总线通信,由FPGA负责译码标准VME总线控制信号线产生接口控制逻辑,双口RAM的右端口数据线(D0R~D15R)和地址线(A0R~A14R)通过总线驱动器74F16245驱动后和标准VME:总线的数据和地址线相连。74F16245的使能和传输方向信号由FPGA译码产生。

标准VME总线的控制信号线与FPGA连接,由于FPGA的I/O管脚可以兼容各种电平,所以VME的控制信号线可以直接与FPGA相连。

更多回帖

发帖
×
20
完善资料,
赚取积分