论文部分内容阅读
本研究课题是对基于FPGA的CAN控制器设计技术进行研究,最终目标是在FPGA上实现能够满足CAN协议的CAN控制器。出于研究的方便,本CAN控制器是基于CAN 2.0A协议进行设计的。 本课题中,CAN控制器的设计平台为Mentor Graphics公司的前端开发软件FPGA Advantage for HDL Design 5.3,具体设计采用了TOP-DOWN设计方式,将原理图与代码编写结合了起来,上层采用模块化设计方式,最底层模块以VHDL语言编写而成。所有的仿真,包括了前端的功能仿真及后端各个阶段的仿真,都是在FPGA Advantage嵌入的Model Technology公司的仿真软件ModelSim SE PLUS 5.6a上开展的。后端设计部分,包括了综合、实现,都是在Xilinx公司针对自己的FPGA所设计的开发平台ISE6.1.03i上开展的,各个阶段的后仿真所需要的仿真模型文件及标准延迟文件也是在该平台上生成的。 文中首先对CAN总线的特点和国内外CAN控制器设计技术的进展情况作了简要的介绍,使读者对本人的研究领域的国内外进展有一个大致的了解。 接着对研究的前提:CAN 2.0A协议进行了简要的介绍,对于协议的关键部分和难点部分则进行了详细的说明,使读者对于CAN总线有一个较为清楚的认识。 在此前提下,先是对本人设计CAN控制器的总体方案构想进行了介绍,这是通过对顶层模块的介绍来展开的,对用户可访问寄存器的设置进行了详细的介绍和分析,并介绍了所采用的设计仿真平台、实现语言、实现芯片及实现工具,这样读者会对本人设计CAN控制器的总体思路有一个较为准确的把握。 CAN控制器的设计是本文介绍的重点所在,在前面顶层模块介绍的基础上,将各个顶层模块进行展开,分别介绍了下层的各级各个模块,在关键的地方对于最底层模块附上了关键源程序并进行了分析以帮助读者对设计进行深入的了解。 随后对CAN控制器的功能仿真进行了介绍,重点介绍了仿真的一些策略和具体实施方法,这些策略和实施方法同样适合于后续的时序仿真,并利用波形图对功能仿真的结果进行了分析。 接着介绍了功能仿真后的CAN控制器综合、实现和时序仿真过程,从中给