CN107168902A - 一种利用dma实现高速can波特率的自动识别方法 - Google Patents

一种利用dma实现高速can波特率的自动识别方法 Download PDF

Info

Publication number
CN107168902A
CN107168902A CN201710299681.XA CN201710299681A CN107168902A CN 107168902 A CN107168902 A CN 107168902A CN 201710299681 A CN201710299681 A CN 201710299681A CN 107168902 A CN107168902 A CN 107168902A
Authority
CN
China
Prior art keywords
dma
baud rate
signal
receives
speed
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
Application number
CN201710299681.XA
Other languages
English (en)
Other versions
CN107168902B (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.)
Anhui Huipeng New Energy Technology Co.,Ltd.
Original Assignee
Beijing Ou Peng Bach New Energy Polytron Technologies Inc
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 Ou Peng Bach New Energy Polytron Technologies Inc filed Critical Beijing Ou Peng Bach New Energy Polytron Technologies Inc
Priority to CN201710299681.XA priority Critical patent/CN107168902B/zh
Publication of CN107168902A publication Critical patent/CN107168902A/zh
Application granted granted Critical
Publication of CN107168902B publication Critical patent/CN107168902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/4013Management of data rate on the bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Abstract

本发明公开了一种利用DMA实现高速CAN波特率的自动识别方法,DMA采集输入管脚的电平,所述DMA接收CAN.RX的数据信号;所述DMA接收定时器发射的高频率的信号;所述DMA每接收一次信号,就读取一次IO输入寄存器,并将其值写入RAM中。本发明相比现有技术的优点在于:(1)DMA一般用于通讯过程中,外设与内存间自动数据传输,极少用于I/O端口的数据采集。但是在波特率检测这种特殊情况下,这种特殊的用法有不可替代的优点。(2)因为是DMA直接读取外设管脚的寄存器,对CAN接收管脚没有其他要求。(3)由于不需要进中断,CPU资源占用少,采样速率高,且采样结果准确。

Description

一种利用DMA实现高速CAN波特率的自动识别方法
技术领域
本发明涉及检测CAN波特率技术领域,尤其涉及一种利用DMA实现高速CAN波特率的自动识别方法。
背景技术
在一些应用场合中,需要ECU控制器做CAN波特率自动适配。ECU控制器在发送数据前,先监听一段总线数据,通过对总线电平变化规律的分析,估算出CAN总线目前的波特率,确定波特率后再连接到总线。
目前通过ECU做CAN波特率自动适配主要有以下几种方案:(1)波特率枚举法:ECU不断的修改CAN控制器的波特率,直到CAN控制器接收到有效数据为止。缺点:波特率识别比较慢,若遇到ECU晶振不准或被识别总线采用非常规波特率,会出现波特率无法识别的问题。(2)接收管脚中断法:关闭CAN控制器,开启接收管脚中断,在中断中记录管脚变化的时间戳。积累一定数据后通过分析时间戳来估算CAN波特率。缺点:需要在中断中记录时间戳,误差比较大;不支持高速率的CAN总线(>500Kbit/S)。(3)接收管脚捕获法:关闭CAN控制器,开启接收管脚捕获功能,当接收管脚电平发生变化时,通过定时器的捕获功能获得时间戳,在捕获中断中记录这个时间戳。积累一定数据后通过分析时间戳来估算CAN波特率。缺点:CAN通讯管脚不一定有定时器捕获功能,如果使用MCU外部连线就提高了电路复杂度,因为需要在中断中记录时间戳,同样不支持高速率的CAN总线(>500Kbit/S)。
发明内容
本发明的目的在于克服现有技术的不足,提供了一种利用DMA实现高速CAN波特率的自动识别方法。
本发明是通过以下技术方案实现的:一种利用DMA实现高速CAN波特率的自动识别方法,DMA采集输入管脚的电平,其特征在于,所述DMA接收CAN.RX的数据信号;所述DMA接收定时器TIMER发射的高频率的信号;所述DMA每接收一次信号,就读取一次IO输入寄存器,并将其值写入RAM中;
包括以下步骤:
(1)首先DMA采集输入管脚的电平,由于不需要进入中断,可以获得更高频率的数据采样率;
(2)通过配置定时器TIMER,以一个很高的频率向DMA发送信号,DMA每接收一次信号,就读取一次IO输入寄存器,并将其值写入RAM中;
(3)因为数据采样的频率很快,为了防止RAM溢出,主程序只要定期的检查队列中是否有变化的数据,分析其数据表征的CAN接收管脚电平,即可分析出对应的CAN波特率。
作为本发明的优选方式之一,所述DMA以环形队列的方式操作RAM,防止RAM的溢出。
作为本发明的优选方式之一,所述的高频率的典型值为10MHz。
作为本发明的优选方式之一,所述定时器TIMER为CCU6的定时器。
本发明相比现有技术的优点在于:(1)DMA一般用于通讯过程中,外设与内存间自动数据传输,极少用于I/O端口的数据采集。但是在波特率检测这种特殊情况下,这种特殊的用法有不可替代的优点。(2)因为是DMA直接读取外设管脚的寄存器,对CAN接收管脚没有其他要求。(3)由于不需要进中断,CPU资源占用少,采样速率高,且采样结果准确。
附图说明
图1是本发明的示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例1
如图1所示:一种利用DMA实现高速CAN波特率的自动识别方法,DMA采集输入管脚的电平,所述DMA接收CAN.RX的数据信号;所述DMA接收定时器TIMER发射的高频率的信号;所述DMA每接收一次信号,就读取一次IO输入寄存器,并将其值写入RAM中;当DMA采集数据频率比较高时,因为对MCU总线的占用,会一定程度上降低CPU的执行速度,但波特率检查只在接入总线后较短的一段时间内执行,并不会对系统照成很大的影响;
包括以下步骤:
(1)首先DMA采集输入管脚的电平,由于不需要进入中断,可以获得更高频率的数据采样率;
(2)通过配置定时器TIMER,以一个很高的频率向DMA发送信号,DMA每接收一次信号,就读取一次IO输入寄存器,并将其值写入RAM中;
(3)因为数据采样的频率很快,为了防止RAM溢出,主程序只要定期的检查队列中是否有变化的数据,分析其数据表征的CAN接收管脚电平,即可分析出对应的CAN波特率。
作为本发明的优选方式之一,所述DMA以环形队列的方式操作RAM,防止RAM的溢出。
作为本发明的优选方式之一,所述的高频率的典型值为10MHz。
作为本发明的优选方式之一,所述定时器TIMER为CCU6的定时器。
本发明在AURIX TC265硬件基础上,使用CCU6的定时器作为图1中定时器TIMER,首先对CCU6的定时器进行配置,使其每0.1us秒产生一个硬件事件:
用此配置设置好CCU6的定时器后,挂接硬件事件与DMA:
然后配置DMA的工作模式为:
启动DMA后,数据缓冲pinStateBuffser中始终保存着最近0.5mS内管脚变化的情况,对pinStateBuffser中的数据稍作分析,即可得到CAN通讯的波特率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种利用DMA实现高速CAN波特率的自动识别方法,DMA采集输入管脚的电平,其特征在于,所述DMA接收CAN.RX的数据信号;所述DMA接收定时器发射的高频率的信号;所述DMA每接收一次信号,就读取一次IO输入寄存器,并将其值写入RAM中;
具体包括以下步骤:
(1)首先DMA采集输入管脚的电平,不需要进入中断;
(2)通过配置定时器,以一个很高的频率向DMA发送信号,DMA每接收一次信号,就读取一次IO输入寄存器,并将其值写入RAM中;
(3)主程序只要定期的检查队列中是否有变化的数据,分析其数据表征的CAN接收管脚电平,即分析出对应的CAN波特率。
2.根据权利要求1所述的利用DMA实现高速CAN波特率的自动识别方法,其特征在于,所述DMA以环形队列的方式操作RAM。
3.根据权利要求1所述的利用DMA实现高速CAN波特率的自动识别方法,其特征在于,所述的高频率的典型值为10MHz。
4.根据权利要求1所述的利用DMA实现高速CAN波特率的自动识别方法,其特征在于,所述定时器为CCU6的定时器。
CN201710299681.XA 2017-05-02 2017-05-02 一种利用dma实现高速can波特率的自动识别方法 Active CN107168902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710299681.XA CN107168902B (zh) 2017-05-02 2017-05-02 一种利用dma实现高速can波特率的自动识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710299681.XA CN107168902B (zh) 2017-05-02 2017-05-02 一种利用dma实现高速can波特率的自动识别方法

Publications (2)

Publication Number Publication Date
CN107168902A true CN107168902A (zh) 2017-09-15
CN107168902B CN107168902B (zh) 2020-01-21

Family

ID=59812660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710299681.XA Active CN107168902B (zh) 2017-05-02 2017-05-02 一种利用dma实现高速can波特率的自动识别方法

Country Status (1)

Country Link
CN (1) CN107168902B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656172A (zh) * 2018-12-24 2019-04-19 深圳市道通科技股份有限公司 一种获取波特率的方法、装置
CN111427818A (zh) * 2020-03-26 2020-07-17 重庆智慧水务有限公司 一种识别串口通信波特率的方法及可读取存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897594A (zh) * 2005-12-27 2007-01-17 上海大学 基于微控制器的usb-can总线适配器
CN101404732A (zh) * 2008-10-13 2009-04-08 深圳创维-Rgb电子有限公司 数字图像采集系统
CN101969392A (zh) * 2010-08-24 2011-02-09 北京交通大学 适用于公交电子站牌系统的数据传输设备
CN103856384A (zh) * 2012-12-05 2014-06-11 英飞凌科技股份有限公司 位定时对称化
CN106569047A (zh) * 2015-10-09 2017-04-19 惠州市德赛西威汽车电子股份有限公司 一种车载can总线的分析装置及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897594A (zh) * 2005-12-27 2007-01-17 上海大学 基于微控制器的usb-can总线适配器
CN101404732A (zh) * 2008-10-13 2009-04-08 深圳创维-Rgb电子有限公司 数字图像采集系统
CN101969392A (zh) * 2010-08-24 2011-02-09 北京交通大学 适用于公交电子站牌系统的数据传输设备
CN103856384A (zh) * 2012-12-05 2014-06-11 英飞凌科技股份有限公司 位定时对称化
CN106569047A (zh) * 2015-10-09 2017-04-19 惠州市德赛西威汽车电子股份有限公司 一种车载can总线的分析装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
卢雷: "CAN总线汽车车身控制系统通信的研究", 《中国优秀硕士论文全文数据库信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656172A (zh) * 2018-12-24 2019-04-19 深圳市道通科技股份有限公司 一种获取波特率的方法、装置
WO2020135331A1 (zh) * 2018-12-24 2020-07-02 深圳市道通科技股份有限公司 一种获取波特率的方法、装置
CN111427818A (zh) * 2020-03-26 2020-07-17 重庆智慧水务有限公司 一种识别串口通信波特率的方法及可读取存储介质
CN111427818B (zh) * 2020-03-26 2023-04-14 重庆智慧水务有限公司 一种识别串口通信波特率的方法及可读取存储介质

Also Published As

Publication number Publication date
CN107168902B (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
US20100281309A1 (en) Power Management Events Profiling
CN103412634B (zh) 一种soc芯片的mcu唤醒装置和方法
CN102438010B (zh) 用于流送数据剖析的方法和装置
CN101238383A (zh) Gps处理装置
US20100049880A1 (en) Circuits and Methods for Reliable Automatic USB Speed Detection
KR20050071515A (ko) 성능 모니터와 그를 위한 방법
CN112291520A (zh) 异常事件识别方法、装置、存储介质及电子装置
CN107168902A (zh) 一种利用dma实现高速can波特率的自动识别方法
CN103197139A (zh) 时钟频率测试方法和时钟频率测试电路
CN109871344B (zh) 通讯系统、接口电路及其传输信号的方法
CN104917645A (zh) 一种在线检测报文传输超时的方法与装置
CN103226169A (zh) 一种用于无线唤醒电路的方波检测器
CN117009185A (zh) 一种总线监测方法、装置、片上系统及设备
CN105474584B (zh) Can fd帧结束检测器及检测方法、can位流处理器及操作方法
CN110073311A (zh) 时钟门控启用生成
CN111049718B (zh) Can总线模拟监控方法
CN116955242A (zh) 一种单总线通信方法、存储介质及智能终端
KR101735590B1 (ko) 트랜잭션 추출 장치 및 방법
CN105528300B (zh) 一种ddr内存控制器及其访问监控方法
CN114691448A (zh) 应用程序卡顿监测方法、装置、设备及存储介质
CN109766028B (zh) 一种红外触摸屏触控分管系统和方法
US8745455B2 (en) Providing an on-die logic analyzer (ODLA) having reduced communications
CN116938451B (zh) 一种密码运算方法、装置、片上系统及设备
KR102343139B1 (ko) 어노멀리 검출방법 및 그 장치
CN116627495A (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
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220411

Address after: 238014 No. 01, Guangtong automobile company yard, Huashan Industrial Park, Chaohu Economic Development Zone, Hefei, Anhui Province

Patentee after: Anhui Huipeng New Energy Technology Co.,Ltd.

Address before: 102200 No. 2031, No. 7, Chuangxin Road, science and Technology Park, Changping District, Beijing

Patentee before: BEIJING OFFNENBACH NEW ENERGY POLYTRON TECHNOLOGIES Inc.