基于BU-61580的航空1553B总线RT模式设计Word文档格式.docx
《基于BU-61580的航空1553B总线RT模式设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于BU-61580的航空1553B总线RT模式设计Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
本文以RT模式为重点,论述在该应用方式下BU-61580芯片的硬件连接方式与软件设计实现。
2、硬件系统设计
TMS320F2812是美国TI公司推出的定点32位DSP芯片,处理器性能可达150MIPS。
控制总线配置灵活,独立可编程IO口丰富。
EP2C20Q240C8是美国ALTERA公司推出的高性价比FPGA芯片,内部资源丰富,可配置IO口众多。
本次设计利用BU-61580支持16位传输模式的特性,将TMS320F2812的地址、数据以及控制总线通过EP2C20与BU-61580芯片连接。
得注意的是TMS320F2812与EP2C20的IO口工作电压均为+3.3V,而BU-61580的工作电压为+5V,所以,EP2C20与BU-61580之间的连接必须经过电平转换,本次设计选择16位双向电平转换芯片74ALVC164245DL。
如图1所示,TMS320F2812的数据、地址、读写控制逻辑和外部存储器片选信号送入EP2C20,由EP2C20译码后产生BU-61580的读写控制逻辑信号,最后经过电平转换后送入BU-61580。
具体信号的作用如下:
(1)XZCS0AND1和XZCS6AND7:
TMS320F2812的内部REG和RAM片选信号。
配合地址总线,产生BU-61580的REG和RAM地址信号;
(2)XRW,XRD,XWE:
TMS320F2812的读写控制信号;
(3)XINT2:
TMS320F2812的中断信号。
由BU-61580的接收中断信号INT驱动;
(4)STRBD:
BU-61580的数据选通。
由TMS320F2812的XRD和XWE配合产生逻辑动作;
(5)SELECT:
BU-61580的片选信号。
当BU-61580的REG或RAM地址被选中时,SELECT置低,选中BU-61580芯片;
(6)MEM_REG:
BU-61580的REG或者RAM选择信号。
当为高电平时,表示访问BU61580的RAM,当为低电平时,表示访问BU-61580的REG;
(7)MSTCLR:
BU-61580上电复位信号。
低电平有效,正常工作以后,置高;
(8)RTAD4~RTAD0:
BU-61580的RT地址设置。
在通讯时。
总线上的作为BC模式工作的主机通过这个地址寻找RT从机;
(9)RTADP:
RT地址设置的奇校验位,即为RTAD4~RTAD0地址信号的奇校验信号。
一般与RTAD4~RTAD0一起通过外部拨码开关设置。
本设计将RTAD4~RTAD0与RTADP一起连接至EP2C20,这样可以通过软件灵活更改RT地址;
(10)RW_DIR:
74ALVC164245DL双向控制信号。
由TMS320F2812的读写控制信号译码之后驱动,负责在对BU-61580读写数据时,切换电平的转换方向;
(11)16/8-BIT:
数据传输模式选择。
置高表示进行16位传输模式;
(12)ZERO-WAIT:
在RT缓冲工作方式下,用于选择是否需要0等待。
本次设计将其置高,即非0等待;
(13)POLARITY-SEL:
微处理器的读写信号使能选择。
本设计将其置高,表示读信号时RD/WR为高电平,写信号时RD/WR为低电平;
(14)ADDR-LAT:
在缓冲工作方式下,不使用该脚,将其置高;
(15)TRANSPARENT/BUFFERED:
置低该脚,表示BU-61580工作在缓冲方式下。
3、时序逻辑设计
EP2C20对所有TMS320F2812引出的地址、数据、控制总线进行译码,最终达到匹配BU61580接口逻辑时序,正确稳定对其进行读写的目的。
下面以在16位、缓冲、非0等待工作模式下,处理器对BU-61580的RAM进行读操作的时序为例说明FPGA译码时序逻辑的设计。
通过对BU-61580的配置寄存器#2第3位置
0,使得其在中断时由BU-61580的INT脚输出一个低电平。
例如,当总线上数据传输完毕后,由BU-61580向TMS320F2812发出中断请求,TMS320F2812在其中断处理程序中将BU-61580的RAM内数据读出。
这时,由TMS320F2812的XRD,XWE组合译码,产生BU-61580的STRBD、SELECT、MEM_REG信号,同时控制RW_DIR使74ALVC164245DL电平转换反相,开始读取RAM内的数据。
整个时序应该如图2所示,最终仿真结果如图3所示。
(16位,缓冲,非0等待工作模式)
4、软件设计
在RT工作模式下BU-61580,主要是作为总线信息的被控制者。
软件设计主要是完成对查找表和子地址控制字的编程,下面以本次设计为例,讲解RT模式软件设计的关键点。
如图4所示,是本次设计的初始化部分软件流程图。
(1)设置BU-61580RT地址:
每一个工作于RT模式下的子终端必须设置RT地址,这是1553B总线工作时,BC模式下的控制终端寻找RT模式下的子终端所依据的地址。
具体值是通过RTAD4~RTAD0的高低电平配置,同时注意设置RTADP值,否则地址设置不正确;
(2)初始化BU-61580各配置寄存器:
1553B总线的整个协议比较复杂,BU-61580为了对整个协议做到全支持,包含了17个16位的配置寄存器。
BU-61580通过对这些寄存器的初始化配置,可以工作于不同的模式(BC/RT/MT),同时也为总线通讯提供了灵活的配置方式。
这些寄存器只需要按工作需要进行配置,没用到的寄存器一般保持默认值。
以本次设计的RT模式工作为例,具体配置如下:
void
BU61580_RT_Init(void)
{
BU61580Regs.StartResetReg.all=0x0001;
//起始/复位寄存器
(03H):
//复位
BU61580Regs.ConfgReg3.all=0x8051;
//配置寄存器#
(07H):
//使能增强模式
//越权模式T/R错误//禁止非法的RX传送//增强型模式码处理BU61580Regs.IntMaskReg.all=0x0033;
//中断屏蔽寄存器(00H):
//RT循环缓存滚动结束//RT子地址控制字EOM
//RT模式码//消息结束产生中断BU61580Regs.ConfgReg2.all=0xb85b;
//配置寄存器#
(02H):
//增强型中断//使能忙查询表//使能RXSA双缓存器//写覆盖无效数据//接收同步指令而清除定时标签//中断状态自动清除//电平中断请求//增强型RT存储器管理//分离广播数据BU61580Regs.IntrptStatusReg.all=0x0002;
//RT模式码BU61580Regs.ConfgReg4.all=0x2200;
//配置寄存器#4(读/写08H):
//如果状态设置则重试
BU61580Regs.ConfgReg5.all=0x0000;
//配置寄存器#5(读/写09H):
//设置16M解码时钟及RT地址
BU61580Regs.ConfgReg1.all=0x8f80;
(01H):
//配置成RT模式
//动态总线控制接受
//忙
//服务请求
//子系统标志
//RTFLAG(仅增强模式)
}
(3)初始化BU-61580查找表和初始化BU-61580模式码选择中断表:
因为BU-61580的总线通讯是基于内部查找表的,而这些查找表处于BU-61580的4K共享RAM的固定区域,所以在对RAM区初始化清零之后,需要对其中的固定区域,主要是堆栈指针A/B、查找表A/B、模式码选择中断表。
如图5所示,是RT在增强模式下的RAM分配。
5、结语
在软件调试阶段,我们可以使用DDC公司提供的1553B总线在线仿真调试工具TestSim对我们的系统进行功能验证,直至整个系统能够稳定可靠工作为止。
图6为本次设计的部分仿真截图。
本系统目前已应用于某航空数据管理系统中,工作稳定可靠。
参考文献
[1]Data
Device
Corporation.ACE/Mini-ACE
Series
BC/RT/MT
Advanced
Communication
Engine
Integrated1553Terminal
User’s
Guide.1999[R].
[2]白宏阳,管雪元,薛晓中,李玉寰基.于DSP+FPGA的航空1553B总线RT设置方法[J].导弹与制导学报,2010,(4):
169—172.
[3]伏鹍,陈绍炜.61580芯片与DSP芯片的连接关系分析[J].信息安全与通信保密,2009,
(1):
82—84.