CAN核的四冗余通信板设计与仿真_第1页
CAN核的四冗余通信板设计与仿真_第2页
CAN核的四冗余通信板设计与仿真_第3页
CAN核的四冗余通信板设计与仿真_第4页
CAN核的四冗余通信板设计与仿真_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【Word版本下载可任意编辑】 CAN核的四冗余通信板设计与仿真 存放器组(CAN Register):外部微处理器可以通过地址直接访问这些存放器。发送数据时,微处理器将要发送的数据写入发送缓冲器,置位命令存放器的发送请求位来启动发送。接收到数据后,控制器将其存在接收缓冲器,并通知位控制器将其取走。同时,CAN存放器中还有1个64字节的接收FIFO,可以1次存储至少2个数据帧。 位时序逻辑(BTL):用来监视CAN总线并处理与CAN总线相关的位时序。在消息的开始处,当位时序逻辑检测到总线上由隐性位(recessive)到显性位(dominant)的跳变时,就会将其内部逻辑同步到位流,称之为硬同

2、步;随后,在接收消息的过程中,检测到隐性位到显性位的跳变时,便会重同步到位流,称之为软同步。位时序逻辑还要根据总线定时存放器0和总线定时存放器1的值来决定每个位周期采样点的位置,以补偿传输延迟和相位漂移所造成的误差;同时,根据总线定时存放器1的设置采取相应的采样模式(单次采样或3次)对总线上的数据采样。 位流处理器(BSP):根据其实现的功能分为3个模块:数据接收模块、数据发送模块和错误处理模块。数据接收模块将从位时序逻辑送过来的采样数据去除位填充后送到移位存放器开展串并转换,之后对并行数据开展CRC校验,在消息接收完时发送应答信号,表示接收无误。将接收到的消息的特征码与验收屏蔽存放器的内容开

3、展比较,以决定是否将接收的消息写入接收FIFO。数据接收模块将要发送的数据组成帧并开展CRC计算,之后送入移位存放器开展并串转换,然后将串行数据编码(位填充)后送到总线上。错误监视模块根据协议规范中描述的错误监视机制检测系统错误,并设置相应的存放器,通知设备控制器。模块根据协议描述的12种错误监视规则,在适当情况下对计数器开展加、减或去除。控制器根据这两个计数器的值以及错误限制存放器的值来决定自己的故障状态:错误激活(Error Active),错误认可(Error Passire)或总线关闭(Bus off On)。 2硬件电路设计 根据系统的总体设计方案,因为现有的CAN总线收发器的工作频

4、率为1 MHz,在提高CAN的通信速度后,现有的CAN总线收发器就不能满足需要了,因此改用RS485收发器。由于RS485收发器是差分传输,不能完成通信卡的自发自收功能,因此需要外置的CAN Hub。另外,要开展光纤传输,要完成光的逻辑总线构造,也需要外置Hub。因此,本硬件设计分为CAN通信板的设计和CAN Hub的设计两部分。 (1)CAN通信板硬件电路设计 CAN通信板的器件是FPGA,同时完成“双光双电”通信,硬件通信板构造如图2所示。 作为PC104系统的模块,要接在PC104总线上,所以要在数据、地址、控制总线上与PC104标准规定的总线标准一致。 本设计要开展四冗余设计,在设计中

5、要添加4个CAN核,选用Altera公司Cyclone II系列的FPGA EP3C25。 由于PC104的工作电压为5 V,而FPGA的工作电压为3.3 V,因此在PC104和FPGA之间要参加1个电平转换器74LVC245来保护FPGA。 (2)光收发电路 本系统的高速光发射器采用HFBR-1414低功耗高速光发射器件,其光发射波长为820 nm。此发射器能够与以下4种光纤配合使用:50125 m、62.5125 m、100140 m、200 m(HCS)。HFBR-1414采用了双镜片的光学系统,光发射效率高,当驱动电流为60 mA时,在50125 m光纤上可得到-15 dBm的光功率。

6、光接收器采用HFBR-2412,其内部集成了光电二极管、直流电路和开集电极的肖特基晶体管。HFBR-2412光接收器能与光发射器HFBR-1414及50125 m、62.5125 m、100140 m、200 m(HCS)的光纤配合使用,通信速率可达5 MB。由于采用了开集电极电路,此接收器兼容TTL及CMOS电平。该电路的通信距离远可达1.7 km。 为提高CAN通信板的抗震性,抗干扰性等综合性能,采用了双面布线设计。该通信板尺寸规格严格按照PC104板的要求做。 (3)冗余设计及CAN Hub设计 该通信板设计了4路冗余,工作时只有1路CAN通道开展工作,采用高位片选的方式开展工作通道的选

7、择,其片选模块在FPGA内部设计完成。 (4)GAN Hub的设计 由于本系统采用“双光双电”四冗余的电路设计,为提高通信速度,采用485收发器代替标准的CAN收发器。光是“点对点”的传输,485收发器是差分传输,在形式上都无法构成总线式构造。因此,引入CAN Hub来对信号开展处理,在逻辑上到达总线式的构造。 3软件设计 CAN通信板的正常工作离不开强大的软件支持,本系统中控制部分的采用PC104嵌入式计算机系统。PC104嵌入式计算机拥有可以和PC机媲美的强大功能,CAN通信板软件部分的开发和设计就是在PC104计算机上完成的,采用C语言开展设计。C语言具有通用性、高效性和实时性,能满足仪

8、器的实时性要求。在设计过程中采用了模块化、构造化的设计方法,把软件按功能分成若干个模块,这些模块既有一定的独立性,又有一定联系。每个模块的编制要求相对独立,以便对各模块开展检验调试和修改、维护。这种框架模式的程序可以保证良好的通用性、可维护性、可扩展性、移植性、互换性和独立性。 由于CAN核的内部构造和SJA1000一样,因此,开发时就像面对SJA1000一样,编写起来简单方便。本设计采用中断处理的方式来开展任务的处理。在中断到来后开展相应的处理就可以了。 通信板初始化流程如图3所示。 数据发送流程如图4所示,数据接收流程如图5所示。 4系统的仿真 采用Modelsim开展仿真。 系统的测试平

9、台(TestBench),例化了模块can4core和1个CAN核cantop,并仿真它们之间的通信。 本仿真完全按照CAN核正常工作过程开展,仿真过程如下: 初始化设置。首先开展时间存放器的设置和数据格式的设置。通过平台对本系统设计模块和CAN核开展设置。 同步测试。包括硬同步测试和重新同步测试。一个硬同步后,内部的位时间以同步段重新开始。硬同步使引起硬同步的跳变沿位于重新开始的位时间同步段之内。 空FIFO测试(test_empty_fifo_ext)。该测试通过接收2个数据帧,然后读取接收缓冲器,接着清空缓冲器,再读取缓冲器,反复清空和读取,看FIFO中的数据是否被完全去除。 满FIFO

10、测试(test_full_fifo_ext)。首先清空存放器,然后通过不断地接收数据帧来填满FIFO并读取信息,检测是否能正常工作。 总线空闲测试(bus-off-test)。通过不断发送数据来使总线处于忙状态,致使总线产生错误,测试中断存放器是否能检测到错误,以及错误去除后CAN核能否继续正常工作。 Basic CAN模式发送帧检测。测试CAN核能否正常发送帧。 存放器测试。通过不停地读写存放器,检测CAN核存放器是否正常工作。 总线上数据的传输。仿真过程中重要的一点就是总线上是否能够正常传输数据信息。 经过仿真可以看到该CAN通信板突破了SJA1000在速度方面的限制,传输速度可达2 MHz,有效传输速率得到了大幅提高,工作性能良好

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论