CN107168902A - 一种利用dma实现高速can波特率的自动识别方法 - Google Patents
一种利用dma实现高速can波特率的自动识别方法 Download PDFInfo
- 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
Links
Classifications
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
- H04L12/4013—Management of data rate on the bus
-
- 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
Abstract
本发明公开了一种利用DMA实现高速CAN波特率的自动识别方法,DMA采集输入管脚的电平,所述DMA接收CAN.RX的数据信号;所述DMA接收定时器发射的高频率的信号;所述DMA每接收一次信号,就读取一次IO输入寄存器,并将其值写入RAM中。本发明相比现有技术的优点在于:(1)DMA一般用于通讯过程中,外设与内存间自动数据传输,极少用于I/O端口的数据采集。但是在波特率检测这种特殊情况下,这种特殊的用法有不可替代的优点。(2)因为是DMA直接读取外设管脚的寄存器,对CAN接收管脚没有其他要求。(3)由于不需要进中断,CPU资源占用少,采样速率高,且采样结果准确。
Description
技术领域
本发明涉及检测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的定时器。
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)
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)
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总线的分析装置及方法 |
-
2017
- 2017-05-02 CN CN201710299681.XA patent/CN107168902B/zh active Active
Patent Citations (5)
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)
Title |
---|
卢雷: "CAN总线汽车车身控制系统通信的研究", 《中国优秀硕士论文全文数据库信息科技辑》 * |
Cited By (4)
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. |