CAN

From Wiki at Neela Nurseries
Revision as of 06:36, 16 September 2025 by Ted (talk | contribs) (Zephyr 3.7.0 supported STMicro boards with CAN controllers)
Jump to navigation Jump to search

Controller Area Network (CAN) developed and first released by Bosch in 1973.

2025-09-09

Basic CAN frames versus Canopennode frames . . .

2025-09-14

Masters thesis by William Fornaciari . . .

Zephyr 3.7.0 supported STMicro boards with CAN controllers:

ted@localhost:~/projects/zephyr-project/zephyr/boards/st$ grep -nr can ./* | grep '&' | grep can grep: ./nucleo_f030r8/doc/img/nucleo_f030r8.jpg: binary file matches grep: ./nucleo_f070rb/doc/img/nucleo_f070rb.jpg: binary file matches grep: ./nucleo_f091rc/doc/img/nucleo_f091rc.jpg: binary file matches grep: ./nucleo_f103rb/doc/img/nucleo_f103rb.jpg: binary file matches grep: ./nucleo_f207zg/doc/img/nucleo_f207zg_zio_left.jpg: binary file matches ./nucleo_f091rc/nucleo_f091rc.dts:23: zephyr,canbus = &can1; ./nucleo_f091rc/nucleo_f091rc.dts:116:&can1 { ./nucleo_f091rc/nucleo_f091rc.dts:117: pinctrl-0 = <&can_rx_pa11 &can_tx_pa12>; ./nucleo_f303re/nucleo_f303re.dts:23: zephyr,canbus = &can1; ./nucleo_f303re/nucleo_f303re.dts:96:&can1 { ./nucleo_f303re/nucleo_f303re.dts:97: pinctrl-0 = <&can_rx_pb8 &can_tx_pb9>; ./nucleo_f446re/nucleo_f446re.dts:23: zephyr,canbus = &can2; ./nucleo_f446re/nucleo_f446re.dts:146:&can1 { ./nucleo_f446re/nucleo_f446re.dts:148: pinctrl-0 = <&can1_rx_pb8 &can1_tx_pb9>; ./nucleo_f446re/nucleo_f446re.dts:153:&can2 { ./nucleo_f446re/nucleo_f446re.dts:154: pinctrl-0 = <&can2_rx_pb12 &can2_tx_pb13>; ./nucleo_f446ze/nucleo_f446ze.dts:22: zephyr,canbus = &can1; ./nucleo_f446ze/nucleo_f446ze.dts:180:&can1 { ./nucleo_f446ze/nucleo_f446ze.dts:181: pinctrl-0 = <&can1_rx_pd0 &can1_tx_pd1>; ./nucleo_f722ze/nucleo_f722ze.dts:24: zephyr,canbus = &can1; ./nucleo_f722ze/nucleo_f722ze.dts:123:&can1 { ./nucleo_f722ze/nucleo_f722ze.dts:124: pinctrl-0 = <&can1_rx_pd0 &can1_tx_pd1>; ./nucleo_f746zg/nucleo_f746zg.dts:30: zephyr,canbus = &can1; ./nucleo_f746zg/nucleo_f746zg.dts:166:&can1 { ./nucleo_f746zg/nucleo_f746zg.dts:167: pinctrl-0 = <&can1_rx_pd0 &can1_tx_pd1>; ./nucleo_f767zi/nucleo_f767zi.dts:31: zephyr,canbus = &can1; ./nucleo_f767zi/nucleo_f767zi.dts:165:&can1 { ./nucleo_f767zi/nucleo_f767zi.dts:166: pinctrl-0 = <&can1_rx_pd0 &can1_tx_pd1>; ./nucleo_g0b1re/nucleo_g0b1re.dts:25: zephyr,canbus = &fdcan1; ./nucleo_g0b1re/nucleo_g0b1re.dts:181:&fdcan1 { ./nucleo_g0b1re/nucleo_g0b1re.dts:184: pinctrl-0 = <&fdcan1_rx_pa11 &fdcan1_tx_pa12>; ./nucleo_g0b1re/nucleo_g0b1re.dts:189:&fdcan2 { ./nucleo_g0b1re/nucleo_g0b1re.dts:192: pinctrl-0 = <&fdcan2_rx_pb0 &fdcan2_tx_pb1>; ./nucleo_g474re/nucleo_g474re.dts:22: zephyr,canbus = &fdcan1; ./nucleo_g474re/nucleo_g474re.dts:221:&fdcan1 { ./nucleo_g474re/nucleo_g474re.dts:224: pinctrl-0 = <&fdcan1_rx_pa11 &fdcan1_tx_pa12>; ./nucleo_h563zi/nucleo_h563zi-common.dtsi:155:&fdcan1 { ./nucleo_h563zi/nucleo_h563zi-common.dtsi:156: pinctrl-0 = <&fdcan1_rx_pd0 &fdcan1_tx_pd1>; ./nucleo_h563zi/nucleo_h563zi.dts:25: zephyr,canbus = &fdcan1; ./nucleo_h743zi/nucleo_h743zi.dts:24: zephyr,canbus = &fdcan1; ./nucleo_h743zi/nucleo_h743zi.dts:180:&fdcan1 { ./nucleo_h743zi/nucleo_h743zi.dts:181: pinctrl-0 = <&fdcan1_rx_pd0 &fdcan1_tx_pd1>; ./nucleo_h753zi/nucleo_h753zi.dts:24: zephyr,canbus = &fdcan1; ./nucleo_h753zi/nucleo_h753zi.dts:159:&fdcan1 { ./nucleo_h753zi/nucleo_h753zi.dts:162: pinctrl-0 = <&fdcan1_rx_pd0 &fdcan1_tx_pd1>; ./nucleo_l432kc/nucleo_l432kc.dts:20: zephyr,canbus = &can1; ./nucleo_l432kc/nucleo_l432kc.dts:99:&can1 { ./nucleo_l432kc/nucleo_l432kc.dts:100: pinctrl-0 = <&can1_rx_pa11 &can1_tx_pa12>; ./nucleo_l433rc_p/nucleo_l433rc_p.dts:22: zephyr,canbus = &can1; ./nucleo_l433rc_p/nucleo_l433rc_p.dts:118:&can1 { ./nucleo_l433rc_p/nucleo_l433rc_p.dts:119: pinctrl-0 = <&can1_rx_pa11 &can1_tx_pa12>; ./nucleo_l452re/nucleo_l452re_common.dtsi:22: zephyr,canbus = &can1; ./nucleo_l452re/nucleo_l452re_common.dtsi:102:&can1 { ./nucleo_l452re/nucleo_l452re_common.dtsi:103: pinctrl-0 = <&can1_rx_pa11 &can1_tx_pa12>; ./nucleo_u575zi_q/nucleo_u575zi_q.dts:22: zephyr,canbus = &fdcan1; ./nucleo_u575zi_q/nucleo_u575zi_q-common.dtsi:181:&fdcan1 { ./nucleo_u575zi_q/nucleo_u575zi_q-common.dtsi:184: pinctrl-0 = <&fdcan1_rx_pd0 &fdcan1_tx_pd1>; ./nucleo_u5a5zj_q/nucleo_u5a5zj_q-common.dtsi:173:&fdcan1 { ./nucleo_u5a5zj_q/nucleo_u5a5zj_q-common.dtsi:176: pinctrl-0 = <&fdcan1_rx_pd0 &fdcan1_tx_pd1>; ./nucleo_u5a5zj_q/nucleo_u5a5zj_q.dts:22: zephyr,canbus = &fdcan1; ./stm32f072b_disco/stm32f072b_disco.dts:21: zephyr,canbus = &can1; ./stm32f072b_disco/stm32f072b_disco.dts:118:&can1 { ./stm32f072b_disco/stm32f072b_disco.dts:119: pinctrl-0 = <&can_rx_pb8 &can_tx_pb9>; ./stm32f3_disco/stm32f3_disco.dts:21: zephyr,canbus = &can1; ./stm32f3_disco/stm32f3_disco.dts:184:&can1 { ./stm32f3_disco/stm32f3_disco.dts:185: pinctrl-0 = <&can_rx_pd0 &can_tx_pd1>; ./stm32f4_disco/stm32f4_disco.dts:22: zephyr,canbus = &can2; ./stm32f4_disco/stm32f4_disco.dts:129:&can1 { ./stm32f4_disco/stm32f4_disco.dts:130: pinctrl-0 = <&can1_rx_pb8 &can1_tx_pb9>; ./stm32f4_disco/stm32f4_disco.dts:135:&can2 { ./stm32f4_disco/stm32f4_disco.dts:136: pinctrl-0 = <&can2_rx_pb5 &can2_tx_pb13>; ./stm32h573i_dk/stm32h573i_dk.dts:24: zephyr,canbus = &fdcan1; ./stm32h573i_dk/stm32h573i_dk.dts:253:&fdcan1 { ./stm32h573i_dk/stm32h573i_dk.dts:256: pinctrl-0 = <&fdcan1_rx_pa11 &fdcan1_tx_pa12>; ./stm32h735g_disco/stm32h735g_disco.dts:22: zephyr,canbus = &fdcan1; ./stm32h735g_disco/stm32h735g_disco.dts:213:&fdcan1 { ./stm32h735g_disco/stm32h735g_disco.dts:214: pinctrl-0 = <&fdcan1_rx_ph14 &fdcan1_tx_ph13>; ./stm32h735g_disco/stm32h735g_disco.dts:225:&fdcan2 { ./stm32h735g_disco/stm32h735g_disco.dts:226: pinctrl-0 = <&fdcan2_rx_pb5 &fdcan2_tx_pb6>; ./stm32h735g_disco/stm32h735g_disco.dts:237:&fdcan3 { ./stm32h735g_disco/stm32h735g_disco.dts:238: pinctrl-0 = <&fdcan3_rx_pf6 &fdcan3_tx_pf7>; ./stm32h745i_disco/stm32h745i_disco_stm32h745xx_m7.dts:24: zephyr,canbus = &fdcan1; ./stm32h745i_disco/stm32h745i_disco_stm32h745xx_m7.dts:220:&fdcan1 { ./stm32h745i_disco/stm32h745i_disco_stm32h745xx_m7.dts:222: pinctrl-0 = <&fdcan1_tx_ph13 &fdcan1_rx_ph14>; ./stm32h745i_disco/stm32h745i_disco_stm32h745xx_m7.dts:234:&fdcan2 { ./stm32h745i_disco/stm32h745i_disco_stm32h745xx_m7.dts:236: pinctrl-0 = <&fdcan2_tx_pb13 &fdcan2_rx_pb5>; ./stm32h7b3i_dk/stm32h7b3i_dk.dts:24: zephyr,canbus = &fdcan1;