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

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

【技术实现步骤摘要】

本技术涉及CAN通讯领域,具体地指一种CAN总线通讯控制系统
技术介绍
基于FPGA (Field-Programmable Gate Array,现场可编程门阵列)平台的CAN(ControIIer 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总线通讯控制器,所述时钟管理模块包括由15个反相器构成的环形振荡器。本技术采用FP GA作为主控制器,控制多路独立的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总线通讯控制器的信号输出端通过TXD接口与光电隔离模块连接,每个CAN总线通讯控制器的信号输入端通过RXD接口与光电隔离模块连接。每个光电隔离模块的信号输出端通过TX接口与CAN收发模块连接,每个光电隔离模块的信号输入端通过RX接口与CAN收发模块连接。上述技术方案中,时钟总线为XTAL1,控制总线为ALE、WR和RD,片选总线为CS。上述初始化模块的作用是:配置时钟分频寄存器⑶R,输出控制寄存器0CR,总线定时寄存器BTRO、BTR1,验收代码寄存器ACR,验收屏蔽寄存器AMR,错误报警限制寄存器EWLR,实现对总线的速率、验收屏蔽码、输出引脚驱动方式、总线模式、时钟分频、CPU错误报警门限进行定义。上述通信控制模块的作用是:通过控制片选信号CS有效状态从而实现多路控制,由于数据和地址总线及控制总线均为复用,因此需注意各路CAN总线通讯控制器的控制机制,在同一时刻只有一路CAN总线通讯控制器工作,即同一时刻只有一路片选信号CS为有效。对于单路CAN节点控制来说,在初始化结束后进入空闲等待状态,由于采用查询接收方式,随即转入查询状态寄存器SR的状态。查询接收缓冲器状态位RBS为I时则转到接收数据状态;发送缓冲器状态位TBS为I时则转到发送数据状态,如果检测到出错状态位置I或数据溢出状态置I则转到错误处理模块;如果RBS和TBS都置O,则返回空闲状态。上述发送数据模块的工作过程为:通信控制模块将数据写入发送缓冲区,然后对命令寄存器的发送请求TR标志位进行置位开始发送;上述接收数据模块的工作过程为:CAN通讯控制器将从数据和地址总线上接收到的数据读入接收缓冲器,通过其状态寄存器接收状态标志位来处理接收到的信息,接收完毕后清空接收缓冲器,等待下次接收。上述错误处理模块的作用是:查询各相关寄存器状态,判断状态寄存器SR溢出状态位DOS、出错状态位ES以及错误代码捕捉寄存器(ECC) DIR位的状态,进而采取相应错误处理措施。本技术使用VerilogHDL硬件描述语言进行模本文档来自技高网...

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

【技术特征摘要】

【专利技术属性】
技术研发人员:李达生
申请(专利权)人:天津航思科技有限公司
类型:实用新型
国别省市:

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

1