01
概述
这里的IO不是指芯片的那种通用GPIO(只有高低电平的那种),这里说的I/O信号包括模拟信号和 数字信号 ,包括ADC、PWM、DIO等。

I/O Signal Interface :对数据进行初步处理,比如按键输入去抖动
Dirver for ext. ADC: ASIC:ASIC的缩写是Application Specific Integrated Circuit,特殊应用集成电路,外挂ADC芯片驱动。
Dirver for ext. I/O ASIC :外扩I/O口芯片
SPI Handle :一般外挂芯片通过SPI连接,这里就是讲SPI驱动进行封装
ADCPWMDIO :是MCAL驱动,一般由芯片厂商提供
在实际使用中,觉得之所以要弄一个I/O Hardware Abstraction的另外一个原因是,避免APP直接访问底层。实际都是把I/O Hardware Abstraction当做一个CDD来搞,里面的内容自己实现,在达芬奇工具中新建一个SWC,然后自己实现功能(比如实现去斗的操作)。

02
一个示例
MCU检测一个供电电压(KL30,12V),电路简图如下:

开个玩笑,要是直接12V怼在IO口,估计有可能烧片子,
一般是按下面的接法,采取分压电阻分压

假设ADC是12 bit的,ADC值范围是0-4096:

1) Adc_ReadGroup ,Adc_ReadGroup这个函数时ADC MCAL中提供的,用于读取原始的ADC值,假如是3724。
2) Get_SensorValue ,是IoHwAb中的一个Server runable,被Send_Voltage函数调用,在这里获取原始值,你可以做些滤波去斗处理,比如搞一个滑动平均值滤波。
3) Send_Voltage :传感器SWC调用Get_SensorValueADC值,最后计算得出真实的电压值,比如
3724 * 3.3 /4096 * 4 = 12V,X4是因为有分压电阻
所有的DIO、PWM、ADC一般都是这么来搞的
Sensirion和AirTeq合作推出新型室内空气质量...
时间:2026-03-19
可穿戴生物传感器厂商SIBIONICS推出SIBIO K...
时间:2026-03-19
使用RT-Thread和CPK-RA2L1采集DHT11温湿度
时间:2026-03-19
柔性触觉传感阵列+深度学习实现健康监测和纹...
时间:2026-03-19
医疗传感器有哪些_磁传感器在医疗健康领域中...
时间:2026-03-19
液压压力传感器原理及应用场合
时间:2026-03-19
地磁传感器在城市交通中的主要作用
时间:2026-03-19
新型传感器的检测方法
时间:2026-03-19
压电陶瓷传感器的特点及常见用途
时间:2026-03-19
液压传感器的构造及工作原理
时间:2026-03-19
玻璃釉电容器的结构与特点
时间:2026-03-05
碳膜电阻如何识别_金属膜电阻器和碳膜电阻器...
时间:2026-03-05
电阻的标称阻值和允许偏差
时间:2026-03-05
石英灯电子变压器电路原理
时间:2026-03-06
变压器并列运行的条件浅析
时间:2026-03-06
关于STM32WL LSE 添加反馈电阻后无法起振的...
时间:2026-03-05
贴片电阻怎么看阻值
时间:2026-03-05
压敏电阻有正负极吗
时间:2026-03-05
怎样测试三极管的好坏,NPN三极管如何知道是...
时间:2026-03-07
三极管的主要参数
时间:2026-03-07