CN112764813A - 基于can通讯的软件示波器系统及其控制方法 - Google Patents
基于can通讯的软件示波器系统及其控制方法 Download PDFInfo
- Publication number
- CN112764813A CN112764813A CN202110036704.4A CN202110036704A CN112764813A CN 112764813 A CN112764813 A CN 112764813A CN 202110036704 A CN202110036704 A CN 202110036704A CN 112764813 A CN112764813 A CN 112764813A
- Authority
- CN
- China
- Prior art keywords
- oscilloscope
- sampling
- data
- communication
- module
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000005070 sampling Methods 0.000 claims abstract description 75
- 230000005540 biological transmission Effects 0.000 claims abstract description 34
- 230000003139 buffering effect Effects 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 abstract description 7
- 238000011217 control strategy Methods 0.000 abstract description 3
- 230000008859 change Effects 0.000 abstract description 2
- 238000011161 development Methods 0.000 description 4
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种基于CAN通讯的软件示波器系统及其控制方法,所述系统包括:CAN硬件初始化模块:初始化芯片上的CAN底层配置;示波器指令接收模块:接收上位机的示波器参数配置指令;示波器参数配置模块:通过这些参数来控制数据的采样和缓冲发送开始和停止;变量采样模块:根据上位机写入的采样间隔、采样通道数来采样示波数据,并将采样的数据保存在内存的缓冲队列中;数据缓冲发送模块:按照顺序写入CAN底层硬件寄存器并发送到CAN总线。本发明可以作为软件专业开发人员调试电机控制器的控制策略、观测软件内部变量的工具,能够快速便捷的方式监测软件在实际的运行过程中内部变量的变化过程和趋势。
Description
技术领域
本发明涉及汽车电机控制器观测技术领域,尤其涉及一种基于CAN通讯的软件示波器系统及其控制方法。
背景技术
随着半导体芯片的飞速发展,微型计算机应用越来越广泛,嵌入式软件为实现各种功能应用被集成在各类硬件系统中,嵌入式软件前期的调试对开发人员来说也是一项复杂精细的工作,在各种MCU上通常都有JTAG调试口,开发人员通常使用这个接口实现前期的软件功能调试、FLASH编程,然而在实际的硬件系统中,如变频器、伺服、汽车电机控制器等,需要根据电机或者应用工况监测控制系统的内部变量,以实现最优的控制策略,在这些实时控制系统的前期开发带电机运行时,通常不允许在软件的调试中有断点,因为断点位置不合适可能造成功率器件IGBT开关控制处于常开状态损坏控制器,或者控制程序突然停滞而导致电机飞车等等意外,同时汽车控制器在前期的调试过程中都是密封装配在车辆内部,不能通过JTAG口来调试和观测内部软件变量,这给车辆调试带来极大的不方便。整车上通常预留了CAN通讯调试接口用来调试和刷写软件。
现有的JTAG调试口在这些实时控制系统的前期开发带电机运行时,通常不允许在软件的调试中有断点,因为断点位置不合适可能造成功率器件IGBT开关控制处于常开状态损坏控制器,或者控制程序突然停滞而导致电机飞车等等意外,同时汽车控制器在前期的调试过程中都是密封装配在车辆内部,不能通过JTAG口来调试和观测内部软件变量。对这种无法使用JTAG口观测内部变量的场合,利用CAN通讯实现的软件示波器可将内部变量值反馈至总线上,再通过通用的USB接口的CAN卡将数据送至PC,经过上位机处理成波形显示,这种示波器不受外部硬件系统的限制,在软件处于正常运行时可随时监控内部变量,给软件调试人员分析问题带来了极大的方便。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于CAN通讯的软件示波器系统及其控制方法,以作为软件专业开发人员调试电机控制器的控制策略、观测软件内部变量的工具。
为了解决上述技术问题,本发明实施例提出了一种基于CAN通讯的软件示波器系统,包括:
CAN硬件初始化模块:初始化芯片上的CAN底层配置,保证示波数据传输的物理通道连通;
示波器指令接收模块:接收上位机通过CAN总线发送来的示波器参数配置指令;
示波器参数配置模块:将接收的配置参数保存在MCU本地内存中,通过这些参数来控制数据的采样和缓冲发送开始和停止;
变量采样模块:根据上位机写入的采样间隔、采样通道数来采样示波数据,采样时间的控制由MCU内部的定期器控制,对配置的采样通道变量进行周期性的采样,并将采样的数据保存在内存的缓冲队列中;
数据缓冲发送模块:在数据缓冲完成后将采样的数据按照顺序写入CAN底层硬件寄存器并发送到CAN总线。
进一步地,CAN硬件初始化模块在初始化时将通讯的波特率配置为500Kbit/s。
进一步地,示波器配置参数包括示波通道数、通道变量采样时间间隔、示波器数据传输启动、示波器数据传输停止、示波器数据传输复位中的一种或多种。
进一步地,变量采样模块中采样的缓冲数据根据采样的时间先后入队,采用先进先出的模式。
相应地,本发明实施例还提供了一种基于CAN通讯的软件示波器系统的控制方法,包括:
CAN硬件初始化步骤:初始化芯片上的CAN底层配置,保证示波数据传输的物理通道连通;
示波器指令接收步骤:接收上位机通过CAN总线发送来的示波器参数配置指令;
示波器参数配置步骤:将接收的配置参数保存在MCU本地内存中,通过这些参数来控制数据的采样和缓冲发送开始和停止;
变量采样步骤:根据上位机写入的采样间隔、采样通道数来采样示波数据,采样时间的控制由MCU内部的定期器控制,对配置的采样通道变量进行周期性的采样,并将采样的数据保存在内存的缓冲队列中;
数据缓冲发送步骤:在数据缓冲完成后将采样的数据按照顺序写入CAN底层硬件寄存器并发送到CAN总线。
进一步地,CAN硬件初始化步骤中,在初始化时将通讯的波特率配置为500Kbit/s。
进一步地,示波器配置参数包括示波通道数、通道变量采样时间间隔、示波器数据传输启动、示波器数据传输停止、示波器数据传输复位中的一种或多种。
进一步地,变量采样步骤中,采样的缓冲数据根据采样的时间先后入队,采用先进先出的模式。
本发明的有益效果为:本发明在各种芯片平台上都能快速实现,使得嵌入式软件开发调试人员在开发调试过程中又多了一种快速便捷的方式监测电机控制器软件在实际的运行过程中内部变量的变化过程和趋势,对软件问题定位,尤其在一些无法使用JTAG口调试的场合提高了效率。
附图说明
图1是本发明实施例的基于CAN通讯的软件示波器系统的结构示意图。
图2是本发明实施例的基于CAN通讯的软件示波器系统的控制方法的流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本发明作进一步详细说明。
本发明实施例中若有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中若涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
请参照图1,本发明实施例的基于CAN通讯的软件示波器系统包括CAN硬件初始化模块、示波器指令接收模块、示波器参数配置模块、变量采样模块、数据缓冲发送模块。
CAN硬件初始化模块:初始化芯片上的CAN底层配置,保证示波数据传输的物理通道连通。CAN硬件初始化模块通常在上电时执行一次即可,或者在CAN通道出现故障时执行,以复位CAN硬件模块。软件示波器数据传输物理层基于CAN,通讯速率可调整,通常为500Kbit/s,调整成实际可用范围内的最大值,可以提高示波器数据的采样率。
示波器指令接收模块:接收上位机通过CAN总线发送来的示波器参数配置指令,如示波通道数、通道变量采样时间间隔、示波器数据传输启动、示波器数据传输停止、示波器数据传输复位等命令。
示波器参数配置模块:将接收的配置参数保存在MCU本地内存中,通过这些参数来控制数据的采样和缓冲发送开始和停止。即通过这些参数来控制采样数据的通道、采样周期、发送缓冲周期、数据传输启动、数据传输停止。
变量采样模块:根据上位机写入的采样间隔、采样通道数来采样示波数据,采样时间的控制由MCU内部的定期器控制,对配置的采样通道变量进行周期性的采样,并将采样的数据保存在内存的缓冲队列中。
数据缓冲发送模块:在数据缓冲完成后将采样的数据按照顺序写入CAN底层硬件寄存器并发送到CAN总线。
数据发出之后,上位机即可通过CAN卡接收到示波器数据帧,进而对数据解析形成波形显示在PC界面上。
作为一种实施方式,CAN硬件初始化模块在初始化时将通讯的波特率配置为500Kbit/s。
作为一种实施方式,变量采样模块中采样的缓冲数据根据采样的时间先后入队,采用先进先出的模式。
请参照图2,本发明实施例的基于CAN通讯的软件示波器系统的控制方法包括CAN硬件初始化步骤、示波器指令接收步骤、示波器参数配置步骤、变量采样步骤、数据缓冲发送步骤。
CAN硬件初始化步骤:初始化芯片上的CAN底层配置,保证示波数据传输的物理通道连通。通常在上电时执行一次即可,或者在CAN通道出现故障时执行,以复位CAN硬件模块,在初始化CAN 外设时将通讯的波特率配置成实际可用范围内的最大值,可以提高示波器数据的采样率,通常配置成500Kbit/s。
示波器指令接收步骤:接收上位机通过CAN总线发送来的示波器配置参数指令。
示波器参数配置步骤:将接收的配置参数保存在MCU本地内存中,通过这些参数来控制数据的采样和缓冲发送开始和停止。即通过这些参数来控制采样数据的通道、采样周期、发送缓冲周期、数据传输启动、数据传输停止。
变量采样步骤:根据上位机写入的采样间隔、采样通道数来采样示波数据,采样时间的控制由MCU内部的定期器控制,对配置的采样通道变量进行周期性的采样,并将采样的数据保存在内存的缓冲队列中。缓冲数据根据采样的时间先后入队,采用先进先出的模式。
数据缓冲发送步骤:在数据缓冲完成后将采样的数据按照顺序写入CAN底层硬件寄存器并发送到CAN总线。
作为一种实施方式,示波器配置参数包括示波通道数、通道变量采样时间间隔、示波器数据传输启动、示波器数据传输停止、示波器数据传输复位中的一种或多种。
本发明可在不同架构的芯片上实现,只需要芯片带有CAN硬件模块外部硬件系统支持CAN通讯即可,为了提高软件示波器的采样率,可以通过选用处理速度更快的芯片平台,同时硬件系统上也需要采用更快的CAN收发芯片。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。
Claims (8)
1.一种基于CAN通讯的软件示波器系统,其特征在于,包括:
CAN硬件初始化模块:初始化芯片上的CAN底层配置,保证示波数据传输的物理通道连通;
示波器指令接收模块:接收上位机通过CAN总线发送来的示波器参数配置指令;
示波器参数配置模块:将接收的配置参数保存在MCU本地内存中,通过这些参数来控制数据的采样和缓冲发送开始和停止;
变量采样模块:根据上位机写入的采样间隔、采样通道数来采样示波数据,采样时间的控制由MCU内部的定期器控制,对配置的采样通道变量进行周期性的采样,并将采样的数据保存在内存的缓冲队列中;
数据缓冲发送模块:在数据缓冲完成后将采样的数据按照顺序写入CAN底层硬件寄存器并发送到CAN总线。
2.如权利要求1所述的基于CAN通讯的软件示波器系统,其特征在于,CAN硬件初始化模块在初始化时将通讯的波特率配置为500Kbit/s。
3.如权利要求1所述的基于CAN通讯的软件示波器系统,其特征在于,示波器配置参数包括示波通道数、通道变量采样时间间隔、示波器数据传输启动、示波器数据传输停止、示波器数据传输复位中的一种或多种。
4.如权利要求1所述的基于CAN通讯的软件示波器系统,其特征在于,变量采样模块中采样的缓冲数据根据采样的时间先后入队,采用先进先出的模式。
5.一种基于CAN通讯的软件示波器系统的控制方法,其特征在于,包括:
CAN硬件初始化步骤:初始化芯片上的CAN底层配置,保证示波数据传输的物理通道连通;
示波器指令接收步骤:接收上位机通过CAN总线发送来的示波器参数配置指令;
示波器参数配置步骤:将接收的配置参数保存在MCU本地内存中,通过这些参数来控制数据的采样和缓冲发送开始和停止;
变量采样步骤:根据上位机写入的采样间隔、采样通道数来采样示波数据,采样时间的控制由MCU内部的定期器控制,对配置的采样通道变量进行周期性的采样,并将采样的数据保存在内存的缓冲队列中;
数据缓冲发送步骤:在数据缓冲完成后将采样的数据按照顺序写入CAN底层硬件寄存器并发送到CAN总线。
6.如权利要求5所述的基于CAN通讯的软件示波器系统的控制方法,其特征在于,CAN硬件初始化步骤中,在初始化时将通讯的波特率配置为500Kbit/s。
7.如权利要求5所述的基于CAN通讯的软件示波器系统的控制方法,其特征在于,示波器配置参数包括示波通道数、通道变量采样时间间隔、示波器数据传输启动、示波器数据传输停止、示波器数据传输复位中的一种或多种。
8.如权利要求5所述的基于CAN通讯的软件示波器系统的控制方法,其特征在于,变量采样步骤中,采样的缓冲数据根据采样的时间先后入队,采用先进先出的模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110036704.4A CN112764813A (zh) | 2021-01-12 | 2021-01-12 | 基于can通讯的软件示波器系统及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110036704.4A CN112764813A (zh) | 2021-01-12 | 2021-01-12 | 基于can通讯的软件示波器系统及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112764813A true CN112764813A (zh) | 2021-05-07 |
Family
ID=75701622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110036704.4A Pending CN112764813A (zh) | 2021-01-12 | 2021-01-12 | 基于can通讯的软件示波器系统及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764813A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226339A (zh) * | 2007-12-28 | 2008-07-23 | 上海微电子装备有限公司 | 一种多采集通道的先进先出数据存储系统及其方法 |
CN104914769A (zh) * | 2015-06-19 | 2015-09-16 | 陕西法士特齿轮有限责任公司 | 一种基于can总线的数据采集系统及采集处理方法 |
CN106991065A (zh) * | 2017-03-31 | 2017-07-28 | 东莞博力威电池有限公司 | 通过usb上位机与带can和/或lin总线设备通讯的方法 |
CN107133011A (zh) * | 2017-04-25 | 2017-09-05 | 电子科技大学 | 一种示波记录仪的多通道数据存储方法 |
WO2018120617A1 (zh) * | 2016-12-30 | 2018-07-05 | 广州路派电子科技有限公司 | 一种基于汽车can总线数据采集系统的数据采集方法 |
-
2021
- 2021-01-12 CN CN202110036704.4A patent/CN112764813A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226339A (zh) * | 2007-12-28 | 2008-07-23 | 上海微电子装备有限公司 | 一种多采集通道的先进先出数据存储系统及其方法 |
CN104914769A (zh) * | 2015-06-19 | 2015-09-16 | 陕西法士特齿轮有限责任公司 | 一种基于can总线的数据采集系统及采集处理方法 |
WO2018120617A1 (zh) * | 2016-12-30 | 2018-07-05 | 广州路派电子科技有限公司 | 一种基于汽车can总线数据采集系统的数据采集方法 |
CN106991065A (zh) * | 2017-03-31 | 2017-07-28 | 东莞博力威电池有限公司 | 通过usb上位机与带can和/或lin总线设备通讯的方法 |
CN107133011A (zh) * | 2017-04-25 | 2017-09-05 | 电子科技大学 | 一种示波记录仪的多通道数据存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874224B (zh) | 自动搬运且适应器件的多线SPI-Flash控制器 | |
EP1754156B1 (en) | Data processing system with trace co-processor | |
US8065464B2 (en) | Method for transmitting data from and to a control device | |
US6230119B1 (en) | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit | |
US6119254A (en) | Hardware tracing/logging for highly integrated embedded controller device | |
US10789395B2 (en) | Simulation device for carrying out simulation based on robot program | |
CN104008008B (zh) | 一种Linux系统中复用调试串口的方法 | |
CN110109853A (zh) | 数据采集和处理装置及方法 | |
EP1031931A3 (en) | Universal serial bus interpreter | |
CN105095040B (zh) | 一种芯片调试方法与装置 | |
EP3885924A1 (en) | A processing system comprising a queued serial peripheral interface, related integrated circuit, device and method | |
US20110015890A1 (en) | Test apparatus | |
CN112565036A (zh) | 数据传输方法、装置、存储介质及通信系统 | |
CN112764813A (zh) | 基于can通讯的软件示波器系统及其控制方法 | |
CN106603113B (zh) | 一种雷达信号处理机对外通信控制系统 | |
CN111413899A (zh) | 基于swd的数据采集方法、系统及mcu | |
CN103809000B (zh) | 基于伺服驱动单元的数据处理方法 | |
CN115658415A (zh) | 一种芯片调试装置和方法 | |
CN114625677A (zh) | 数据访问系统、方法、上位机和工具mcu | |
CN106991022B (zh) | 一种基于扫描链的芯片分析方法 | |
US8166213B2 (en) | Controller with indirect accessible memory | |
US6330485B1 (en) | High-speed multi-task system | |
CN118035013A (zh) | 一种多种类通讯接口嵌入式装置的调试方法与设备 | |
EP2662777A2 (en) | Computer and input/output control method of computer | |
CN115150218A (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 |