微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于ARM9的1553B与CAN总线转换卡的设计与实现

基于ARM9的1553B与CAN总线转换卡的设计与实现

时间:08-27 来源:中电网 点击:

  1 引 言

20世纪70年代诞生的1553B总线是一种主从式多冗余度总线对总线硬件有严格的规定,可靠性和实时性好,传输速率达到1 Mb/s,对于大多数的应用都能满足,通过几十年的发展,已经成为当今军用电子总线的首选。而由德国BOSCH公司开发的CAN总线,采用多主方式,最高速率为1 Mb/s,由于其在汽车电子系统中的卓越表现,现在受到了越来越多的用户的关注和认可。这两种总线都是传输速率高、可靠性高、实时性能好的总线,但是他们都存在一定的不足。1553B总线的任一次数据传输都是由主节点发出命令开始,从节点接到命令后解析并执行,同时把相应状态反馈给主节点,这使得网络上的数据传输率大大降低,并使主节点控制器非常繁忙,而且在下端出现异常时,数据不能立即上传,必须等待主节点的传输命令,灵活性较差。而CAN总线为多主竞发总线,能较好解决这个问题。但是CAN总线也存在很多不足,例如他无法和1553B总线一样给出一个比较确定的响应时间,而且没有双冗余或多冗余结构设计,这使得他的可靠性和实时性不如1553B,而在军用电子中,可靠性和实时性是最重要的。因此军用电子系统中,1553B总线得到了广泛的应用,但同时1553B总线硬件成本非常高,相同条件下是CAN总线的几百倍,对于测试系统来说是很难承受的,所以在现在的测控系统中对于控制仍旧采用1553B总线,对于测试采用CAN总线,而这两者之间的信息交互就成了整个系统的关键,促使了对1553B和CAN总线转换卡的设计与实现。

  2 设计思想

1553B总线的帧结构有2种,其实命令字和状态字共用一种帧结构。而这两种帧仅仅是同步头不同,如图1所示。

1553B的帧中,开始3位为同步位,数据字是上跳沿,而命令字和状态字为下降沿,4~19位为数据位,数据字中为传输的数据,而命令字和状态字中为命令或状态位,最后一位为奇偶校验位。而在CAN总线中,只有一种帧结构,仅仅是是否采用扩展帧而已,其帧结构如图2所示。

其中帧起始由单个显位组成,仲裁场由标识符和RTR位组成,一共12位,控制场由2个保留位和4个DLC位组成,数据场由0到8个字组成,每个字8位,CRC场由15位的CRC序列和1位标识位组成,ACK场由1位ACK间隙和一位ACK界定符组成,最后的帧结束由连续的7个隐性位组成。

由此可见,1553B和CAN总线不但帧结构不同,命令体系不一样,而且不同的1553B与CAN总线之间的转换方法也是不一样的,因此1553B与CAN总线之间的转换不仅仅是帧结构的转换,还涉及到两个系统之间命令的解析,所以采用软件的方式可以更加灵活的实现这两种总线的转换。

而要实现转换就需要在CAN和1553B总线端点之间需要搭建一个能够运行并合理调度多个应用程序的平台。综合整个转换板的考虑,采用带操作系统的ARM9处理器来实现这个平台是比较合适的。cAN总线部分,可以设计成一般的主节点,而对于1553B总线部分,由于1553B有3种不同的端点,为了扩展转换板的功能,可以把转换板的这个端点设计成为可以通过不同的配置来实现不同功能,因此这需要1553B端点的协议和上层应用程序可配置,为此可以采用FPGA和ARM共同工作的方式来实现这个端点。而为了实现实时监控,可以通过从ARM9上扩展串口和LCD接口来实现。

  3 转换卡的设计实现

  3.1 转化卡硬件的选择

转换卡的硬件是整个转换卡功能的基础,其实现框图如图3所示。而在转换卡的硬件设计中,器件的选择决定了设计的实际方案和电路。对于CAN节点,采用了PHILIPS公司的SJA1000T CAN总线控制器和TJA1050CAN总线收发器来共同实现。对于1553B节点,实现协议部分功能的FPGA采用ALTERA的EP1C3T144,收发器和变压器采用了HOLT公司的HI-1567和PD2725,他们与ARM9共同完成了1553B端点协议。最后的核心处理器ARM9则采用ATMEL的AT91RM9200T,他拥有180 MHz的频率,4个PIO接口,不但能够与FPGA共同完成1553B端点功能,满足1553B对实时性的要求,而且还能运行需要的操作系统和应用程序,完成整个转化工作。而对于用于实时监控,LCD芯片采用了EPSON的S1D13506扩展芯片,而串口则采用了传统的MAX3232。以上的这些芯片构成了整个转换卡的框架,通过他们就构成了转换卡的硬件。

在这种方案中,RAM采用了双口RAM,1553B和ARM9共用一个口,这样CAN总线出来的数据和1553B总线过来的数据不用转存就可以直接通过另外一段输出或者缓冲等待发送。S1D13506芯片是一个多功能扩展芯片,他还有多种功能扩展,可以扩展出音频和视频接口。

  3.2 转换卡软件实现方式

在整个的转换卡实现中面临的最大问题就是转换的实时性和缓冲数据管理,为此转

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

网站地图

Top