微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA的ISA总线/MMи总线接口转换设计

基于FPGA的ISA总线/MMи总线接口转换设计

时间:06-05 来源:互联网 点击:

2 硬件设计

2.1 工作原理

如图1所示,转换电路由FPGA芯片EPF10K30-RI208-4、FPGA配置器件EPC2LI20、接收缓冲电路、地址比较电路和总线接收电路组成。工作原理如下:当转换电路工作时,首先根据FPGA配置器件内的文件对FPGA芯片进行自动配置,当ISA总线相应地址位与6位拨动开关值匹配时(拨动开关为预设待转数据模块地址),选中需要转换数据的地址,然后由ISA数据总线发送数据或命令,FPGA芯片中的译码电路结合地址总线信号和控制总线信号将控制数据转为MMи总线对后级程控模块的控制指令,对后级模块实现控制。

当传递某MMи程控模块的数据时,首先将MMи程控模块初始化,然后由ISA总线发送“模块选址”数据,写入FPGA中地址寄存器后,经译码产生选址信号,并由触发器保持。选址后,ISA总线发送“初始化”指令,写入命令寄存器后,经译码产生初始化信号。当监测到“准备好”信号时,说明初始化成功,发送“清除模块选址”信号。

MMи程控模块接收信息时,在被寻址且发出准备好信号后,ISA总线将要写入程控模块的数据先写入FPGA中的数据输出寄存器中,然后发送到MMи数据总线上,发出“Пpиeм”接收信号,程控模块根据此信号将数据写入相应信息寄存器。信息接收结束后,取消“Пpиeм”接收信号,取消MMи数据总线上数据。程控模块准备接收新的信息字节,并产生准备好的信号。
程控模块发送信息时,在被寻址且发出准备好信号后,由ISA总线控制沿“A0~A2”线路指定接收信息寄存器地址,并发出“Bыд.”发送信号,程控模块根据此信号从发送信息寄存器沿MMи数据总线发出信息字节,所发出的信息字节被读取到FPGA中的数据输入寄存器后由ISA总线控制读出。

2.2 FPGA配置器件电路

FPGA配置器件电路如图2所示,EPC2LI20为配置芯片,工作电压5 V或3.3 V,支持在系统编程(ISP)和菊花链配置,可重复编程;EPF10K 30R1208-4为Altera公司生产FPGA芯片,工作电压为5 V,包含逻辑单元1 728个,存储位数12 288位;JP为通过QuartusⅡ软件对配置芯片进行程序烧写接口。

该配置电路采用PS配置方式,首先通过QuartusⅡ软件将FPGA的逻辑程序写入配置芯片EPC2LI20,该芯片数据具有掉电保护功能。上电后,配置芯片和FPGA同时复位,然后FPGA向配置芯片发送程序下载请求,配置芯片将存储的逻辑程序写入FPGA,对FPGA进行配置.配置完成后,FPGA内部的寄存器和I/O管脚均被初始化。完成初始化程序后,FPGA按照设计的逻辑功能正常工作,即按要求实现两种总线之间的数据转换。

2.3 地址比较电路

地址比较电路如图3所示。74SL14为带滞环比较的反向缓冲器,74SL85为4位数字比较器,6位的拨码开关为预存待转数据程控模块地址,74SL00为反向缓冲器。拨码开关共有6位,每1位都可以是逻辑高电平“1”或是逻辑低电平“0”,故该拨码开关共有26个组合,可以代表26个程控模块的地址。如图3所示,拨码开关为011001,代表将要进行转换的数据来自地址为011001的程控模块,当控制信号给定的地址A27~A22与011001相符时,74SL00输出低电平,该低电平与ISA总线的读控制信号IOR和写控制信号IOW#一起构成FPGA从ISA总线读数据或向ISA总线写数据控制信号。


3 程序设计

实现ISA总线/MMи总线之间的数据转换流程图如图4所示。程序开始后,首先与拨码开关比较得到待转换数据程控模块的地址,然后FPGA通过配置芯片进行初始化,初始化完成后,待转数据程控模块的地址写入FPGA,FPGA自动分配传输数据的通道;然后,由ISA总线(MMи总线)发出数据传输请求信号,当MMи总线(ISA总线)准备好接收数据后,发一个应答信号给ISA总线(MMи总线),表示数据传输准备好,然后进行数据传输,一直到数据传输完毕;发送的数据写入接收端的数据缓冲器,MMи总线(ISA总线)从数据缓冲器读出输出的数据发送到相应的程控模块,从而完成从ISA总线(MMи总线)到MMи总线(ISA总线)的数据转换。

4 实验结果

应用设计的ISA总线/MMи总线转换电路以串行方式对一组数据进行转换。ISA总线向MMи总线传输数据的实验结果如图5(a)所示,当ISA控制信号发出询问脉冲(第2个波形第1个脉冲)时,MMи总线给出应答信号(第4个波形第1个脉冲);收到MMи总线给出的应答(同步)信号后,ISA总线将数据信号11010101发送(第3个波形);由于MMи总线数据信号采用的是负逻辑,因此,MMи总线上收到了发送的信号00101010(第5个波形)。实验结果证明,设计的电路可以实现ISA总线到MMи总线的数据转换。由MMи总线向ISA总线传输数据的实验结果如图5(b)所示,当MMи总线发送的数据为00110011时,ISA总线接收的数据为11001100。
用设计的电路插板更换导弹测试设备上的俄制电路插板,并用测试设备对某型导弹进行常规测试,测试结果符合测试要求。实际应用证明,设计的电路达到设计目的,可以可靠地实现ISA总线/MMи总线之间的数据转换。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top