文章目录
前言
网上关于Autosar Communication的资料很多,BSW工具导入通信矩阵文件(DBC or Arxml)后大部分内容也都可以自动生成。但其中的一些配置网上说的不是很清楚。本文记录Davinci CAN通信硬件配置中的一些需要与芯片手册强相关的关键项,。应用的单片机为Tc27x系列。
CAN硬件配置
Tc27x系列有四个CAN Node,256个Message Objects
以can0为例:
原理图:
datesheet:
CAN I/O配置-NPCRx.RXSEL
芯片手册P2326/5063
Physical Node:Node0,
NPCR.RXSEL寄存器配置:二进制000对应的就是CAN0,引脚P02.1(RX)P02.0(TX)
CAN Base寄存器配置
配置CAN base地址:
CAN Node0对应的Base地址:
CAN中断源配置
中断传输链路
CAN控制器中断通过**INT_Om(m:0-15)**传递给中断路由模块,中断路由模块传递给CPU or DMA。
中断最终都通过INT_O输出。
SRC_CANINT与INT_O映射关系
Figure 22-33 Interrupt Compressor
•CAN节点中断:—4个CAN节点每个节点5个不同的中断源= 5 * 4个中断源
•消息对象中断:—每个消息对象2个中断源= 2 * 256个中断源
•一个寄存器(MITR),通过软件发起16个中断
这个图里的CAN Node应该画错了,应该是5个触发.
Message Object也可以触发INT_O0-15,有寄存器MOIPR可以配置
CAN中断触发方式
SRC_CANINT0-15对应INT_O0-15
SRC Base
选择中断源控制寄存器,0-15对应SRC_CANINT0-15
Type of Serivce Control -CPU0 对应SRC寄存器中的TOS(Type of Serivce Control )
Os中断服务源编号Isr Interrupt Source
中断服务源编号,offset:2304对应0x900,对应的就是SRC_CANINT0
理论上来说CAN Node0-3应该不一定需要和SRC_CANINT0-15对应。但一般都是0对应的0,1对应1.这样是肯定没问题的.
总结
本文介绍的并不是所有的配置项,只是部分个人觉得比较重要的,和芯片手册相关的内容。
参考资料:
Infineon-TC27x_D-step-UM-v02_02-EN.pdf
Infineon-TC27xDC-DataSheet-v01_00-EN.pdf
若你觉得本文对你有帮助,欢迎点赞,关注,收藏,转发~~~
你的鼓励是对小弟的最大支持~~~
建了一个WX公众h,《汽车电子学习笔记》感兴趣可以关注一下~~~文章都会同步更新~