基于FPGA的CAN通讯卡设计和实现

基于FPGA的CAN通讯卡设计和实现

论文摘要

CAN总线是国际上应用最广泛的现场总线之一。但是,随着电子器件的高速发展,结合不同的工业控制现场,需要开发更先进的CAN通讯卡,才能获得更高的系统性能。本课题采用最新的FPGA技术,代替传统的单片机和外围扩展芯片,设计CAN通讯卡。FPGA具有结构灵活,集成度高,设计方法多样,开发周期短,调试方便,修改容易等优点。在对各种可行方案进行了研究比较后,采用包括:PCI总线模块、主控制器模块、缓冲区模块,CAN协议控制器模块、以及CAN总线驱动器模块的架构,设计基于FPGA的CAN通讯卡。并且利用VHDL硬件设计描述语言对主控制器模块进行编程控制。在实现中,硬件方面,对各芯片进行了选择,详细分析了各硬件模块的电路设计,做了扎实的工作。在软件方面,通过FPGA技术,进行CAN通讯卡主控制器的设计,实现了基于VHDL的各个功能模块。运用状态机技术,构建高效率高、可靠性的逻辑控制;数据缓冲区运用循环存储系统,增加了数据存储宽度;采用仲裁技术解决FPGA芯片和CPU对协议控制器的分时控制;运用地址映射方法,避免了因地址量大,占用系统过多的资源,及消除了产生设备冲突的可能性。并在OuartusⅡ开发环境中实现了功能和时序仿真。本系统采用FPGA芯片及其技术实现了智能CAN通讯卡的设计和开发。该卡已在军用舰船的电站控制系统中得到了实际应用。实践结果表明数据传输稳定,可靠性高。

论文目录

  • 摘要
  • Abstract
  • 引言
  • 第一章 绪论
  • 1.1 研究背景及意义
  • 1.2 论文的研究内容及结构安排
  • 第二章 相关技术
  • 2.1 FPGA技术
  • 2.1.1 FPGA简介
  • 2.1.2 开发平台与语言
  • 2.2 CAN总线技术概述
  • 2.2.1 CAN技术简介
  • 2.2.2 CAN协议
  • 2.2.3 CAN的报文传送和帧结构
  • 第三章 CAN卡软硬件的设计
  • 3.1 系统结构及整体设计方案
  • 3.2 CAN卡的硬件设计
  • 3.2.1 PCI总线接口
  • 3.2.2 主控制器
  • 3.2.3 数据缓冲区
  • 3.2.4 CAN协议控制器
  • 3.2.5 CAN总线收发器
  • 3.3 FPGA内部功能的设计
  • 3.3.1 主要功能描述
  • 3.3.2 SJA1000寄存器分配
  • 第四章 CAN卡软硬件的实现
  • 4.1 系统结构及配置
  • 4.2 PCI接口模块的实现
  • 4.2.1 PCI9052功能特点
  • 4.2.2 PCI9052的ISA接口模式
  • 4.2.3 CAN通信卡的功能实现和上电配置
  • 4.3 CAN协议控制器模块的实现
  • 4.3.1 CAN协议控制器(SJA1000)
  • 4.3.2 协议控制器电路
  • 4.4 CAN收发器模块的实现
  • 4.5 缓冲区模块的实现
  • 4.6 主控制器模块的实现
  • 4.7 FPGA内部功能的实现
  • 4.7.1 技术特色
  • 4.7.1.1 状态机在 FPGA中的应用
  • 4.7.1.2 仲裁技术
  • 4.7.1.3 地址映射
  • 4.7.1.4 循环存储
  • 4.7.2 初始化模块的实现
  • 4.7.3 SJA1000控制模块的实现
  • 4.7.4 双口RAM控制模块的实现
  • 4.7.5 字节计数模块的实现
  • 4.7.6 数据帧计数模块的实现
  • 4.8 PCB制板
  • 4.8.1 布局
  • 4.8.2 布线
  • 4.9 系统测试与评价
  • 第五章 结论与展望
  • 5.1 结论
  • 5.2 展望
  • 参考文献
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于FPGA的CAN通讯卡设计和实现
    下载Doc文档

    猜你喜欢