2304544_en-US

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2304544_en-US

2304544_en-US

CAN based WakeUp Transrecevier TJA1465

Hi 

I am using TJA1465 CAN SIC transceiver with partial networking for CAN Based Wake up

i have configure this with 500kbs bitrate and ID 0x18ff21b1 for CAN wake up using partial networking using SPI. But transreceiver wake ups for other bitrate also which is not configured in the Partial networking data rate and filter configuration register (address 031h).

why does transreciever wake up for bitrate also other than configured. 


below is the sample code  

static void tja1465_configure_can_wakeup_ext_dlc0(void)
{
uint8_t mode_stat,sys_stat;

printf("CAN Wakeup Config Enter \n" );

tja1465_read(REG_MODE_STATUS, &mode_stat);
printf("Mode Status (0x070) = 0x%02X (%s)\n",mode_stat, mode_str(mode_stat));

tja1465_write(0x031, 0x14);


/* WUF ID = 0x18FF21B1 *//*0x18FF0180* MASK 0x0000304D*/
tja1465_write(0x020, 0xB1);
tja1465_write(0x021, 0x21);
tja1465_write(0x022, 0xFF);
tja1465_write(0x023, 0x18);

/* WUF ID mask (match full 29-bit ID) */
tja1465_write(0x024, 0x00);
tja1465_write(0x025, 0x00);
tja1465_write(0x026, 0x00);
tja1465_write(0x027, 0x00);

tja1465_write(0x028, 0x05);
tja1465_write(0x029, 0x00);
tja1465_write(0x02A, 0x00);
tja1465_write(0x02B, 0x00);
tja1465_write(0x02C, 0x00);
tja1465_write(0x02D, 0x00);
tja1465_write(0x02E, 0x00);
tja1465_write(0x02F, 0x00);

tja1465_write(0x030, 0xC8);

tja1465_write(0x011, 0x00);


tja1465_write( 0x060, 0xFF);


tja1465_write( 0x061, 0xFF);


tja1465_write( 0x062, 0x04);

tja1465_write(0x032, 0x03);


uint8_t pn_status_reg;

tja1465_read(0x073, &pn_status_reg);
tja1465_read(0x071, &sys_stat);

printf("PN Status (0x073) = 0x%02X (CPNS: %s),CPNERRS :0x%02X\n", pn_status_reg, (pn_status_reg & 0x20) ? "OK" : "Error",(pn_status_reg & 0x40));

printf("System Status(0x071) = 0x%02X\n", sys_stat);


tja1465_write(REG_MODE_CTRL, MODE_SLEEP);
usleep(3000);

tja1465_read(REG_MODE_STATUS, &mode_stat);
printf("Mode Status (0x070) = 0x%02X (%s)\n", mode_stat, mode_str(mode_stat));

tja1465_read(REG_SYS_STATUS, &sys_stat);
printf("System Status(0x071) = 0x%02X\n", sys_stat);

printf("CAN Wakeup Config Exit \n" );
}

Re: CAN based WakeUp Transrecevier TJA1465

Hello Vivekananda

Good day!

I'm going to run tests to find the error and I'll get back to you as soon as I have an answer.

Have a great day and best of luck.

Re: CAN based WakeUp Transrecevier TJA1465

Hello Vivekananda

Can you clarify what they mean with below green sentence on ‘other bitrates’, is this about CAN FD frames?

But transreceiver wake ups for other bitrate also which is not configured in the Partial networking data rate and filter configuration register (address 031h).

If it’s indeed CAN FD frames, then after the wake-up please check if PNFDER =1. If so, try changing below yellow line to: tja1465_write(0x032, 0x07). This will set PNECC = 1 and CAN FD frames would not increase the error counter anymore, PNFDER should stay 0 and the device does not wake up.

The Application Notes (AN14388, which can be downloaded on our page) are showing an example SPI sequence for a PN configuration for your reference (section 4.2, pages 23-24). Please take a look.


I hope this information has helped you, please let me know if you need help with anything else.

Have a great day and best of luck.

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎02-05-2026 05:25 AM
更新者: