CN112162730A - 一种实现多功能can总线通信的dsp软件设计方法 - Google Patents
一种实现多功能can总线通信的dsp软件设计方法 Download PDFInfo
- Publication number
- CN112162730A CN112162730A CN202011062975.9A CN202011062975A CN112162730A CN 112162730 A CN112162730 A CN 112162730A CN 202011062975 A CN202011062975 A CN 202011062975A CN 112162730 A CN112162730 A CN 112162730A
- Authority
- CN
- China
- Prior art keywords
- dsp
- user
- software
- flash
- value
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000011161 development Methods 0.000 abstract description 4
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring 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总线通信领域,具体涉及一种实现多功能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 (6)
1.一种实现多功能CAN总线通信的DSP软件设计方法,其特征在于,所述DSP片上集成有FLASH和CAN控制器,该方法包括如下步骤:
步骤一、DSP软件初始化后使用默认ID,用户通过CAN总线发送设置ID指令;
步骤二、所述DSP软件接收设置ID指令后,将指令中的ID值写入DSP片上的所述FLASH的两个固定地址中;
步骤三、所述DSP软件从DSP片上的所述FLASH的两个固定地址中读取ID值,根据读取结果初始化所述CAN控制器,根据ID值进入不同工作模式。
2.如权利要求1所述的实现多功能CAN总线通信的DSP软件设计方法,其特征在于,所述步骤一中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。
3.如权利要求2所述的实现多功能CAN总线通信的DSP软件设计方法,其特征在于,所述步骤一中用户通过CAN总线发送设置ID指令具体包括如:用户使用计算机根据上述当前ID通过CAN总线发送设置ID指令,该指令中包括有ID值ID_USER。
4.如权利要求1所述的实现多功能CAN总线通信的DSP软件设计方法,其特征在于,所述步骤二具体包括:所述DSP软件判断是否收到用户设置ID指令,若收到用户设置ID指令,解析得到ID值ID_USER,将ID_USER分别写入所述DSP片上的所述FLASH的两个固定地址ADDR_1和ADDR_2中。
5.如权利要求1-4任一项所述的实现多功能CAN总线通信的DSP软件设计方法,其特征在于,所述步骤三中的所述DSP软件从DSP片上的所述FLASH的两个固定地址中读取ID值,根据读取结果初始化所述CAN控制器具体包括:所述DSP软件分别读出DSP片上的所述FLASH的两个固定地址中ADDR_1和ADDR_2中的ID值,判断是否均等于ID_USER,若相等则根据ID_USER重新初始化CAN控制器,初始化完成对外发送一帧数据,用来提示用户ID设置成功;不相等说明ID写入过程发生错误,使用默认ID通过CAN总线对外发送一帧数据,用来提示用户ID设置失败,用户根据该提示信息重新设置ID。
6.如权利要求5所述的实现多功能CAN总线通信的DSP软件设计方法,其特征在于,所述步骤三中的根据ID值进入不同工作模式具体包括:DSP软件根据ID值,识别并进入对应的工作模式,其中,用户可为每个ID值预定义对应的工作模式,从而可以根据ID值识别并进入指定的工作模式。
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 true CN112162730A (zh) | 2021-01-01 |
CN112162730B 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)
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总线的二级总线程序在线烧写方法 |
-
2020
- 2020-09-30 CN CN202011062975.9A patent/CN112162730B/zh active Active
Patent Citations (4)
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)
Title |
---|
闫海明;冯源;田苗;: "基于DSP内嵌ECAN模块的总线接口设计", 现代电子技术, no. 11 * |
Also Published As
Publication number | Publication date |
---|---|
CN112162730B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598632B (zh) | 一种光模块的固件升级方法及装置 | |
JP4896450B2 (ja) | 記憶装置 | |
US20030188091A1 (en) | Exchanging operation parameters between a data storage device and a controller | |
CN109451098A (zh) | Fpga加速卡mac地址配置方法、装置及加速卡 | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
CN112231251B (zh) | 板卡槽位识别方法、装置、通信设备及可读存储介质 | |
CN116032746B (zh) | 资源池的信息处理方法及装置、存储介质及电子装置 | |
CN112162730A (zh) | 一种实现多功能can总线通信的dsp软件设计方法 | |
CN112148629A (zh) | 用于在总线上寻址集成电路的方法和对应设备 | |
CN100483376C (zh) | 连接总线、电子设备、系统和用于连接的方法 | |
JPH1049478A (ja) | コンピュータシステム用の識別インタフェース | |
CN113468027B (zh) | 监测器件地址管理方法及装置、基板管理控制器、设备 | |
US20090119420A1 (en) | Apparatus and method for scaleable expanders in systems management | |
CN114661379A (zh) | 车载摄像头系统的解串器驱动程序改造方法及相关装置 | |
CN112860595A (zh) | Pci设备或pcie设备、数据存取方法及相关组件 | |
US8074023B2 (en) | In-system programming to switch memory access from one area to another in memory cards | |
US7447899B2 (en) | Method for conserving system resources | |
CN102082715A (zh) | 网卡重置的测试方法 | |
CN116775526B (zh) | 一种扩展装置及电子设备 | |
CN114489851B (zh) | 内存芯片的启动方法、装置、计算机设备及存储介质 | |
CN114579198B (zh) | 内存芯片的启动方法、装置、计算机设备及存储介质 | |
CN114548342A (zh) | 卡座系统、检测方法、控制设备及支付终端 | |
CN113553275B (zh) | 连接关系确定的方法、装置、设备及存储介质 | |
US11200195B2 (en) | Method and device for the initial programming of a secondary computer | |
CN220085381U (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 |