本文主要是介绍AK传输协议学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文资料来自KMI25/2,KMI25/4的产品数据手册(KMI25_2_4.pdf),如有不对的地方,欢迎大家指正。
AK协议用于数据信号的传输,它是一种轮速传感器(WSS)和电子控制单元(ECU)的标准接口。由传感器产生的信号经过信号调理单元处理,产生速度信号和数据信号。
1 AK信号的定义
AK信号的格式如Fig 6所示。
一帧AK信号包含速度脉冲(speed pulse)和数据协议位(data protocol bits),对应着速度信号和数据信号。速度脉冲反映齿轮的结构,且可根据相邻两个速度脉冲的时间间隔算出轮速。数据协议位表示其他额外信息,比如旋转方向、场幅度(field amplitude)等内容。AK信号是通过改变电流的大小来传输数据,电流分为三级。高等级电流(I_CCH,HIGH-level supply current),一般取28mA,用于速度脉冲;中等级电流(I_CCM,MID-level supply current),一般取14mA,用于数据协议位;低等级电流(I_CCL,LOW-level supply current),一般取7mA,用于表示信号中的低电平。
当传感器检测到过零输入信号时(即检测到磁场为0),延时t_d(70~121us)后输出一个速度脉冲,脉冲宽度为t_p(通常为50us)。速度脉冲后面是数据协议位,最多有9个的数据单元。每个数据单元表示1位数据,所占时长为t_p。在速度脉冲和数据协议位的第一个数据单元之间存在t_p/2的时间间隔。
下图(Fig 7)是协议数据位的表示方法。在数据单元的时间段内,若检测到电流上升沿则表示数据1,电流下降沿表示数据0。若不存在电流边沿,则该位数据无效。
协议数据位最多有9位,每一位的定义如Table 4。
2 AK信号的两种状态
根据输入信号的频率不同,发出的AK信号将会有两种状态:低速运行和高速运行。
2.1 低速运行
当输入信号频率较低,以至于距离上次检测到过零输入信号的时间已超过T_stop(通常为150ms)时,仍未有新的过零输入信号出现,则将信号重新发送一遍,但速度脉冲用电流大小为I_CCM的人工速度脉冲代替。若继续T_stop后依然未检测到过零输入信号,继续重复发送。如果在1秒内没有检测到过零信号,或相关迟滞电平在250毫秒内没有通过,系统进入低速模式,协议数据位中的模式位(M)由0变为1。在重复发送信号时,若一帧信号还没发送完时检测到了过零信号输入,则发送新速度脉冲之前终止重复传输。因存在延时t_d,所以在检测到过零信号后正在发送的数据单元可以正常发送完毕,并且发送新速度脉冲前存在至少t_p/2的时间间隔。如Fig 8所示。
2.2 高速运行
当输入信号的频率很高时,速度脉冲后面的9个数据单元并不一定会全部发送,但正在发送的数据单元都可以正常发送完毕,而且每帧数据一定存在一个速度脉冲。这种运行状态和低速运行中重复发送信号的终止方式一致,如Fig 8所示。
3 相关参数
这篇关于AK传输协议学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!