一种CAN总线通讯控制系统技术方案

技术编号:7122835 阅读:184 留言:0更新日期:2012-04-11 18:40
本实用新型专利技术公开了一种CAN总线通讯控制系统,包括FPGA、电源模块、多个CAN总线通讯控制器,每个CAN总线通讯控制器均连有CAN收发模块,FPGA包括初始化模块、通信控制模块、接收数据模块、发送数据模块和时钟管理模块,初始化模块的信号输出端连通信控制模块的信号输入端,通信控制模块的信号输出端分别接入接收数据模块和发送数据模块,接收数据模块和发送数据模块通过数据和地址总线分别接入每个CAN总线通讯控制器,时钟管理模块通过时钟总线分别接入每个CAN总线通讯控制器,通信控制模块通过控制总线接入每个CAN总线通讯控制器,通信控制模块通过片选总线接入每个CAN总线通讯控制器。本实用新型专利技术能简化CAN总线通信电路的设计,并具有灵活性强、拓展性好的优点。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术涉及CAN通讯领域,具体地指一种CAN总线通讯控制系统
技术介绍
基于FPGA (Field-Programmable Gate Array,现场可编程门阵列)平台的 CAN(ControIler Area Network,控制器局域网)总线通讯控制器,主要功能是实现多路独立的CAN总线通讯功能。目前CAN总线通讯通常采用D SP (digital signal processor)、 ARM (Advanced RISC Machines)、单片机等配置了 CAN控制器的芯片作为主控制器,上述方式致使每个主控制器的CAN接口通道数量有限,如需实现多通道的CAN通讯,需增加主控芯片作为专用通讯控制器,这就造成了电路设计复杂、且电路的灵活性和拓展性差。
技术实现思路
本技术的目的就是要提供一种能使CAN总线通信电路设计简单、灵活性强、 拓展性好的CAN总线通讯控制系统。为实现此目的,本技术所设计的一种CAN总线通讯控制系统,其特征在于它包括FPGA、与FPGA连接的电源模块、多个CAN总线通讯控制器,其中,每个CAN总线通讯控制器均连接有CAN收发模块,FPGA包括初始化模块、通信控制模块、接收数据模块、发送数据模块和时钟管理模块,初始化模块的信号输出端连接通信控制模块的信号输入端,通信控制模块的信号输出端分别接入接收数据模块和发送数据模块,接收数据模块和发送数据模块通过数据和地址总线分别接入每个CAN总线通讯控制器,所述时钟管理模块通过时钟总线分别接入每个CAN总线通讯控制器,所述通信控制模块通过控制总线接入每个CAN总线通讯控制器,所述通信控制模块还通过片选总线接入每个CAN总线通讯控制器。它还包括晶振和FPGA配置电路,所述晶振的输出端连接所述时钟管理模块,FPGA 配置电路连接FPGA。所述FPGA还包括错误处理模块,所述错误处理模块的信号输入端连接通信控制模块的信号输出端。所述每个CAN总线通讯控制器和对应的CAN收发模块之间连接有光电隔离模块, 所述每个光电隔离模块连接有光耦供电模块,每个光电隔离模块还连接所述电源模块。所述CAN收发模块的高电平接CANH和低电平接CANL之间串联有电阻Rl和电阻 R2。所述每个CAN总线通讯控制器的MODE脚接高电平,并选择Intel模式,所述每个 CAN总线通讯控制器的TXl脚悬空,RXl脚接地。所述CAN总线通讯控制器的型号为SJA1000,所述CAN收发模块型号为TJA1040。 本技术采用FPGA作为主控制器,控制多路独立的CAN总线接口电路的电路设计方法,实现多通道的CAN通讯。解决了现有多通道CAN通讯硬件电路设计繁琐,拓展性差的问题。在FPGA内采用VerilogHDL硬件描述语言实现多路CAN总线通讯控制器通信接口控制,初始化模块实现对总线的速率、验收屏蔽码、输出引脚驱动方式、总线模式及时钟分频进行定义。通信控制模块实现多通道控制、状态查询及转换。接收数据模块和发送数据模块分别实现总线数据收发。错误处理模块通过查询CAN通讯控制器的状态寄存器进行错误处理,如数据超载处理,发送错误处理,仲裁丢失捕捉等。上述设计能使CAN总线通信电路设计简单,并提高灵活性和拓展性。附图说明图1为本技术的原理框图;具体实施方式以下结合附图和具体实施例对本技术作进一步的详细说明图1中所示的一种CAN总线通讯控制系统,它包括FPGA、给FPGA供电的电源模块、 多个CAN总线通讯控制器,其中,每个CAN总线通讯控制器均连接有CAN收发模块,FPGA包括初始化模块、通信控制模块、接收数据模块、发送数据模块和时钟管理模块,初始化模块的信号输出端连接通信控制模块的信号输入端,通信控制模块的信号输出端分别接入接收数据模块和发送数据模块,接收数据模块和发送数据模块通过数据和地址总线分别接入每个CAN总线通讯控制器,上述时钟管理模块通过时钟总线分别接入每个CAN总线通讯控制器,通信控制模块通过控制总线接入每个CAN总线通讯控制器,通信控制模块还通过片选总线接入每个CAN总线通讯控制器。时钟频率设置为16MHz。上述技术方案中,它还包括晶振和FPGA配置电路,晶振的输出端连接时钟管理模块,有源晶振作为FPGA外部时钟输入,FPGA内部时钟管理模块使用DCM的IP核进行时钟管理,输入为外部晶振模块20MHz,通过DCM的倍分频功能产生系统同步时钟,并产生CAN总线通讯控制器的工作时钟XTAL1,该时钟可驱动多路CAN总线通讯控制器。系统同步时钟和CAN总线通讯控制器芯片工作时钟应保持同步,即同相位。FPGA配置电路连接FPGA,选用XC18V02作为FPGA的配置芯片。该芯片容量为2Mbit,可采用并行配置模式。上述技术方案中,FPGA还包括错误处理模块,错误处理模块的信号输入端连接通信控制模块的信号输出端。上述技术方案中,每个CAN总线通讯控制器和对应的CAN收发模块之间连接有光电隔离模块,每个光电隔离模块连接有光耦供电模块,每个光电隔离模块还连接电源模块。 所述光耦供电模块给光电隔离模块提供电压VDD,电源模块给光电隔离模块提供电压VCC。 光电隔离模块可以提高系统的瞬间抗干扰能力,保护总线,降低射频干扰,实现热防护。如果现场传输距离近,电磁干扰小,可以不采用光电隔离,以使系统达到最大的通信速率。上述技术方案中,CAN收发模块的高电平接口 ICANH和低电平接口 ICANL之间串联有电阻Rl和电阻R2。由于通信信号传输到导线的端点时会发生反射,反射信号会干扰正常信号的传输,因而在总线两端加的两个60欧的电阻Rl和电阻R2起匹配总线阻抗的作用。上述技术方案中,每个CAN总线通讯控制器的MODE脚接高电平,并选择Intel模式,每个CAN总线通讯控制器的TXl脚悬空,RXl脚接地。形成CAN协议所要求的电平逻辑。上述技术方案中,CAN总线通讯控制器的型号为SJA1000,CAN收发模块型号为 TJA1040。每个CAN总线通讯控制器的信号输出端通过T)(D接口与光电隔离模块连接,每个CAN总线通讯控制器的信号输入端通过R)(D接口与光电隔离模块连接。每个光电隔离模块的信号输出端通过TX接口与CAN收发模块连接,每个光电隔离模块的信号输入端通过RX 接口与CAN收发模块连接。上述技术方案中,时钟总线为XTALl,控制总线为ALE、WR和RD,片选总线为CS。上述初始化模块的作用是配置时钟分频寄存器CDR,输出控制寄存器OCR,总线定时寄存器BTRO、BTR1,验收代码寄存器ACR,验收屏蔽寄存器AMR,错误报警限制寄存器 EWLR,实现对总线的速率、验收屏蔽码、输出引脚驱动方式、总线模式、时钟分频、CPU错误报警门限进行定义。上述通信控制模块的作用是通过控制片选信号CS有效状态从而实现多路控制, 由于数据和地址总线及控制总线均为复用,因此需注意各路CAN总线通讯控制器的控制机制,在同一时刻只有一路CAN总线通讯控制器工作,即同一时刻只有一路片选信号CS为有效。对于单路CAN节点控制来说,在初始化结束后进入空闲等待状态,由于采用查询接收方式,随即转入查询状态寄存器SR的状态。查询接收缓冲器状态位RBS为1时则转到接收数据状态;发送缓冲器状态本文档来自技高网...

【技术保护点】
1.一种CAN总线通讯控制系统,其特征在于:它包括FPGA、与FPGA连接的电源模块、多个CAN总线通讯控制器,其中,每个CAN总线通讯控制器均连接有CAN收发模块,FPGA包括初始化模块、通信控制模块、接收数据模块、发送数据模块和时钟管理模块,初始化模块的信号输出端连接通信控制模块的信号输入端,通信控制模块的信号输出端分别接入接收数据模块和发送数据模块,接收数据模块和发送数据模块通过数据和地址总线分别接入每个CAN总线通讯控制器,所述时钟管理模块通过时钟总线分别接入每个CAN总线通讯控制器,所述通信控制模块通过控制总线接入每个CAN总线通讯控制器,所述通信控制模块还通过片选总线接入每个CAN总线通讯控制器。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭亮许维敏
申请(专利权)人:湖北三江航天险峰电子信息有限公司
类型:实用新型
国别省市:42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1