本文作者:豆面

如何配置TJA1145芯片?

豆面 2024-12-01 11:02:49 17
如何配置TJA1145芯片?摘要: 配置TJA1145芯片需要了解其硬件连接、寄存器设置以及相关操作流程,以下是详细的配置步骤和解释:一、硬件连接1、电源连接:TJA1145的BAT引脚接12V电源,通过3V或5V电...

配置TJA1145芯片需要了解其硬件连接、寄存器设置以及相关操作流程,以下是详细的配置步骤和解释:

一、硬件连接

如何配置TJA1145芯片?

1、电源连接:TJA1145的BAT引脚接12V电源,通过3V或5V电压转换器连接到Wake引脚。

2、SPI接口连接:SDO、SDI、SCK、SCSN引脚用于通过SPI接口与主控制器通信。

3、CAN总线连接:将TJA1145的CANH和CANL引脚连接到物理双绞线CAN总线上。

4、唤醒引脚(WAKE):用于检测上升沿或下降沿信号以唤醒设备。

二、寄存器配置

1、模式控制寄存器(0x01):用于设置TJA1145的工作模式(Normal、Standby、Sleep)。

2、主状态寄存器(0x03):监控超温警告标志的状态。

3、系统事件使能寄存器(0x04):使能捕捉过温、SPI故障等事件。

4、CAN控制寄存器(0x20):配置是否过滤CAN FD帧、局域网配置标志位、选择唤醒使能、收发器状态等。

如何配置TJA1145芯片?

5、波特率设置(0x26):设置CAN通信的波特率。

6、特定帧唤醒的CAN ID(0x270x2A):设置特定帧唤醒功能的CAN报文ID。

7、标识寄存器(0x7E):获取硬件的ID。

三、配置流程

1、初始化部分

解锁寄存器,获取硬件ID号。

配置全局事件使能寄存器,按照需求分别使能系统事件、wake引脚事件、传输事件。

配置CAN收发寄存器,包括唤醒CAN ID、帧类型、数据长度等。

配置CAN控制寄存器,使能CAN选择唤醒功能、设置局域网配置OK标示位。

如何配置TJA1145芯片?

配置主控制寄存器,进入Normal状态;上锁寄存器。

读取寄存器,判断寄存器数据是否符合配置。

2、轮询部分

处理事件,如果有一些错误、非预期的状态出现,就要处理相关寄存器或者重新初始化。

根据上层指令,切换当前TJA1145的状态机。

四、休眠与唤醒

1、休眠配置

启用Partial Networking。

使能CAN选择性唤醒。

设置数据速率为500k。

配置帧控制寄存器,识别格式为标准帧。

使能CAN唤醒检测,使能唤醒pin脚上升沿检测。

清除所有事件状态位。

2、唤醒机制

TJA1145可以通过接收特定的唤醒源从Sleep或Standby模式唤醒到Standby或Normal模式。

唤醒源包括本地唤醒(如上升沿或下降沿)和远程唤醒(如特定CAN报文)。

唤醒后,INH引脚拉高,使能电源芯片给MCU供电。

五、注意事项

TJA1145设计为只支持特定CAN报文唤醒,不支持CAN FD唤醒,以防止仅在CAN通信时产生总线错误。

在切换到睡眠模式前,必须至少启用一个常规唤醒事件,并清除所有事件状态位。

确保MCU和TJA1145之间的SPI通信正常,可以通过读取设备ID来验证。

六、代码示例

以下是一些基本的读写寄存器的函数代码示例:

// SPI发送指令格式:7bit_address + 1bit_cmd + 8bit_data
uint8_t tja1145_write_regster(uint8_t reg_addr, uint8_t value) {
    uint8_t txdata[2] = {0};
    uint8_t rxData[2] = {0};
    reg_addr = reg_addr << 1;
    txdata[0] = reg_addr;
    txdata[1] = value;
    // SPI发送函数
    return LPSPI_DRV_MasterTransferBlocking(2, txdata, rxData, 2, 1000);
}
uint8_t tja1145_read_regster(uint8_t reg_addr) {
    uint8_t txdata[2] = {0};
    uint8_t rxData[2] = {0};
    reg_addr = (reg_addr << 1) | 0x01;
    txdata[0] = reg_addr;
    txdata[1] = 0xFF;
    // SPI接收函数
    LPSPI_DRV_MasterTransferBlocking(2, txdata, rxData, 2, 1000);
    return rxData[1];
}

七、常见问题解答

Q1: TJA1145如何实现低功耗设计?

A1: TJA1145支持多种工作模式,包括Normal、Standby和Sleep,Sleep模式是最低功耗状态,通过选择性唤醒功能可以有效降低系统的功耗。

Q2: TJA1145如何配置特定帧唤醒功能?

A2: 通过设置特定帧唤醒的CAN ID(寄存器0x270x2A),并配置CAN控制寄存器使能CAN选择唤醒功能,可以实现特定帧唤醒功能。

配置TJA1145芯片需要了解其硬件连接、寄存器设置以及相关操作流程,通过正确的配置和操作,可以实现TJA1145在汽车电子系统中的高效应用。

文章版权及转载声明

作者:豆面本文地址:https://www.jerry.net.cn/articals/1011.html发布于 2024-12-01 11:02:49
文章转载或复制请以超链接形式并注明出处杰瑞科技发展有限公司

阅读
分享