针对上述问题,设计出一种基于FPGA 的串口/CAN 转换模块,该模块设计充分利用FPGA 数据并行处理和硬件资源丰富的优势,极大地提高了数据处理速度和模块参数的在线可配置性,很好地满足了系统对可靠性和灵活性的要求。
模块框图如下图所示,主要分为电源管理单元、时钟管理单元、CAN 控制单元、CAN 总线驱动单元、CAN 电气隔离单元、电平转换单元、存储单元和FPGA逻辑编程单元。其中,电源管理单元和时钟管理单元分别提供模块各个单元的工作电源和工作时钟;CAN 控制单元完成CAN 总线的协议底层以及数据链路层;CAN 总线驱动单元完成CAN 总线的物理层,提供CAN 总线差分驱动能力;CAN 电气隔离单元用于对CAN 总线进行电气保护;电平转换单元实现数字端口之间的电平匹配;存储单元存储模块相关参数;FPGA 逻辑编程单元完成数据收发、数据转换等逻辑设计。