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一般都是这么来搞的
函数发生器、信号发生器和波形发生器的区别
时间:2026-06-06
电子元器件的常见封装 各种封装类型的特点介...
时间:2026-06-06
普通光敏二极管的检测
时间:2026-06-06
详细介绍8种常用的排序算法
时间:2026-06-06
s9013三级管引脚图及参数
时间:2026-06-06
电压跟随器有什么作用?
时间:2026-06-06
VRRP是什么?VRRP的作用和工作原理
时间:2026-06-05
32768晶振封装尺寸详解
时间:2026-06-05
静态路由是什么?静态路由如何配置?
时间:2026-06-05
一文详解光耦的作用与分类、使用技巧
时间:2026-06-05
电阻的单位
时间:2026-03-05
NVIDIA CPU+GPU超级芯片大升级!
时间:2026-03-09
贴片电阻怎么看阻值
时间:2026-03-05
电阻的原理和作用 电阻色环识别图 电路中电...
时间:2026-03-09
什么是硅片或者晶圆?一文了解半导体硅晶圆
时间:2026-03-09
什么是室温超导?半导体时代将走向结束?芯...
时间:2026-03-09
半导体光刻工艺 光刻—半导体电路的绘制
时间:2026-03-09
HTCC:半导体封装的理想方式
时间:2026-03-06
一文详解MOS管驱动电路拓扑的设计
时间:2026-03-09
石英灯电子变压器电路原理
时间:2026-03-06