微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 四冗余通信板的仿真 少不了CAN总线技术辅助

四冗余通信板的仿真 少不了CAN总线技术辅助

时间:02-14 来源:互联网 点击:

体管。HFBR-2412光接收器能与光发射器 HFBR-1414及50/125 μm、62.5/125 μm、100/140 μm、200 μm (HCS)的光纤配合使用,最高通信速率可达5 MB。由于采用了开集电极电路,此接收器兼容TTL及CMOS电平。该电路的通信距离最远可达1.7 km。

为提高CAN通信板的抗震性,抗干扰性等综合性能,采用了双面布线设计。该通信板尺寸规格严格按照PC/104板的要求做。

(3)冗余设计及CAN Hub设计

该通信板设计了4路冗余,工作时只有1路CAN通道进行工作,采用高位片选的方式进行工作通道的选择,其片选模块在FPGA内部设计完成。

(4)GAN Hub的设计

由于本系统采用“双光双电”四冗余的电路设计,为提高通信速度,采用485收发器代替标准的CAN收发器。光是“点对点” 的传输,485收发器是差分传输,在形式上都无法构成总线式结构。因此,引入CAN Hub来对信号进行处理,在逻辑上达到总线式的结构。

3 软件设计

CAN通信板的正常工作离不开强大的软件支持,本系统中控制部分的核心采用PC/104嵌入式计算机系统。PC/104嵌入式计算机拥有可以和PC机媲美的强大功能,CAN通信板软件部分的开发和设计就是在PC/104计算机上完成的,采用C语言进行设计。C语言具有通用性、高效性和实时性,能满足仪器的实时性要求。在设计过程中采用了模块化、结构化的设计方法,把软件按功能分成若干个模块,这些模块既有一定的独立性,又有一定联系。每个模块的编制要求相对独立,以便对各模块进行检验调试和修改、维护。这种框架模式的程序可以保证良好的通用性、可维护性、可扩展性、移植性、互换性和独立性。

由于CAN核的内部结构和SJA1000一样,因此,开发时就像面对SJA1000一样,编写起来简单方便。本设计采用中断处理的方式来进行任务的处理。在中断到来后进行相应的处理就可以了。

通信板初始化流程如图3所示。数据发送流程如图4所示,数据接收流程如图5所示。

四冗余通信板的仿真 少不了CAN总线技术辅助

4 系统的仿真

采用Modelsim进行仿真。

系统的测试平台(TestBench),例化了模块can4core和1个CAN核cantop,并仿真它们之间的通信。

本仿真完全按照 CAN核正常工作过程进行,仿真过程如下:

①初始化设置。首先进行时间寄存器的设置和数据格式的设置。通过平台对本系统设计模块和CAN核进行设置。

②同步测试。包括硬同步测试和重新同步测试。一个硬同步后,内部的位时间以同步段重新开始。硬同步使引起硬同步的跳变沿位于重新开始的位时间同步段之内。

③空FIFO测试(test_empty_fifo_ext)。该测试通过接收2个数据帧,然后读取接收缓冲器,接着清空缓冲器,再读取缓冲器,反复清空和读取,看FIFO中的数据是否被完全清除。

④满FIFO测试 (test_full_fifo_ext)。首先清空寄存器,然后通过不断地接收数据帧来填满FIFO并读取信息,检测是否能正常工作。

⑤ 总线空闲测试(bus-off-test)。通过不断发送数据来使总线处于忙状态,致使总线产生错误,测试中断寄存器是否能检测到错误,以及错误清除后 CAN核能否继续正常工作。

⑥Basic CAN模式发送帧检测。测试CAN核能否正常发送帧。

⑦寄存器测试。通过不停地读写寄存器,检测CAN核寄存器是否正常工作。

⑧总线上数据的传输。仿真过程中重要的一点就是总线上是否能够正常传输数据信息。

经过仿真可以看到该CAN通信板突破了SJA1000在速度方面的限制,传输速度可达2MHz,有效传输速率得到了大幅提高,工作性能良好。

结语

本文设计的CAN总线通信板完成了PC/104与CAN总线的通信转换,改变了传统的应用CAN控制器加外部控制器的设计方法,在设计 CAN核的基础上,将通信板中所有数字信号处理部分都放在FPGA内部来实现,使通信速度得到很大提高。无论是在传输速率还是在抗干扰、抗震性等方面,CAN核应用的综合性能都得到了很大的提高。

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

网站地图

Top