首页> 中国专利> 一种实现多功能CAN总线通信的DSP软件设计方法

一种实现多功能CAN总线通信的DSP软件设计方法

摘要

本发明涉及一种实现多功能CAN总线通信的DSP软件设计方法,属于CAN总线通信领域。本发明的DSP片上集成有FLASH和CAN控制器,DSP软件初始化后使用默认ID,用户通过CAN总线发送设置ID指令;DSP软件接收设置ID指令后,将指令中的ID值写入DSP片上的所述FLASH的两个固定地址中;DSP软件从DSP片上的所述FLASH的两个固定地址中读取ID值,根据读取结果初始化所述CAN控制器,根据ID值进入不同工作模式。本发明采用CAN总线通信设置节点ID,无需开发专门设置ID的串口上位机等工具;将ID存储在DSP的片上FLASH中,无需增加额外硬件存储电路,节省了印制板使用空间,降低了开发成本;利用ID号码识别不同工作模式,将不同功能软件重构为一个软件,大大节约了软件管理和维护成本。

著录项

  • 公开/公告号CN112162730A

    专利类型发明专利

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

    原文格式PDF

  • 申请/专利权人 北京特种机械研究所;

    申请/专利号CN202011062975.9

  • 发明设计人 黄莹;康盼;朱政;张慧勇;

    申请日2020-09-30

  • 分类号G06F8/20(20180101);G06F9/445(20180101);G06F13/16(20060101);G06F13/40(20060101);

  • 代理机构11011 中国兵器工业集团公司专利中心;

  • 代理人辛海明

  • 地址 100143 北京市海淀区西四环北路149号

  • 入库时间 2023-06-19 09:24:30

说明书

技术领域

本发明属于CAN总线通信领域,具体涉及一种实现多功能CAN总线通信的DSP软件设计方法。

背景技术

近年来,由于CAN总线自身的通信可靠性高、成本低和使用灵活等优势,逐渐在车载电子通信、军工航天等领域得到广泛应用。DSP数字处理芯片由于其计算速度快、信号采集及处理能力强大,被广泛应用于嵌入式系统中。

采用CAN总线通信需要为网络里每一个通信设备分配一个ID号码,现有的ID配置方式有以下4种:一是将ID固化到代码中,在软件初始化时完成ID配置;二是使用拨码开关设置ID,软件完成ID识别;三是主节点在每次系统上电后使用串口通信方式向每个从节点发送ID设置指令;四是通过串口上位机或其他方式向DSP发送ID设置指令,DSP软件使用EEPROM等外部存储器固化ID。方法一不能动态配置ID,只能通过修改代码方式重新配置ID,导致软件存在多个版本;方法二和方法三需要额外的硬件电路配合,增加了硬件设计和开发成本;方法四除了需要额外的硬件电路,还需要开发专门设置ID的串口上位机等工具。因此,以上4种方法均存在不足。

在软件设计时,若能实现多种工作模式,可将不同功能软件重构为一个软件,大大节约了软件管理和维护成本。

发明内容

(一)要解决的技术问题

本发明要解决的技术问题是如何提供一种实现多功能CAN总线通信的DSP软件设计方法,以克服现有的ID设置方法不能动态配置ID、需要额外的硬件电路、需要开发专门设置ID的串口上位机等问题。

(二)技术方案

为了解决上述技术问题,本发明提出一种实现多功能CAN总线通信的DSP软件设计方法,所述DSP片上集成有FLASH和CAN控制器,该方法包括如下步骤:

步骤一、DSP软件初始化后使用默认ID,用户通过CAN总线发送设置ID指令;

步骤二、所述DSP软件接收设置ID指令后,将指令中的ID值写入DSP片上的所述FLASH的两个固定地址中;

步骤三、所述DSP软件从DSP片上的所述FLASH的两个固定地址中读取ID值,根据读取结果初始化所述CAN控制器,根据ID值进入不同工作模式。

进一步地,所述步骤一中DSP软件初始化后使用默认ID具体包括如下步骤:当所述DSP上电时,所述DSP软件首先从所述DSP片上的所述FLASH的两个固定地址ADDR_1和ADDR_2中读取ID值,分别是ID_1和ID_2,并比较ID_1和ID_2是否相等且不等于-1,ID_1和ID_2相等且不等于-1则使用此ID值ID_1或ID_2,否则使用默认ID值ID_DEFAULT;然后初始化CAN控制器,初始化完成对外发送一帧数据,用来提示用户所述DSP已经具备CAN总线通信条件和当前ID号,其中,若未设置ID,所述DSP片上的所述FLASH两个固定地址中存储数据为-1。

进一步地,所述步骤一中用户通过CAN总线发送设置ID指令具体包括如:用户使用计算机根据上述当前ID通过CAN总线发送设置ID指令,该指令中包括有ID值ID_USER。

进一步地,所述步骤二具体包括:所述DSP软件判断是否收到用户设置ID指令,若收到用户设置ID指令,解析得到ID值ID_USER,将ID_USER分别写入所述DSP片上的所述FLASH的两个固定地址ADDR_1和ADDR_2中。

进一步地,所述步骤三中的所述DSP软件从DSP片上的所述FLASH的两个固定地址中读取ID值,根据读取结果初始化所述CAN控制器具体包括:所述DSP软件分别读出DSP片上的所述FLASH的两个固定地址中ADDR_1和ADDR_2中的ID值,判断是否均等于ID_USER,若相等则根据ID_USER重新初始化CAN控制器,初始化完成对外发送一帧数据,用来提示用户ID设置成功;不相等说明ID写入过程发生错误,使用默认ID通过CAN总线对外发送一帧数据,用来提示用户ID设置失败,用户根据该提示信息重新设置ID。

进一步地,所述步骤三中的根据ID值进入不同工作模式具体包括:DSP软件根据ID值,识别并进入对应的工作模式,其中,用户可为每个ID值预定义对应的工作模式,从而可以根据ID值识别并进入指定的工作模式。

(三)有益效果

本发明提出一种实现多功能CAN总线通信的DSP软件设计方法,采用CAN总线通信设置节点ID,无需开发专门设置ID的串口上位机等工具;将ID存储在DSP的片上FLASH中,无需增加额外硬件存储电路,节省了印制板使用空间,降低了开发成本。利用ID号码识别不同工作模式,将不同功能软件重构为一个软件,大大节约了软件管理和维护成本。

附图说明

图1为本发明的实现多功能CAN总线通信的DSP软件设计方法流程图。

具体实施方式

为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

本发明的目的在于提出一种实现多功能CAN总线通信的DSP软件设计方法,在不增加硬件电路和ID配置工具的情况下,采用DSP片上FLASH作为存储器并通过CAN总线完成ID配置,软件利用ID号码识别不同工作模式,从而实现了多种功能软件的整合。

按照本发明提供的技术方案,一种实现多功能CAN总线通信的DSP软件设计方法,DSP片上集成有FLASH和CAN控制器,包括如下步骤:

步骤一、DSP软件初始化后使用默认ID,用户通过CAN总线发送设置ID指令;

步骤二、软件接收设置ID指令后,将指令中的ID值写入DSP片上FLASH两个固定地址中;

步骤三、软件从DSP片上FLASH的两个固定地址中读取ID,根据读取结果初始化CAN控制器,根据ID值进入不同工作模式。

图1为本发明实施例的软件流程图,当DSP上电时,DSP软件首先从DSP片上FLASH的两个固定地址ADDR_1和ADDR_2中读取ID值,分别是ID_1和ID_2,并比较ID_1和ID_2是否相等且不等于-1(若未设置ID,DSP片上FLASH两个固定地址中存储数据为-1),ID_1和ID_2相等且不等于-1则使用此ID值ID_1或ID_2,否则使用默认ID值ID_DEFAULT;然后初始化CAN控制器,初始化完成对外发送一帧数据,用来提示用户DSP已经具备CAN总线通信条件和当前ID号。其中,DSP片上集成有CAN控制器和FLASH。

用户使用计算机根据上述当前ID通过CAN总线发送设置ID指令,该指令中包括有ID值ID_USER。

DSP软件判断是否收到用户设置ID指令,若收到用户设置ID指令,解析得到ID值ID_USER,将ID_USER分别写入DSP片上FLASH的两个固定地址ADDR_1和ADDR_2中。然后所述DSP软件分别读出DSP片上的所述FLASH的两个固定地址中ADDR_1和ADDR_2中的ID值,判断是否均等于ID_USER,若相等则根据ID_USER重新初始化CAN控制器,初始化完成对外发送一帧数据,用来提示用户ID设置成功;不相等说明ID写入过程发生错误,使用默认ID通过CAN总线对外发送一帧数据,用来提示用户ID设置失败,用户根据该提示信息重新设置ID。

最后根据ID值,识别并进入对应的工作模式。其中,用户可为每个ID预定义对应的工作模式,从而可以根据ID值识别并进入指定的工作模式。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号