矽力杰已于近期正式推出符合ISO26262 ASIL-B等级的基于ARM Cortex-M4F内核的SA32Bxx系列MCU,以满足车身系统、汽车仪表、门窗座椅控制、车灯控制、空调控制、低压BMS等应用需求。在众多应用中,AUTOSAR常被提及并作为车规MCU软件生态的重要一环。
AUTOSAR的体系中,和硬件密切相关的部分是MCAL,MCAL的全称是Microcontroller Abstractions Layer,也被称为是微控制抽象层,在AUTOSAR基础软件中属于最底层,其中包含有MCU的外设驱动,MCAL层通常是由芯⽚⼚商开发并提供。矽力杰此次正式推出配套的AUTOSAR MCAL软件包,以满足需要使用AUTOSAR生态开发的相关应用需求。
AUTOSAR体系结构在最⾼抽象层上区分了三个软件层: Application(应⽤程序)、Runtime Environment(运⾏时环境)和Basic Software(基础软件)。
AUTOSAR基础软件进⼀步分为Services(服务层)、ECU Abstraction(ECU抽象层)、Microcontroller Abstraction(微控制器抽象层)和Complex Drivers(复杂驱动层)。
微控制器抽象层(MCAL)
即与实际微处理器间的连接,位于AUTOSAR BSW的最底层,⽤于映射微处理器的功能和外围接⼝。
矽力杰MCAL软件以及子模块的说明
Notes:目前的MCAL版本为4.3.1
*AUTOSAR各个模块及 Silergy MCAL的各个子模块示意图
矽力杰MCAL模块大致可以分为:基础模块、功能模块、CDD_DRV模块、CDD_SAFETY。
以上所有模块真正做到了软件的规范化和高通用性,以便客户可以通过最简洁的方式集成我们的MCAL。所有模块从设计到开发再到测试均严格按照内部规范流程,皆通过完善的静态、单元、集成测试,体现了矽力杰MCAL软件开发的高质量性。
MCAL代码包及其配套文件
以下是针对各子模块的一个概要说明:
1) MCU驱动模块
MCU驱动提供的服务如下:
-软件置位;
-选择微处理器的状态(停止、休眠、挂起等);
-配置唤醒行为;
-管理内部PLL时钟单元;
-给RAM相关地址赋初始值;
2) WDG驱动模块
该模块为控制和触发看门狗硬件提供服务,由看门 狗管理模块(WdgM)调用。
3) GPT驱动模块
通用定时器驱动提供了访问片内定时器的接口,用于控制器周期性和单一事件。
4) PORT驱动模块
该模块负责微处理中所有Port的初始化工作。
5) DIO驱动模块
数字输入输出驱动提供访问DIO通道、DIO端口和 DIO通道组的读写服务。
6) ADC驱动模块
ADC驱动用于抽象访问模数转换器。对于每一个输 入通道,其转换参数可配置。
7) CAN驱动模块
CAN驱动用于CAN控制器的抽象访问,负责报文发 送和接收以及CAN控制器不同状态(休眠/停止等)的切换。
8) CRC驱动模块
Cyclic Redundancy Check(CRC)驱动是为了给 芯片内数据在传输过程中接收方能够接收到准确的数据提供数据传输检错的功能。
9) Crypto驱动模块
加密驱动提供标准化的加密功能和安全密钥/证书存储的接口,为汽车电子系统提供一个标准的接口来调用底层的加密硬件。
10) FEE模块
Flash模拟EEPROM模块,处于内存硬件抽象层(Memory Hardware Abstraction),与Fls模块配合完 成掉电数据保存。
11) FLS驱动模块
Flash驱动提供独立于硬件访问flash内存的机制,其提供的接口服务可以用于读写、比较和擦除flash块。
12) LIN驱动模块
LIN驱动提供初始化报文发送(报头、响应、休眠模式和唤醒)的服务,同时还负责接收响应,检查当前状态和验证唤醒事件。
13) PWM驱动模块
PWM驱动提供初始化和控制微控制器中的PWM通道的服务。
14) SPI驱动模块
负责处理SPI串口数据交换,主要用于MCU与外部高速器件(例如外部FLASH、SBC)的数据交互。
15) CDD_I2C驱动模块*
负责处理I2C串口数据交换,主要用于MCU与外部指令器件(例如外部EEPROM、外部看门狗等)的数据交互。
16) CDD_UART驱动模块*
该模块负责处理UART串口数据交换,主要用于MCU与外部特定器件的数据交互,也可作为Debug的通信口。
17) CDD_DMA驱动模块*
该模块使系统在CPU 最小干预的情况下,执行复杂高效的数据块传输,以支持高波特率、高实时性通信。
18) CDD SAFETY模块*
该模块以SAFETY PACK形式呈现,可满足功能安全ASIL-B等级的要求,使用者默认了解ISO2626并已阅读《SA32Bxx_series_safety_manual》。
*对于CDD_Drv和SAFETY模块矽力杰提供详细的集成指南(详情请联系矽力杰代理商及FAE)
AUTOSAR各模块都可以灵活的配置,无论是模块本身还是模块内部的子模块,甚至通用参数也需要高度可配置以满足不同项目的需求。矽力杰 SA32Bxx系列芯片MCAL支持基于AUTOSAR标准架构的系统开发,使用EB Tresos Studio进行灵活的配置,可大大提高软件的复用率,降低开发和维护的门槛,也方便整车厂、Tier1或其他第三方合作伙伴基于矽力杰MCU进行应用开发。
来源:矽力杰半导体
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。