位置:51电子网 » 技术资料 » 接口电路

基于CPLD的机载计算机VME总线从方控制器设计

发布时间:2008/6/3 0:00:00 访问次数:794

基于cpld的机载计算机vme总线从方控制器设计
中国航空计算机技术研究所一室 阎稳 王东国 姜运生

机载计算机的几何结构一般采用高强度机箱和底板来连接各功能模块。底板总线类型大部分采用vme总线规范。vme总线是1981年motorola等公司为欧洲板(euroboard)设计的总线,是欧洲通用模块(vme-versa module europe)的首字母缩写。经过二十多年的演变发展,已经成为美国国家标准。它以高性能、并行性、实时性和高可靠性四大特点赢得机载计算机青睐,模块结构具有良好的抗震性,抗冲击能力。本文结合我们的实际工作,重点介绍vme总线接口逻辑的工程实践方法。


vme总线简介

vme总线建立了8位、16位、32位和64位并行传输计算机体系,能够实现单个或多个微处理器共存的对等分布式系统。vme总线是一种紧耦合(closely coupled)总线,将微处理器、数据存储器以及外设控制器通过总线统一互联起来,实现高速通讯。物理上采用96芯或160芯标准连接器,各功能模块分别插在其中某一个插槽(slot)中。图1是vme总线系统的通用结构,它包括4个子总线,即数据传输总线,优先级中断总线,仲裁总线,工具总线。表1是其中数据总线和优先级中断总线主要信号的定义。

在vme总线的4类子总线中,数据传输总线(dtb-data transfer bus)和中断优先总线(pib-priority interrupt bus)包含了主要信号。vme总线允许多个处理器控制总线,所以必须有系统总线管理者,即系统控制器。它位于vme总线的一号插槽上,功能包括:提供系统时钟、总线仲裁器、中断响应菊花链驱动器和总线定时器,还可能包括串行时钟驱动器、电源监视器功能。总线周期类型主要由地址修饰码am(address modifer)规定,主要包括读周期、写周期、块读周期、块写周期、信号复用周期等周期。最小寻址单元以字节为单位,可以进行单字节、双字节、3字节、4字节,甚至8字节存取。字节界限可以是偶地址或奇地址,可以通过数据选通信号ds1*和ds0*,lword* 以及a2 a1地址线的组合决定。

vme数据总线通用访问逻辑设计

vme总线各功能模块现在一般设计为智能型,把自己映射成整个vme总线地址空间的一部分。在模块内部一般都有自己的cpu管理模块内功能接口,然后通过双口存储器和主控模块交换数据。这样,对各功能模块的访问统一转换成对存储器的访问。图2是我们为歼轰七机载计算机设计的vme总线的i/o 模块,下面以此为例说明dtb总线控制逻辑。

在图2中,板内cpu可以根据需要选择,内总线随cpu型号而变化,但必须对底板提供vme总线接口。控制逻辑需要处理的主要信号如表1所示,其中信号方向从vme总线进入本模块为输入,否则为输出。

在表1中可以看到,数据线只有32-bit,地址只有31位,如何实现64bit传输,这涉及到信号复用(multiple)问题。在32bit以下模式,地址线和数据线是独立的两组信号。在64bit模式下,将访问周期分为两个相位阶段(phase),第一阶段是地址阶段,用d31..d0的数据线传输高32bit地址。在第二阶段是数据阶段,利用31bit地址a31..a1以及长字选择lword*作为高32bit数据。显然,在64bit模式下,从方模块应该设计一个64bit地址锁存器,将第一相位阶段的地址稳定锁存,保证第二阶段的数据寻址正确。6位地址修饰码am5..am0用来定义本次总线寻址模式,即地址宽度和传输性质,如16地址块传输等,可以产生64种寻址类型。

图2中的i/o模块是作为系统从设备,当主控方选择访问时,控制逻辑首先应该产生系统选择信号,以启动模块内数据通路。可以用以下方法实现:

va15,va14,va13 pin; // vme 总线地址高 3 位
va3,va2,va1 pin; // vme 总线地址低 3 位
vam5..vam0 pin; // vme 总线地址修饰码
vam node;
vds1,vds0 pin; // 字节选择.
vas,vrw pin; // 地址选通、读写信号

vam = vam5 & !vam4 & vam3 & !vam2 & !vam1 & vam0; // = 10.1001: 短管理访问
// 为双口普通读写产生片选信号
!cs_vme = !vas & viack & vam & (vaddr >= starta ddr) & (vaddr <= endaddr);
// vme 数据总线使能
!vden = (!vds1 # vds0) & !cs_vme #
// 普通dtb读写时要开门
!viack & !viackin & (intid == myintid);
// 应答中断时也要开门
vdir = !vrw; // vme 数据方向

上面一段逻辑代码,主要判断地址修饰码am和地址映像范围,产生vme总线访问启动信号,亦即双口ram的片选信号cs_vme。为增强信号驱动能力,在模块输出数据信号前插入一级双向驱动。vden信号就是数据驱动器的开门信号,数据方向控制信号vdir由读写信号反相后产生。当从模块完成dtb周期后,应该驱动dtack*,通知主控模块本次访问完成。这个信号各个从模块都要驱动,一般在控制逻

基于cpld的机载计算机vme总线从方控制器设计
中国航空计算机技术研究所一室 阎稳 王东国 姜运生

机载计算机的几何结构一般采用高强度机箱和底板来连接各功能模块。底板总线类型大部分采用vme总线规范。vme总线是1981年motorola等公司为欧洲板(euroboard)设计的总线,是欧洲通用模块(vme-versa module europe)的首字母缩写。经过二十多年的演变发展,已经成为美国国家标准。它以高性能、并行性、实时性和高可靠性四大特点赢得机载计算机青睐,模块结构具有良好的抗震性,抗冲击能力。本文结合我们的实际工作,重点介绍vme总线接口逻辑的工程实践方法。


vme总线简介

vme总线建立了8位、16位、32位和64位并行传输计算机体系,能够实现单个或多个微处理器共存的对等分布式系统。vme总线是一种紧耦合(closely coupled)总线,将微处理器、数据存储器以及外设控制器通过总线统一互联起来,实现高速通讯。物理上采用96芯或160芯标准连接器,各功能模块分别插在其中某一个插槽(slot)中。图1是vme总线系统的通用结构,它包括4个子总线,即数据传输总线,优先级中断总线,仲裁总线,工具总线。表1是其中数据总线和优先级中断总线主要信号的定义。

在vme总线的4类子总线中,数据传输总线(dtb-data transfer bus)和中断优先总线(pib-priority interrupt bus)包含了主要信号。vme总线允许多个处理器控制总线,所以必须有系统总线管理者,即系统控制器。它位于vme总线的一号插槽上,功能包括:提供系统时钟、总线仲裁器、中断响应菊花链驱动器和总线定时器,还可能包括串行时钟驱动器、电源监视器功能。总线周期类型主要由地址修饰码am(address modifer)规定,主要包括读周期、写周期、块读周期、块写周期、信号复用周期等周期。最小寻址单元以字节为单位,可以进行单字节、双字节、3字节、4字节,甚至8字节存取。字节界限可以是偶地址或奇地址,可以通过数据选通信号ds1*和ds0*,lword* 以及a2 a1地址线的组合决定。

vme数据总线通用访问逻辑设计

vme总线各功能模块现在一般设计为智能型,把自己映射成整个vme总线地址空间的一部分。在模块内部一般都有自己的cpu管理模块内功能接口,然后通过双口存储器和主控模块交换数据。这样,对各功能模块的访问统一转换成对存储器的访问。图2是我们为歼轰七机载计算机设计的vme总线的i/o 模块,下面以此为例说明dtb总线控制逻辑。

在图2中,板内cpu可以根据需要选择,内总线随cpu型号而变化,但必须对底板提供vme总线接口。控制逻辑需要处理的主要信号如表1所示,其中信号方向从vme总线进入本模块为输入,否则为输出。

在表1中可以看到,数据线只有32-bit,地址只有31位,如何实现64bit传输,这涉及到信号复用(multiple)问题。在32bit以下模式,地址线和数据线是独立的两组信号。在64bit模式下,将访问周期分为两个相位阶段(phase),第一阶段是地址阶段,用d31..d0的数据线传输高32bit地址。在第二阶段是数据阶段,利用31bit地址a31..a1以及长字选择lword*作为高32bit数据。显然,在64bit模式下,从方模块应该设计一个64bit地址锁存器,将第一相位阶段的地址稳定锁存,保证第二阶段的数据寻址正确。6位地址修饰码am5..am0用来定义本次总线寻址模式,即地址宽度和传输性质,如16地址块传输等,可以产生64种寻址类型。

图2中的i/o模块是作为系统从设备,当主控方选择访问时,控制逻辑首先应该产生系统选择信号,以启动模块内数据通路。可以用以下方法实现:

va15,va14,va13 pin; // vme 总线地址高 3 位
va3,va2,va1 pin; // vme 总线地址低 3 位
vam5..vam0 pin; // vme 总线地址修饰码
vam node;
vds1,vds0 pin; // 字节选择.
vas,vrw pin; // 地址选通、读写信号

vam = vam5 & !vam4 & vam3 & !vam2 & !vam1 & vam0; // = 10.1001: 短管理访问
// 为双口普通读写产生片选信号
!cs_vme = !vas & viack & vam & (vaddr >= starta ddr) & (vaddr <= endaddr);
// vme 数据总线使能
!vden = (!vds1 # vds0) & !cs_vme #
// 普通dtb读写时要开门
!viack & !viackin & (intid == myintid);
// 应答中断时也要开门
vdir = !vrw; // vme 数据方向

上面一段逻辑代码,主要判断地址修饰码am和地址映像范围,产生vme总线访问启动信号,亦即双口ram的片选信号cs_vme。为增强信号驱动能力,在模块输出数据信号前插入一级双向驱动。vden信号就是数据驱动器的开门信号,数据方向控制信号vdir由读写信号反相后产生。当从模块完成dtb周期后,应该驱动dtack*,通知主控模块本次访问完成。这个信号各个从模块都要驱动,一般在控制逻

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!