基于ARM和FPGA的CAN接口运动控制器制造技术

技术编号:32083824 阅读:33 留言:0更新日期:2022-01-29 18:03
本实用新型专利技术公开了一种基于ARM和FPGA的CAN接口运动控制器,包括基于ARM和FPGA的CAN接口运动控制器,其特征在于,包括FPGA控制器、CAN控制器和CAN隔离收发器,所述FPGA控制器通过USB数据线连接到上位机USB接口,通过CAN控制器连接到CAN隔离收发器,所述FPGA控制器与CAN控制器还设置有存储器SDRAM,用于数据缓冲与命令缓冲,其中:所述FPGA控制器用于接收上位机的指令实现对CAN控制器的控制,实现上位机与CAN总线的数据交互。该运动控制器完全支持CANV2.0B技术规范,通信速率最大为2Mb/s,能够发送和接收标准和扩展的数据帧及远程帧等多种帧格式。多种帧格式。多种帧格式。

【技术实现步骤摘要】
基于ARM和FPGA的CAN接口运动控制器


[0001]本技术涉及数据通信领域,具体涉及基于ARM和FPGA的CAN接口运动控制器。

技术介绍

[0002]CAN,全称为“Controller Area Network”,即控制器局域网,它是一个多主机异步串行总线,是国际上应用最广泛的现场总线之一。现在已经成为国际标准,被采用为高速应用的ISO11898标准和用于低速应用的ISO11519标准。在现场总线中,它是唯一被国际标准化组织批准的现场总线。CAN总线具有十分优越的特点,得到了人们的青睐。这些特性包括:低成本、极高的总线利用率、长达10km的数据传输距离、高达1Mbit/s的数据传输速率、可根据报文的ID进行报文选择、可靠的错误处理和检错机制、自动重发遭到破坏的信息、节点在错误严重的情况下可自动退出总线、报文不包含地址,仅用标志符来指示功能信息和优先级等信息。由于它具有优良的错误处理机制及可靠的数据传送性能,因此,CAN总线已经在汽车工业、航空工业、医疗仪器、工业控制、安全防护等领域中得到了广泛应用。在现有技术中,CAN数据交换是通过单片机+SJA1000来实现的,通过单片机的IO口模拟CAN控制器进行数据解析,上位机还需要USB转串口后才能在单片机进行数据转换后与CAN接口进行通信,不仅通信速率低且实际应用时十分不便。

技术实现思路

[0003]本技术的目的就是针对现有技术的缺陷,提供一种基于ARM和FPGA的CAN接口运动控制器,使用可重复编程的FPGA用来读取和发送数据实现与上位机的通信,通过设置存储器用于数据缓冲与命令缓冲SDRAM,提高通信速率。
[0004]本技术的技术方案为:基于ARM和FPGA的CAN接口运动控制器,包括FPGA控制器、CAN控制器和CAN隔离收发器,所述FPGA控制器通过USB数据线连接到上位机USB接口,通过CAN控制器连接到CAN隔离收发器,所述FPGA控制器还连接有存储器SDRAM,用于数据缓冲与命令缓冲。
[0005]所述FPGA控制器用于接收上位机的指令实现对CAN控制器的控制,实现上位机与CAN总线的数据交互。
[0006]所述上位机通过FPGA控制器与CAN控制器交互式相连接;所述CAN隔离收发器电连接CAN控制器与总线。
[0007]所述运动控制器还包括电源模块,用于向该运动控制器中的各模块供电。
[0008]CAN隔离收发器是用于实现CAN控制器逻辑电平与CAN总线上差分电平的互换。
[0009]FPGA控制器负责实现对CAN控制器的控制:在节点启动时,初始化CAN控制器参数;在CAN控制器发生中断时,向上位机发送CAN控制器的中断异常信号;进行配置FPGA寄存器操作、进行配置CAN控制器寄存器操作,将上位机发送的CMD写入FPGA发送指令fifo中;
[0010]接受来自上位机的发送指令时,将数据写入存储器SDRAM发送缓存区;
[0011]接受来自上位机的接受指令时,将读取存储器SDRAM接受缓存区的数据。
[0012]USB接口模块与上位机交互式相连接,包括:将所述上位机发送的指令、相应寄存器地址传送至所述FPGA主控模块的寄存器,将数据存储至存储器SDRAM发送缓冲区;将存储器SDRAM接受缓冲区的数据通过USB数据线输送至ARM上位机。
[0013]所述FPGA主控模块用于将收到的指令进行解析,该模块对锁存的数据和指令长度进行判断,获得复位指令、读指令、写指令、读RX缓冲器指令、装载TX缓冲器指令以及位修改指令,将指令通过第一SPI接口模块发送至CAN控制器;通过第一SPI接口模块接受CAN数据,并将CAN数据存储在存储器SDRAM接收缓冲区;将上位机数据和命令存储至存储器SDRAM发送缓冲区。
[0014]第一SPI接口模块用于将指令、CAN控制器件内部寄存器地址、存储器SDRAM发送缓冲区的数据串行输出至CAN控制器中的缓存寄存器,并将接受CAN控制器的数据存储至存储器SDRAM接收缓冲区中。
[0015]所述CAN控制器用于实现CAN总线协议、发送和接收数据帧,包括标准数据帧、扩展数据帧等,CAN控制器包括第二SPI接口模块、CAN协议模块和CAN控制逻辑模块。
[0016]CAN协议模块,主要负责与CAN总线间的数据传输;CAN控制逻辑模块,用于设置芯片及其操作模式;第二SPI接口模块,主要负责与FPGA控制器的数据传输。
[0017]所述CAN协议模块包括:CAN协议机、发送与接受缓冲器、屏蔽器和过滤器,CAN协议机用于实现与CAN总线间的数据传输。
[0018]所述FPGA控制器一端连接的CAN控制器为多个,每个CAN控制器均与一个CAN隔离收发器连接。
[0019]所述FPGA控制器电源由芯片ADP5024提供。
[0020]所述电源模块包括9~37VDCDC供电电路,用于支持USB供电。
[0021]运动控制器在总线上以节点形式存在,整个节点以FPGA控制器核心、将其与CAN控制、存储器SCRAM和CAN隔离收发器有机结合起来,通过USB通信与上位机相连。FPGA控制器中设置有USB接口模块,所以省去了USB控制器外围电路的设计,为了进一步提高CAN总线的抗干扰能力,保证节点在电气上是隔离和独立的。
[0022]本技术具有的有益效果:
[0023]采用SPI接口,具有体积小、低功耗、功能完善、使用方便等特点。为了实现基于该接口芯片的CAN接口运动控制器,采用ARM+FPGA架构,在FPGA内部实现SPI接口逻辑和CAN控制器指令转换逻辑,以完成不同的SPI指令,在ARM中接收上位机指令和完成对CAN控制器的控制。通信单元设计合理,运行稳定,满足了实际需求。
[0024]该运动控制器完全支持CANV2.0B技术规范,通信速率最大为2Mb/s,能够发送和接收标准和扩展的数据帧及远程帧等多种帧格式,通过设置存储器用于数据缓冲与命令缓冲SDRAM,提高通信速率。
附图说明
[0025]图1为本技术的整体结构示意图;
[0026]图2为本技术的运动控制器工作示意图;
[0027]图3为本技术的CAN控制器结构示意图;
具体实施方式
[0028]下面结合实施例及附图,对本技术作进一步的详细说明,但本技术的实施方式不限于此。
[0029]在本技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖向”、“纵向”、“侧向”、“水平”、“内”、“外”、“前”、“后”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该技术产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
[0030]在本技术的描述中,还需要说明本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于ARM和FPGA的CAN接口运动控制器,包括CAN控制器和CAN隔离收发器,其特征在于,还包括FPGA控制器,所述FPGA控制器通过USB数据线连接到上位机USB接口、通过CAN控制器连接到CAN隔离收发器,所述FPGA控制器还外挂有存储器SDRAM,用于数据缓冲与命令缓冲,其中:所述FPGA控制器用于接收上位机的指令实现对CAN控制器的控制,实现上位机与CAN总线的数据交互。2.根据权利要求1所述的基于ARM和FPGA的CAN接口运动控制器,其特征在于,所述FPGA控制器包括:USB接口模块、主控制模块和第一SPI接口模块,所述USB接口模块用于与上位机交互式相连接;FPGA主控模块用于将收到的指令进行解析并通过第一SPI接口模块实现CAN控制器的控制;将CAN数据存储至存储器SDRAM接收缓冲区;将上位机数据和命令存储至存储器SDRAM发送缓冲区;所述第一SPI接口模块在FPGA控制器内部进行SPI接口逻辑和指令转换逻辑,实现与CAN控制器的数据传输。3.根据权利要求1所述的基于ARM和FPGA的CAN接口运动控制器,其特征在于,所述CAN控制器用于实现CAN总线协议、发送和接收数据帧,包括第二SPI接口模块、CAN协议模块和CAN控制逻辑模块。4.根据权利要求3所述的基于ARM和FPGA的CAN接口运...

【专利技术属性】
技术研发人员:宋俊匡顺兰闫永鑫唐自祥李娟
申请(专利权)人:成都恩菲特科技有限公司
类型:新型
国别省市:

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

1