原创 邮箱级中断

2013-1-16 16:53 1068 14 14 分类: 处理器与DSP
u每个邮箱具有一个中断屏蔽位(MIM[31..0])和一个中断等级位(MIL[31..0])。如果要允许邮箱的接收/发送中断,MIMn必须置位。
u在一个报文被接收(RMPn=1——接收邮箱)/个报文被成功发送(TAn=1——发送邮箱),一个中断将被发出。
u如果邮箱被配置成远程请求邮箱(CANMDn=1/MSGCTRL.RTR=1,当接收到一个应答报文时,发出一个中断。
u如果一个邮箱自动应答一个RTR请求,当成功发送一个应答报文(CANMD=0/AAM=1),则发出一个中断。
u如果相应的中断没有被屏蔽,接收报文挂起(RMP)和发送确认(TA)将置位GMIF0/GMIF1,此时GMIF1/GMIF0将产生一个中断。且在MIV1/MIV0中存储的是最高优先级的邮箱号。
u如果通过设置发送命令(TRRn)成功终止了挂起的报文,终止确认(AAn)和终止确认标志(AAIF)将会置位,发出一个中断请求(AAIM=1屏蔽自动中断禁止)。清除Aan将清除AAIF0/AAIF1标志位。
u当一个报文丢失,那么接收报文丢失寄存器(RMLn)将被置位,且接收报文丢失中断(RMLIF0/RMLIF1)将会置位。如果需要产生一个报文丢失中断,那么此中断屏蔽必须被置位(RMLIM=1)。清除RMLn寄存器不会清除RMLIF0/RMLIF1寄存器,两个寄存器需要分别清除。
u每个邮箱都与一个报文对象连接到一起---à超时寄存器(MOTO)。如果超时时间发生(TOSn=1),如果超时屏蔽位禁止(MTOM=1),超时中断将会发出到两个中断线的其中一条上。

文章评论0条评论)

登录后参与讨论
我要评论
0
14
关闭 站长推荐上一条 /2 下一条