本文将介绍TC389 CAN/LIN配置集成指导,包括输入依赖项、配置项、测试检查项等等。
1.工具链
a、编译环境(工程代码 + 编译器)
b、BSW配置工具(NeuSar + BSW配置工程)
c、MCAL配置工具(EBTresos26.2.0 + Mcal配置工程)
2.输入资料
a、硬件原理图/硬件layout(MCAL配置需要)
b、网络拓扑图
c、通信规范(Lin的主从类型需要)
d、通信矩阵(包含波特率、CAN类型等参数选择)
e、系统框图(硬件CAN与客户功能对应关系)
f、Port Assignment(MCAL配置需要)
3.决策项
a、Can收发器类型(SBC自带还是外置)
b、Can Tranceiver的实现(MCAL自带/BSW自带/CDD开发)
c、CAN/LIN通信的路数(开发时间/测试时间)
4.配置项
4.1 CAN
a、General
b、CanController
以BODYCAN为例,系统框图中CAN2对应BODYCAN,通过MCU Port Assignment查到MCU_CAN2_RX引脚复用模式为CAN00_RXDB,对应的BaseAddress为0xF0208100,如下图:
TC3xx Controller base address List
故对CAN2进行配置如下:
根据相应通信规范要求设置波特率
c、CanHardwareObject
本文将Hardware Object配为FIFO模式,具体如下:
若对应CAN Controller配为Polling模式,还需配置对应的CanMainFunctionRWPeriod,如下:
d、对Port模块的依赖
通过硬件原理图及Port Assignment,查到MCU_CAN2对应的TX/RX port分别为P20.8/P20.7,故在Port模块中做如下配置:
除此之外,要想在总线上接收到报文,还需要将对应收发器使能,查到MCU_CAN2_STB对应的引脚为P01.14,故对P01.14配置如下:
e、对中断的依赖
若相应CAN Controller配为中断模式,则需要添加中断相关的配置,具体的配置内容需要根据BSW工具链进行选择配置Irq模块或者OS。
4.2 LIN
a、General
b、LinChanel
c、对port口的依赖
通过硬件原理图及Port Assignment,查到MCU_LIN1对应的TX/RX port分别为P15.0/P15.1,故在Port模块中做如下配置:
同样,要想在总线上接收到报文,还需要对应收发器正常工作,这里不再累述。
d、对中断的依赖
若使能LinMaster中断,则需要添加中断相关的配置,具体的配置内容需要根据BSW工具链进行选择配置Irq模块或者OS。
e、对Mcu的依赖
除了时钟相关的配置外,还需要关注McuAscLinChannelAllocationConf配置项,ASCLIN可以复用为UART或LIN,此处将ASCLIN配为LIN。
PS:详细的配置项解释及配置指导可参考英飞凌官网下载的Infineon-MC-ISAR_AS422_TC3xx_2.20.0-UserManual-v01_00-EN,里面对相应的软硬件映射、模块依赖关系及具体配置项含义做了详细解释。
5.集成项
TO DO
6.测试检查项
a、Port口配置是否正确(检查对应关系/测量引脚电压是否正常)
b、收发器配置是否正确(引脚工作电压是否正常)
7.避坑小妙招
1.EBTresos的限制,所有的HRH配置在前,HTH配置在后。
2.与SBC Tranceiver连接的Can节点,如果配置无错误的情况下一直不通,存在SBC相关引脚一直拉高MCU_Tx电平的情况,需要Tranceiver正常工作才行。