CN112162730B - 一种实现多功能can总线通信的dsp软件设计方法 - Google Patents

一种实现多功能can总线通信的dsp软件设计方法 Download PDF

Info

Publication number
CN112162730B
CN112162730B CN202011062975.9A CN202011062975A CN112162730B CN 112162730 B CN112162730 B CN 112162730B CN 202011062975 A CN202011062975 A CN 202011062975A CN 112162730 B CN112162730 B CN 112162730B
Authority
CN
China
Prior art keywords
dsp
user
flash
software
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011062975.9A
Other languages
English (en)
Other versions
CN112162730A (zh
Inventor
黄莹
康盼
朱政
张慧勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Specialized Machinery
Original Assignee
Beijing Institute of Specialized Machinery
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Specialized Machinery filed Critical Beijing Institute of Specialized Machinery
Priority to CN202011062975.9A priority Critical patent/CN112162730B/zh
Publication of CN112162730A publication Critical patent/CN112162730A/zh
Application granted granted Critical
Publication of CN112162730B publication Critical patent/CN112162730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

本发明涉及一种实现多功能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号码识别不同工作模式,将不同功能软件重构为一个软件,大大节约了软件管理和维护成本。

Description

一种实现多功能CAN总线通信的DSP软件设计方法
技术领域
本发明属于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值识别并进入指定的工作模式。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (4)

1.一种实现多功能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;
所述步骤三中的所述DSP软件从DSP片上的所述FLASH的两个固定地址中读取ID值,根据读取结果初始化所述CAN控制器具体包括:所述DSP软件分别读出DSP片上的所述FLASH的两个固定地址中ADDR_1和ADDR_2中的ID值,判断是否均等于ID_USER,若相等则根据ID_USER重新初始化CAN控制器,初始化完成对外发送一帧数据,用来提示用户ID设置成功;不相等说明ID写入过程发生错误,使用默认ID通过CAN总线对外发送一帧数据,用来提示用户ID设置失败,用户根据该提示信息重新设置ID。
2.如权利要求1所述的实现多功能CAN总线通信的DSP软件设计方法,其特征在于,所述步骤一中用户通过CAN总线发送设置ID指令具体包括如:用户使用计算机根据上述当前ID通过CAN总线发送设置ID指令,该指令中包括有ID值ID_USER。
3.如权利要求1所述的实现多功能CAN总线通信的DSP软件设计方法,其特征在于,所述步骤二具体包括:所述DSP软件判断是否收到用户设置ID指令,若收到用户设置ID指令,解析得到ID值ID_USER,将ID_USER分别写入所述DSP片上的所述FLASH的两个固定地址ADDR_1和ADDR_2中。
4.如权利要求1所述的实现多功能CAN总线通信的DSP软件设计方法,其特征在于,所述步骤三中的根据ID值进入不同工作模式具体包括:DSP软件根据ID值,识别并进入对应的工作模式,其中,用户可为每个ID值预定义对应的工作模式,从而可以根据ID值识别并进入指定的工作模式。
CN202011062975.9A 2020-09-30 2020-09-30 一种实现多功能can总线通信的dsp软件设计方法 Active CN112162730B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011062975.9A CN112162730B (zh) 2020-09-30 2020-09-30 一种实现多功能can总线通信的dsp软件设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011062975.9A CN112162730B (zh) 2020-09-30 2020-09-30 一种实现多功能can总线通信的dsp软件设计方法

Publications (2)

Publication Number Publication Date
CN112162730A CN112162730A (zh) 2021-01-01
CN112162730B true CN112162730B (zh) 2024-04-23

Family

ID=73860870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011062975.9A Active CN112162730B (zh) 2020-09-30 2020-09-30 一种实现多功能can总线通信的dsp软件设计方法

Country Status (1)

Country Link
CN (1) CN112162730B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150118466A (ko) * 2014-04-14 2015-10-22 주식회사 어서 네트워크의 자동 구성을 제공하는 무선 통신 모듈 및 방법
CN106789210A (zh) * 2016-12-12 2017-05-31 中国船舶重工集团公司第七0五研究所 一种基于can总线的多dsp智能节点软件在线升级方法
WO2017088531A1 (zh) * 2016-03-28 2017-06-01 中车青岛四方车辆研究所有限公司 TigerSharc系列DSP启动管理芯片及方法
CN109725621A (zh) * 2017-10-27 2019-05-07 北京精密机电控制设备研究所 一种基于1553b总线和can总线的二级总线程序在线烧写方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150118466A (ko) * 2014-04-14 2015-10-22 주식회사 어서 네트워크의 자동 구성을 제공하는 무선 통신 모듈 및 방법
WO2017088531A1 (zh) * 2016-03-28 2017-06-01 中车青岛四方车辆研究所有限公司 TigerSharc系列DSP启动管理芯片及方法
CN106789210A (zh) * 2016-12-12 2017-05-31 中国船舶重工集团公司第七0五研究所 一种基于can总线的多dsp智能节点软件在线升级方法
CN109725621A (zh) * 2017-10-27 2019-05-07 北京精密机电控制设备研究所 一种基于1553b总线和can总线的二级总线程序在线烧写方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于DSP内嵌ECAN模块的总线接口设计;闫海明;冯源;田苗;;现代电子技术(11);全文 *

Also Published As

Publication number Publication date
CN112162730A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
SE9002703D0 (sv) Anordning vid distribuerat datorsystem
US11175928B2 (en) Master-slave configuration communication protocol, method for improving compatibility, and electronic device
CN109451098A (zh) Fpga加速卡mac地址配置方法、装置及加速卡
CN101196819A (zh) 一种片上系统芯片自适应启动设备的方法
CN112231251B (zh) 板卡槽位识别方法、装置、通信设备及可读存储介质
CN112162730B (zh) 一种实现多功能can总线通信的dsp软件设计方法
CN101138158B (zh) 通信协议模拟装置
CN116032746B (zh) 资源池的信息处理方法及装置、存储介质及电子装置
CN103412838A (zh) 一种扩展系统、通信方法、地址配置方法、设备及装置
CN115599727A (zh) 一种pcie设备带宽分配方法及相关装置
CN112100111B (zh) 一种多awg板卡的控制方法
CN110658808B (zh) 分立板卡式控制器的功能模块在线诊断识别电路及方法
CN113805672A (zh) 一种双flash主板、应用其的电子设备及其设计方法
CN216848728U (zh) 数据读写装置、模块及设备
CN113961500B (zh) 一种iic总线从控制器及其工作方法
CN114548342A (zh) 卡座系统、检测方法、控制设备及支付终端
CN113553275B (zh) 连接关系确定的方法、装置、设备及存储介质
CN220085381U (zh) 一种远程读写串口设备的装置
CN214253206U (zh) 可兼容SDIO与USB接口的wifi模组
CN217718675U (zh) Pcie接口、主板以及pcie扩展模块
US11841809B1 (en) System and method for in situ debug
CN111641419B (zh) 终端的射频功率放大器的版本识别方法、控制方法及系统
US11200195B2 (en) Method and device for the initial programming of a secondary computer
CN106713521B (zh) 一种基于广播方式来查找i2c设备地址的方法
CN1326148A (zh) 电子装置,采用该装置的单元,以及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant