基于DSP的1553B总线系统设计与实现
降低了成本又使硬件设计变得简洁;3)具有外部中断扩展(PIE)模块,可支持多达45个外部中断,最多可达56个的可编程通用输入/输出(GPIO)引脚,带有丰富的接口模块包括2个串行通信接口(SCI)、串行外设接口(SPI)和多通道缓冲串口(MeBSP),为建立信号处理平台提供基矗
3.2 1553B接口电路
传统的1553B接口卡设计时采用BU-61580接口芯片,采用70引脚的双列直插式组件(DIP)封装,5 V供电,考虑到本系统的DSP芯片F2812的I/O是3.3 V电平,所以1553B总线接口电路采用DDC公司的首款全3.3 V的1553B接口芯片BU-64843,无需电平转换,简化了硬件电路设计,采用该芯片80-pin陶瓷扁平封装更加方便用户进行硬件电路设计。BU-434843内部还集成了双收发器逻辑、编解码器、协议逻辑、内存管理和中断控制逻辑,支持BC/RT/MT模式,还提供了一个4 kB的内部共享静态RAM和与处理器总线之间的缓冲接口。
BU-64843与微处理器或外部存储器接口非常灵活,可与8位、16位多种微处理器相连接,并且可以实现无缝连接或者只需很少的粘和逻辑电路。BU-64843有2种工作模式:透明模式(TRANSPARENT)和缓冲模式(BUFFERED)。透明模式时芯片可以寻址64 KB,即可以寻址到其外部的RAM,这时需要为其配置外部RAM。一般应用透明模式时。在BU-64843协议芯片和CPU之间配置双口RAM。而在二者的数据总线和地址总线之间需要使用隔离器。缓冲模式时只寻址其内部的4 KB字的RAM,地址单向,可直接由CPU驱动,不需要使用总线隔离器。另外,BU-64843还根据微处理器是否具有READY(握手信号)选择零等待和非零等待方式。非零等待是指在微处理器对BU-64843进行并行总线(读、写)操作时,BU-64843内部逻辑电路若有操作时,微处理器需要等待BU-64843准备好。当BU-64843准备好时,就输出READY信号。在这种情况下。应将BU-64843的READY信号接到微处理器的READY信号上,并设置微处理器的等待方式受READY控制。16位缓冲模式是最常用的接口形式。提供一个与16位或32位微处理器共享RAM的缓冲器接口,在这种接口中,BU-64843的内部地址/数据缓冲器使其与微处理器的地址,数据隔离。一般在传输数据量比较少,BU-64843内的4 KB RAM足够用时。可选用16位缓冲非零等待模式。在该模式下将引脚16/8#置为高电平,TRANSPARENT/B-UFFERED#置为低电平,ZERO_WAIT#置为高电平。工作在缓冲方式下,占用16位数据总线和12位地址总线,其所有的控制信号由FPGA的译码电路产生,通过中断方式与F2812通信,因此BU-64843的中断引脚INT与F2812的外部中断XINTl连接;BU-64843总线接口有2个数据通道,通道A和通道B,这是为了保证通信的可靠性而采取的冗余设计,在实际的工程中也使用2个通道,通过软件选择任意通道进行数据传输。BU-64843通过2个耦合变压器PM-DB2755与外部的屏蔽双绞线连接:16 MHz有源晶振作为时钟输入。
3.3 逻辑综合电路
BU-64843和F2812之间的逻辑综合电路由FPGA完成。本系统的可编程逻辑器件采用Xilinx公司Spartan-3系列的FPGA芯片XC3S400,该芯片的I/O口供电电压为3.3 V、系统门数为40万、最大可用I/O数为264个。逻辑综合电路包括:地址译码电路、逻辑控制电路。地址译码电路功能是对接口卡所使用的F2812存储器和BU-64843存储器进行地址选择、译码。译码程序在Xilinx ISE 9.2i环境下用硬件描述语言Verilog-HDL编写。选用FPGA作为逻辑综合电路的另一个优点是:VerilogHDL程序的烧写通过JTAG接口完成,除了一条烧写线外不需要任何附加的硬件电路,因此只要硬件连接正确,其余的工作均由软件完成,便于以后的系统升级。VerilogHDL程序根据F2812的地址总线、数据总线和片选信号,经逻辑译码产生BU-64843的片选信号SELECT#,寄存器和缓冲区选择控制信号MEM/REG#。
逻辑控制电路功能是产生BU-64843所需要的控制信号以及给F2812提供中断信号、握手信号、插入等待信号。由F2812和BU-64843向XC3S-400提供地址线、数据线、中断申请线、中断响应线以及读、写信号线。
4 驱动软件的设计
驱动程序的编写采用C语言与汇编语言混合编程的实现方法,兼顾二者的优点,使程序既有C语言较好的可读性和可移植性,又有汇编语言较高的效率。驱动程序的功能主要是实现BU-64843协议芯片的初始化、RAM空间的自检、与上位机的通信、中断响应、总线数据的读取和发送。驱动程序从本质上说,就是根据上位机的命令和要求,控制接口卡的工作,实现系统的启动、停止、自检以及自检结果的返回等,在系统启动后主要实现1553B总线
1553B 总线接口 DSP FPGA TMS320F2812 相关文章:
- 基于μC/OS-Ⅱ的1553B和ARINC429总线实时协议转换系统的设计(08-09)
- FPGA/DSP技术的1553B飞机总线系统通讯软件的设计(01-15)
- 基于LXI总线的1553B通讯模块设计与开发(11-24)
- 基于1553B总线的航天大功率电动舵机控制器设计(12-21)
- 基于FPGA的1553B总线接口设计(12-20)
- 1553B总线系统的可靠性研究(12-20)