rh850与r7f7的关系
RH850和R7F7都是日本Renesas Electronics公司推出的两个不同系列的汽车微控制器。
RH850系列是一种高性能的汽车微控制器系列,专为车身控制、发动机控制、电动驱动系统和安全系统等应用而设计。它采用了Renesas的RISC(Reduced Instruction Set Computer)架构,并具有高性能、高可靠性和低功耗的特点。RH850系列微控制器通常用于高级驾驶辅助系统(ADAS)、自动驾驶系统以及其他需要较高计算性能和实时响应的汽车应用。
而R7F7系列则是一种具有高集成度的汽车微控制器系列,它采用了ARM Cortex-M7内核,并且集成了丰富的外设和功能,包括高分辨率模拟输入、高速ADC和CAN-FD接口等。R7F7系列微控制器适用于车身电子控制单元(ECU)、仪表盘、车载娱乐系统和车门控制等应用。
RH850系列主要是面向高性能和高级应用的汽车微控制器,而R7F7系列则是面向高集成度和广泛应用的汽车微控制器。两者在技术架构、性能特点和应用领域等方面存在差异。
如何使用RH850系列MCU进行开发
本文向工程师简单介绍RH850系列MCU的中断部分,以帮助工程师更好的使用RH850系列MCU进行开发。
RH850的中断从功能上分为三种,FE级不可屏蔽中断,FE级可屏蔽中断,以及EI级可屏蔽中断。其中FE级代表芯片功能性的中断,以辅助工程师了解MCU内部出错的来源。EI级可屏蔽中断中断是我们定义的各个功能模块所产生的中断。
三者的优先级顺序为:FE级不可屏蔽中断 》 FE级可屏蔽中断 》 EI级可屏蔽中断。
FE级不可屏蔽中断:在芯片R7F7010323中表现为两个WDT中断,任何情况不可屏蔽。
FE级可屏蔽中断:包括位错误,RAM错误,以及低压检查等中断,可设置PSW.NP=1来屏蔽该种类型中断。
EI级可屏蔽中断:即是我们定义的功能性中断如CAN接收中断,定时器中断等。
其中EI级可屏蔽中断即是我们最常接触的中断,在RH850中最高可分为16个优先等级。每个EI级中断,以功能模块命名,如定时器TAUD0的通道2中断命名为INTTAUD0I2。中断配置相关的寄存器为ICTAUD0I2。
系统中默认以优先级形式进入中断入口,中断入口函数定义可参照如下程序:
#pragma interrupt priority7_interrupt( enable=false , priority=EIINT_PRIORITY7 , callt=false , fpu=false )
void priority7_interrupt( uint32_t regEIIC_value )
{
test = regEIIC_value;
switch ( regEIIC_value )
{
case 0x0000100AUL: /* INTADCA0I0 *
*/
break;
}
此外系统中也定义了宏定义来方便我们处理中断操作:
DI():关闭EI级中断
EI():允许EI级中断
也可以调用以下内置函数set_il_rh来配置中断优先级和屏蔽使能功能:
1、函数__set_il_rh(int interrupt-priority-level, void* address of interrupt control register);设置对应地址中断的中断优先级,
interrupt-priority-level 范围0~15。
2、以上的函数 interrupt-priority-level值如下表格时,对应的功能如下:
图:中断屏蔽功能选项
在RH850系列微控制器中,中断处理是实现实时响应和多任务处理的重要机制。以下是RH850 MCU中断处理的基本步骤:
1. 中断源配置:RH850 MCU提供了多个中断源,包括外部中断、定时器中断、串口中断等。在使用中断之前,需要配置中断源,并设置中断触发条件。
2. 中断向量表:RH850 MCU的中断处理通过中断向量表来确定中断服务程序的入口地址。中断向量表是一个存储中断向量地址的数据结构,用于将特定的中断源与相应的中断服务程序关联起来。
3. 中断服务程序编写:针对每个中断源,需要编写相应的中断服务程序。中断服务程序是处理中断事件的函数,当相应的中断源触发时,CPU会跳转到中断向量表中相应的入口地址,并从那里开始执行中断服务程序。
4. 中断优先级配置:RH850 MCU支持多级中断优先级。在同时发生多个中断时,CPU会根据中断优先级来确定哪个中断先被处理。可以通过配置中断优先级来确保重要的中断优先级高于其他中断。
5. 中断使能:在需要使用中断的地方,需要将相应的中断源使能。使能中断后,当对应的中断源触发时,CPU才会跳转执行相应的中断服务程序。
6. 中断处理:当中断源触发时,CPU会自动暂停当前的任务,保存相关的寄存器状态,并跳转到中断向量表中相应的入口地址,开始执行中断服务程序。在中断服务程序中,可以进行特定的中断处理操作,如读取外设数据、处理中断事件、更新状态等。
7. 中断结束:中断服务程序执行完成后,需要将中断服务程序的返回地址从堆栈中恢复,并恢复之前被保存的寄存器状态。此时,CPU会从中断被触发的地方继续执行之前的任务。
需要注意的是,中断处理需要考虑实时性和对共享资源的正确处理,以确保中断不会出现冲突和竞态条件。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !