首页> 中国专利> 一种基于DSP+FPGA多通道SJA1000的CAN通讯系统及方法

一种基于DSP+FPGA多通道SJA1000的CAN通讯系统及方法

摘要

本发明提供一种基于DSP+FPGA多通道SJA1000的CAN通讯系统及方法,包括依次连接的DSP芯片、FPGA和电平转换芯片,以及与所述电平转换芯片连接的一个或多个SJA1000;所述DSP芯片,用于接收外部设备传来的数据,对数据进行处理;对FPGA进行读写操作;所述FPGA,用于通过译码解析DSP写入的指令及数据;对一个或多个SJA1000进行读写操作;所述电平转换芯片,用于将FPGA输出的信号电平转换为5V,驱动SJA1000;通过片选信号实现对多个SJA1000的读写;所述SJA1000,用于根据FPGA写入的指令,将有效数据发送到CAN总线或从CAN总线获取数据。本发明通过采用DSP+FPGA作为核心处理单元,通过对DSP软件编程和FPGA逻辑模块的设计实现了多通道CAN总线之间的通讯。

著录项

  • 公开/公告号CN112187602A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利权人 湖北三江航天红峰控制有限公司;

    申请/专利号CN202011040042.X

  • 发明设计人 徐元;

    申请日2020-09-28

  • 分类号H04L12/40(20060101);

  • 代理机构11335 北京汇信合知识产权代理有限公司;

  • 代理人王艳波

  • 地址 432000 湖北省孝感市北京路特8号

  • 入库时间 2023-06-19 09:27:35

说明书

技术领域

本发明涉及计算机总线通信领域,尤其是涉及一种基于DSP+FPGA多通道SJA1000的CAN通讯系统及方法。

背景技术

CAN总线是ISO国际标准化的串行通信协议,是国际上应用最广泛的现场总线之一。由于其成本低、容错率强、支持分布式控制、通讯速率高等优点,在工业控制、航天领域得到广泛应用。特别是CAN总线具有抗干扰性强的特点,在航天以及卫星上得到越来越广泛的应用,CAN总线的高性能和可靠性已被认同。

目前,由于单片机速率低、资源少、受到电磁干扰或者强冲击力时程序容易跑错。通讯系统需要快速获取大量数据,快速处理并作出正确决策,需要处理器具有更高的运算速度、更大的存储空间,并且也需要具有更高的通讯速率以及更可靠的工作稳定性。

发明内容

针对上述问题,本发明提供了一种基于DSP+FPGA多通道SJA1000的CAN通讯系统及方法,能够快速获取大量数据,快速处理并作出正确决策,使CAN总线通讯系统更加实时稳定。

为实现上述目的,本发明提供了一种基于DSP+FPGA多通道SJA1000的CAN通讯系统,包括:依次连接的DSP芯片、FPGA和电平转换芯片,以及与所述电平转换芯片连接的一个或多个SJA1000;

所述DSP芯片,用于:

接收外部设备传来的数据,对数据进行处理;

对FPGA进行读写操作;

所述FPGA,用于:

通过译码解析DSP写入的指令及数据;

对一个或多个SJA1000进行读写操作;

所述电平转换芯片,用于:

将FPGA输出的信号电平转换为5V,驱动SJA1000;

通过片选信号实现对多个SJA1000的读写;

所述SJA1000,用于:

根据FPGA写入的指令,将有效数据发送到CAN总线或从CAN总线获取数据。

作为本发明的进一步改进,所述DSP芯片通过EMIF总线与FPGA相连,将所述EMIF总线中CE1分配给Flash,CE2分配给FPGA。

作为本发明的进一步改进,所述DSP通过EMIF总线与FPGA约定地址锁存信号ALE、读有效RD、写有效WR的操作地址,FPGA通过对DSP地址锁存信号ALE、读有效RD、写有效WR的操作地址的读写操作,获取DSP的指令及数据。

作为本发明的进一步改进,所述FPGA的地址锁存信号ALE、读有效RE、写有效WR、复位信号RDSET和数据地址线AD均连接电平转换芯片,电平转换芯片输出的地址锁存信号ALE、读有效RE、写有效WR的信号线和数据地址线AD共同连接至一个或多个SJA1000;

所述电平转换芯片的多个片选CS信号线分别连接多个SJA1000。

作为本发明的进一步改进,所述FPGA通过对片选CS信号线获取的地址进行逻辑译码实现区分不同的SJA1000。

作为本发明的进一步改进,所述SJA1000的数据地址线AD分时复用,所述SJA1000根据从FPGA获取信号的时序,确定从CAN总线获取或发送数据。

作为本发明的进一步改进,所述FPGA通过输出地址锁存信号ALE、读有效RE、写有效WR的信号线和数据地址线AD至一个或多个SJA1000,控制一个或多个SJA1000的地址锁存信号、芯片使能信号、读有效、写有效及地址数据的时序。

作为本发明的进一步改进,根据片选对不同SJA1000进行初始化,初始化后将SJA1000调整为INTEL模式。

作为本发明的进一步改进,多个所述SJA1000信号输出端均连接电阻,用于消除高频信号传播中形成的反射波;所述电阻可采用芯片替代,实现电阻可调。

本发明还提供了一种基于如上所述系统的CAN通讯实现方法,包括步骤:

DSP接收外部设备传来的数据并进行处理;

DSP通过EMIF总线向FPGA发送指令和数据;

FPGA通过译码解析DSP从EMIF总线传来的指令和数据,并向电平转换芯片输出解析后的数据;

电平转换芯片将FPGA信号线的电压转换为SJA1000适用的电压后,根据片选向指定SJA1000发送解析后的数据;

SJA1000将解析后的数据传输至CAN总线。

与现有技术相比,本发明的有益效果为:

本发明选择的DSP作为数据处理元件,通过EMIF总线与FPGA相连,实现DSP与FPGA数据命令交换,通过电平转换芯片,FPGA实现对多个SJA1000的读写操作;

本发明通过电平转换芯片进行片选以及地址译码,实现多通道的CAN总线通讯,显著减少了系统的连线,简化了系统硬件设计;

本发明可自主选择是否接入匹配电阻以及通过芯片替代电阻使电阻方便可调,提高了系统数据传输的抗干扰能力以及数据处理的高效性。

附图说明

图1为本发明一种实施例公开的基于DSP+FPGA多通道SJA1000的CAN通讯系统电平连接示意图;

图2为本发明一种实施例公开的基于DSP+FPGA多通道SJA1000的CAN通讯方法流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合附图对本发明做进一步的详细描述:

如图1所示,本发明提供的一种基于DSP+FPGA多通道SJA1000的CAN通讯系统,包括:依次连接的DSP芯片、FPGA和电平转换芯片,以及与电平转换芯片连接的一个或多个SJA1000;其中,DSP芯片可采用TI公司的高性能处理芯片TMS320C6713,具有较强的数据处理能力;FPGA的型号可选则10M08SC;

DSP芯片可以接收外部设备传来的数据并通过EMIF总线与FPGA相连,将EMIF总线中CE1分配给Flash,用于自启动,CE2分配给FPGA,用于对FPGA进行读写操作,进一步的,DSP通过EMIF总线与FPGA约定地址锁存信号ALE、读有效RD、写有效WR的操作地址,FPGA通过对DSP地址锁存信号ALE、读有效RD、写有效WR的操作地址的读写操作,获取DSP的指令及数据。

FPGA用于通过译码解析DSP写入的指令及数据和对多个SJA1000进行读写操作。FPGA的地址锁存信号ALE、读有效RE、写有效WR、复位信号RDSET和数据地址线AD均连接电平转换芯片。

电平转换芯片用于将FPGA输出的信号电平转换为5V驱动SJA1000,并通过片选信号实现对多个SJA1000的读写。电平转换芯片输出的地址锁存信号ALE、读有效RE、写有效WR的信号线和数据地址线AD共同连接至一个或多个SJA1000,且电平转换芯片通过多个片选CS信号线分别连接多个SJA1000,控制一个或多个SJA1000的地址锁存信号、芯片使能信号、读有效、写有效及地址数据的时序;进一步的,FPGA通过对片选CS信号线获取的地址进行逻辑译码实现区分不同的SJA1000。

SJA1000用于根据FPGA写入的指令,将有效数据发送到CAN总线或从CAN总线获取数据。SJA1000的数据地址线AD分时复用,在INTEL模式下,由ALE、RE、WR和CS共同来区分地址与数据,在ALE下降沿时获取地址,在WR上升沿时获取数据,在RD下降沿输出数据,因此,SJA1000根据从FPGA获取信号的时序,确定从CAN总线获取或发送数据。系统搭建时,需要根据片选对不同SJA1000进行初始化,由于SJA1000内部寄存器初始化必须在复位模式下才能进行。因此,在对SJA1000进行初始化时,必须进入复位模式,根据片选来对不同SJA1000进行初始化,在其进入复位模式后,分别对内部寄存器MOD,总线时序0寄存器BTR0、总线时序1寄存器BTR1、时钟分频寄存器CDR、输出控制寄存器OCR、中断使能寄存器IER、命令寄存器CMR、验收代码寄存器ACRn、验收屏蔽寄存器AMRn进行配置。配置结束后,回到INTEL模式,等待数据的发送或接收,实现CAN总线的传输方式。初始化后将SJA1000调整为INTEL模式。

每个SJA1000信号输出端均连接电阻,用于消除高频信号传播中形成的反射波;电阻可采用芯片替代,如采用型号为MAX3059的芯片,使用芯片替代电阻,可以实现电阻调节。

如图2所示,本发明还提供了一种基于如上系统的CAN通讯实现方法,包括步骤:

DSP接收外部设备传来的数据并进行处理;

DSP通过EMIF总线向FPGA发送指令和数据;

FPGA通过译码解析DSP从EMIF总线传来的指令和数据,并向电平转换芯片输出解析后的数据;

电平转换芯片将FPGA信号线的电压转换为SJA1000适用的电压后,根据片选向指定SJA1000发送解析后的数据;

SJA1000将解析后的数据传输至CAN总线。

本发明的优点:

(1)选择的DSP作为数据处理元件,通过EMIF总线与FPGA相连,实现DSP与FPGA数据命令交换,通过电平转换芯片,FPGA实现对多个SJA1000的读写操作;

(2)通过电平转换芯片进行片选以及地址译码,实现多通道的CAN总线通讯,显著减少了系统的连线,简化了系统硬件设计;

(3)可自主选择是否接入匹配电阻以及通过芯片替代电阻使电阻方便可调,提高了系统数据传输的抗干扰能力以及数据处理的高效性。

(4)本发明的CAN总线通讯系统采用DSP+FPGA作为核心处理单元,通过对DSP软件编程和FPGA逻辑模块的设计实现了多通道CAN总线之间的通讯,可用于完成目标探测和控制系统与遥测系统之间的实时通讯。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号