公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

【AURIXTM读书笔记】好看的皮囊千篇一律,有趣的灵魂万里挑一(2)

【AURIXTM读书笔记】好看的皮囊千篇一律,有趣的灵魂万里挑一(2)

混森蓝兽
Level 2
Level 2
50 comments on blog 25 comments on blog 10 comments on blog

书籍:《英飞凌多核单片机应用技术:AURIXTM三天入门篇》

读书笔记概括:单片机的灵魂在于:IO,中断,定时器。IO是一个基础,中断和定时器是两个精髓。稳扎一个基础点,向两个精髓靠拢,建立良好的学习体系,深入学习,加强交流,才能实现最终的学以致用的目标。

    如果MCU没有中断,用人来设想一下:你在吃面条,背后有人给你来了一刀,你毫无波澜甚至有些想笑的继续吃面条,等面条吃完了,你才反应过来:“卧.槽,疼死我了,是谁下的黑刀”?

    将中断系统比喻成MCU灵魂的一部分组成,我觉得这是没问题的,毕竟中断系统给单片机带来了无与伦比的活力,给单片机以快速反应外界干扰的能力,在很大程度上提高了单片机实时处理能力。

    在GDI发动机控制中,存在着大量的中断事件,而作为主控器的AURIX TC275T必然拥有着强大的中断系统,来应对各种中断触发信号。

    AURIX TC275T的中断系统有以下特点:

中断源请求多打512/1024个

每个中断控制单元支持高达255个优先级

支持高达16个中断管理单元

每个CPU和DMA都有单独的中断管理单元

每个CPU有四个通用中断请求,用于软件中断

中断系统模块:中断路由管理模块

    中断三要素:中断节点,中断优先级,中断服务者(包括CPU0,CPU1,CPU2,DMA)

    TC275一共有四个中断服务者,每个中断服务者都有自己单独的中断控制单元,负责管理节点发向该中断服务者的请求。每个中断控制单元包含两个寄存器:LWSR和LASR.

LWSR:上次中断胜出寄存器,功能是提供上次仲裁的结果。

LASR:上次已服务中断节点信息寄存器,提供上次中断服务者完成服务的中断节点的信息。

    同一时间段,可能会有多个中断请求发生,而中断服务者只能处理其中一个请求,所以中断系统里需要一个仲裁机制。每个中断控制单元都有自己的中断总线。每当有中断请求挂起的时候,中断总线便开始进行仲裁,每个仲裁周期是三个总线时钟。ICU根据仲裁结果,将优先级最高的请求,发送给中断服务者进行处理。

    当中断服务者开始执行中断服务程序的时候,中断管理单元会处于无中断请求可用的状态,如此,在中断服务程序没执行完之前,中断服务者不会再接受到新的服务请求。

书中只是简单介绍了TC275的中断系统的大体组成以及中断处理流程,不过实际的中断应用,应该会复杂许多。然后书本附带的例程里面没有单独的中断例程,源码阅读理解,略过。

    每次提到中断,总能和轮询来对比,中断固然很美,轮询却也是不可少的,两者结合,才能更好的让单片机适用在各个场合。

    顺带贴一段网友对中断和轮询的描述:

    轮询,顾名思义,CPU不停的询问,CPU很忙。

    中断,是硬件上的,就像一个开关被按下了,没有什么东西在不停的询问开关有没有被按下,开关只是被按下了,就通电了,通电了就会发生一些事情。


0 点赞
2330 次查看
5 评论