论文部分内容阅读
控制器局域网总线(Controller Area Network Bus,CAN)兴起于国外汽车电子控制系统,因其卓越的抗干扰能力、安全性能、通信传输速率,广泛应用于军事、运输、建筑、工业等领域。应用CAN总线技术的节点,不分主从,支持多播传输,在总线空闲时,任何节点都可以通过仲裁争夺传输数据的权利。CAN总线网络中,节点之间相对独立,可以在不打扰其它节点的情况下,增加或减少节点,使得系统的控制更加方便灵活,降低了维护成本。CAN总线规范从出现开始,不断完善和发展,历经了多个版本的更替,现今,CAN2.0是应用最为广泛的版本。本文着重论述基于片上系统(System on Chip,SoC)的芯片CAN设备接口控制器的数字前端设计与实现。首先,详细剖析了CAN规范2.0版本的A部分和B部分。接着,阐释了运用Verilog语言完成RTL级设计的实现方案。之后,介绍了建立测试模型的方法,并描述了结合编写的向量,对设计模块的各个功能进行平台、后仿真、现场可编程门阵列(Field Programmable Gate Array,FPGA)验证的过程。验证表明,本文所设计的模块完全符合CAN规范2.0版本的A部分和B部分,能够实现设计需求的各项功能。本文的创新性工作如下:本文将设计的CAN接口控制器模块集成于公司SoC芯片设计中,使其成为设备接口之一,并非独立工作的器件,无需额外的主控芯片,减少了工作系统的面积和设计成本,缩短了应用和开发的周期。本文设计的模块支持DMA(Direct Memory Access)模式,直接访问模块接收FIFO,减轻了SoC芯片CPU的工作负荷,提高了系统搬运数据的能力。本文所设计的模块兼容CAN规范2.0版本的A部分和B部分,可软件编程选择CAN节点的模式,包括BasicCAN模式和ExtendedCAN模式,可适应不同SoC芯片的应用要求,扩大了模块的适用范围。关于ExtendedCAN模式,其同时支持标准格式和扩展格式的报文传输,使模块信息传输更加灵活,且该模式具备BasicCAN模式不具备的扩展功能,性能更加强大,实用性更高。