VME总线 接口
引 言
随着现代雷达技术的不断发展,基于VME(Ver-saModule Eurocard)总线的数据处理单元得到越来越多的应用。而雷达伺服系统计算机控制部分常寄存在数据处理分机内,所以研制基于VME总线的伺服用电路板成为必然。RDC(旋转变压器/数字转换器)电路是数据I/O(输入、输出)电路中的一种,它的作用是把采集到的雷达天线的方位角、俯仰角转变成数字量送给CPU,是雷达伺服系统的基础电路之一。
本文介绍了使用美国Cypress公司生产的CY7C960和CY7C964芯片作为VME总线的接口电路,美国AD公司生产的AD2S80A芯片作为RDC电路,实现VME总线下的数据采集。
1 VME总线简介
VME总线是一种通用的计算机总线。它是一个开放式、体积较小、可进行互连数据处理、数据存储和连接外围控制器件的系统。VME总线分为数据传输总线、数据传输仲裁总线、优先中断总线和通用总线四大类。地址宽度可以是16、24、32、40或64位,数据总线的宽度可以是8、16、24、32、64位,系统可以动态选择。其数据传输速率最高可达到500 Mhit/s;具有较强的稳定性。因此,VME总线特别适合应用于要求数据传输类型多、数据量大、处理速度快的复杂系统中,在军用航空航天、工业控制等领域得到广泛应用。
2 CY7C960和CY7C964与VME总线的接口电路
2.1 CY7C960和CY7C964的功能
CY7C960(VME总线从设备控制器)和CY7C964(VME总线地址/数据收发器)是从设备接口芯片。它们配套使用是要在VME总线和本地I/O电路之间建立一个完整、灵活、便捷的桥梁,使板级设计者无需知道VME总线复杂的时序及协议就可以进行电路设计。其功能见图1。我们习惯上将CY7C960和CY7C964称为“桥电路”。CY7C960将总线上复杂的活动转变为几个简单的控制信号,供本地I/O电路使用。每一片CY7C964提供8位地址、数据线。对于RDC电路来说,它是16位的。所以,需要2片CY7C964。
2.2 CY7C960和CY7C964与VME总线的接口
a) 给系统加电,在上电的最初200 ms内,通过一个事先写好的PROM将有关初始化配置参数装入CY7C960内。
b) 主设备通过闸门将地址、数据、AM码放到总线上。
c) CY7C960监视闸门,经过一定的延时以后,采样REGION(区)输入端。这时,CY7C960就知道它将响应哪些VME总线活动,并如何响应。
d) CY7C960监视AM码、REGION码,并且比较请求的数据传输类型与初始化配置中允许的数据传输类型是否相同。
e) 如果相同,CY7C960将按照初始化配置中的模式驱动它的CS端为有效,并且处理数据传输;如果不同,CY7C960将忽略VME总线上的活动。
f) CY7C964除了作为地址线、数据线的收发功能以外,还具有地址比较功能。在上电初始化中,CY7C960将本地I/O电路的地址通过连接线写入每一片CY7C964的地址比较寄存器中。在数据传输过程中,CY7C964把地址比较寄存器中的值与它所连接的地址线上(A[7:0])的地址比较,如果相同,则驱动它的VCOMP端为低。如果不同,则驱动它的VCOMP端为高。
2.4 译码电路
译码电路分为两部分。一部分向CY7C960提供REGION码,另一部分向本地I/O电路提供片选信号。如图2所示。
CY7C960芯片使用一种REGION的概念,目的是允许从设备电路板灵活地响应复杂多样的VME总线活动。它可以把地址段分成若干REGION。在同一块从设备电路板上可能有比较复杂、多样的数据类型需要传送。可以把不同类型的数据分配在不同的RE-GION内,在每一个REGION内只响应一种类型的数据传送。在I/O模式下,CY7C960有4根REGION(REGIONO~REGION3)输入线。这样共有16个RE-GION可供选择。向CY7C960提供REGION码的工作是由设计者通过PLD电路来完成的。设计者通过对REGION编码告诉CY7C960哪个REGION映射到从设备电路板地址段,最常用的决定REGION值的方法是地址编码。如果从设备电路板上需要多种类型数据传送,那么仅仅用地址来编码是不够的,必须把AM码加入到REGION编码中,因为不同的数据类型有不同的AM码。总之,对REGION编码的目的是告诉CY7C960,出现在VME总线上的地址是否落入从设备电路板地址段。
译码电路可以选择EPLD、GAL等可编程逻辑器件,设计者可以根据电路的复杂程度来确定。一般把AM码、地址线、CS[0:5]、读/写线、DBE[0:3]线等纳入可编程逻辑器件的输入端。输出端向本地电路提供片选信号及向CY7C960提供REGION码。
2.5 CY7C960的初始化配置
任何一个使用CY7C960的VME总线电路板,在每次上电或SYSRESET *有效时都必须将初始化配置文件装入CY7C960中。这个文件的内容包括工作模式、REGION码/AM码真值表、REGION码/CS(ChipSelect)输出真值表、REGION码/DBE真值表、CS及DBE输出的极性、译码延时时间等。可以使用Cypress公司提供的WinSVIC软件来生成这个文件。
CY7C960在I/O模式下,共有6个CS输出端(CS0~CS05),16个REGION(RECION0~REGION15)。通过配置,CY7C960将知道在那个RE-GION内响应何种类型的数据传送,以及驱动哪些CS。设计者可以根据电路板的复杂程度灵活使用这些CS作为外设的片选信号。
WinSVIC将按照上面配置的结果输出一个.bin文件,这就是我们所需要的初始化配置文件。这个文件由 380字节组成,一旦被装入CY7C960,电路板的功能就确定下来。
那么,怎样把文件装人CY7C960呢?可以使用一个PROM电路来实现这个功能。其原理见图3。
通过一个编程器将.bin文件烧入PROM内。CY7C960在上电或SYSRESET*有效时,把PREN*引脚驱动为低,使PROM电路使能。引脚LA[1]/PCLK端向PROM发出时钟信号,引脚LA[2]/PDATA端接收PROM发出的“串行流”。PROM发出固定长度的数据给CY7C960,CY7C960一旦检测到正确的数据数量,就把PREN*引脚驱动为高,终止PROM电路工作。从上电开始到PROM工作结束,约需380μs。这个工作周期应在VME总线的SYSRESET周期(即200 ms)内完成。如果PROM在工作过程中被意外打断,那么CY7C960将不响应任何VME总线活动。
PROM电路可以使用XILINx公司生产的XC1736,它的容量为36 228 bit。
3 RDC电路
凡采用机扫方式的雷达,都必须采集天线的角度值。我们采用旋转变压器加RDC芯片的方式来获取角度的数字量,因为这种方式所采集的角度值精度高、稳定性好、抗干扰能力强,而且解算电路相对简单。AD2S80A是AD公司生产的高性能RDC(芯片),可用于旋转变压器的数字转换。它的最高分辨率可以达到16 bit。带宽及跟踪速率等动态特性由设计者通过选择外围电路来决定。
为了实现数据的采集与处理,需把RDC与PLD电路进行接口。接口电路很简单,只要把RDC的/IN-HBIT端和/ENBABLE端与PLD的输出端相连即可。
/INHBIT端:/INHBIT信号禁止数据从可逆计数器传输到输出锁存器中,不影响AD2S80A的跟踪环运行。释放该信号,转换器会自动刷新输出锁存器。
/ENBABLE端:/ENBABLE信号决定输出数据的状态。高电平时,使输出数据引脚保持高阻状态;低电平时,把锁存器中的数据传输到引脚上,对该信号的操作不影响AD2S80A的运行。
读数据的时序如图4所示。先给/INHBIT端加低电平并保持(可以使用一个锁存器),经过600 ns以后,给/ENBABLE端加低电平读取数据,读完后,立即释放/INHBIT端,把它恢复成高电平。
4 AD2S80A与VME总线的接口
图5为RDC接口板的电原理图。因为AD2S80A是16位的,所以使用2片CY7C964、1片CY7C960。由图可以看出,对于板级设计者而言,使用CY7C960和CY7C964,只需简单地把VME总线上的控制线、数据线、地址线与它们相连接,本地I/O电路只与译码电路有关。电路板工作时,CY7C960和CY7C964首先通过PROM(XC1736)完成初始化,然后主设备发出读RDC指令,CY7C960经过比较REGION码、AM码,驱动相应的CS端为有效,译码电路根据CS、地址等信号分别驱动RDC的/INHBIT端和/ENBABLE端有效,这样就可以读到数据。
5 结束语
基于VME总线的从设备I/O板,如果使用CY7C960和CY7C964作为桥电路芯片,只要一个译码电路(PLD)及少量TTL逻辑电路就可以构成完整的接口电路,使板级设计者无需知道VME总线复杂的时序及逻辑关系就可以进行电路设计,比起使用FPGA作为接口芯片,大大节省了设计周期,降低了设计难度。CY7C960和CY7C964体积小,价格便宜,非常适合工程应用。使用这种技术的电路板已经在若干个机载雷达项目中运用,得到比较好的效果。
来源: http://www.kangu.net/yingyong/7/2007-08-14/9111.html
更多回帖