全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > MEMS传感器 >

AUTOSAR BSW之IO概述

时间:2023-07-17 14:40

人气:

作者:admin

标签:   概述  BSW    AUTOSAR 

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

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一般都是这么来搞的

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信