本文框架
- 1. 前言
- 2. 基本概念
- 3. ICU采集过程
- 3.1 获取周期占空比
- 3.2 获取边沿数量
- 3.3 获取时间戳
- 4. Autosar系列文章快速链接
1. 前言
ICU驱动器是使用Input Capture Uint模块(ICU)解调PWM信号、计数脉冲、测量频率和占空比、生成简单中断以及唤醒中断的模块。ICU模块提供的功能包括:
1)信号边沿触发回调函数;
2) 控制唤醒中断;
3)周期信号的时间测量,周期占空比采集;
4) 边沿时间戳,可用于采集非周期信号;
5)边沿计数,即可以采集到上升沿/下降沿发生的次数。
其在autosar中的位置属于MCAL层的I/O驱动类:
2. 基本概念
Active Time: 激活边沿的时间,取决于要捕获的信号的起始边缘。
开始边沿=下降沿=>Active Time=低电平时间
开始边沿=上升沿=>Active Time=高电平时间
开始边沿=两个边沿=>Active Time=高电平时间(如果最初出现上升边缘)
开始边沿=两个边沿=>Active Time=低电平时间(如果最初出现下降边缘)
ICU State:ICU通道的状态,可能为ICU_ACTIVE或ICU_IDLE。
ICU_ACTIVE:ICU通道的输入状态为已检测到激活边缘。
ICU_IDLE :ICU通道未检测到激活边沿
3. ICU采集过程
3.1 获取周期占空比
在获取前需要的条件:
1)ICU 驱动已完成初始化
2)对应通道的测量模式为SignalMeasurement,信号采集属性为DutyCycle,并配置激活的边沿。
对应的时序图如下:
3.2 获取边沿数量
ICU模块除可以采集周期占空比信号外,还能获取边沿的数量,对应的时序图如下:
3.3 获取时间戳
4. Autosar系列文章快速链接
Autosar系列文章概览及快速链接