CANBRIDGE G473

Overview

The CANBRIDGE G473 is a versatile development board designed for automotive and industrial communication. Based on the high-performance STM32G473 MCU, it can function as a standalone 3-channel CAN/CAN FD bridge or, when running the Zephyr connectivity stack, as a 3-channel USB-to-CAN FD adapter supporting data rates up to 5 Mbps. More information can be found on the can-module.com website.

Hardware

The CANBRIDGE G473 is equipped with a high-performance STM32G473 microcontroller. The board features galvanic isolation, status LEDs, and onboard LIN and RS422 interfaces for expanded connectivity (hardware design ready, currently non-activated in devicetree).

Default Zephyr Peripheral Mapping

  • CAN_RX1 : PB8

  • CAN_TX1 : PB9

  • CAN_RX2 : PB5

  • CAN_TX2 : PB6

  • CAN_RX3 : PB4

  • CAN_TX3 : PB3

  • LIN_RX : PB11

  • LIN_TX : PB10

  • ledCAN1 : PC13

  • ledCAN2 : PB7

  • ledCAN3 : PA15

  • ledSTAT : PA5

  • USB_DN : PA11

  • USB_DP : PA12

  • RS422_TX : PA2

  • RS422_RX : PA3

  • SWDIO : PA13

  • SWCLK : PA14

  • NRST : PG10

Supported Features

The canbridge_g473 board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.

canbridge_g473/stm32g473xx target

On-target memory for this board target: 128 KiB of RAM, 128 KiB of Flash.

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M4F CPU1

arm,cortex-m4f

ADC

on-chip

STM32 ADC5

st,stm32-adc

CAN

on-chip

STM32 FDCAN CAN FD controller3

st,stm32-fdcan

Clock control

on-chip

STM32 RCC (Reset and Clock controller)1

st,stm32-rcc

on-chip

STM32 HSE Clock1

st,stm32-hse-clock

on-chip

Generic fixed-rate clock provider12

fixed-clock

on-chip

STM32 LSE Clock1

st,stm32-lse-clock

on-chip

STM32G4 main PLL1

st,stm32g4-pll-clock

Comparator

on-chip

STM32G4 series Comparator7

st,stm32g4-comp

Counter

on-chip

STM32 counters12

st,stm32-counter

CRC

on-chip

STM32 CRC calculation unit1

st,stm32-crc

DAC

on-chip

STM32 family DAC4

st,stm32-dac

DMA

on-chip

STM32 DMA controller (V2)2

st,stm32-dma-v2

on-chip

STM32 DMAMUX controller1

st,stm32-dmamux

Flash controller

on-chip

STM32 Family flash controller1

st,stm32-flash-controller

GPIO & Headers

on-chip

STM32 GPIO Controller7

st,stm32-gpio

I2C

on-chip

STM32 I2C V2 controller4

st,stm32-i2c-v2

I2S

on-chip

STM32 SAI Block controller1

st,stm32-sai

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

on-chip

STM32 External Interrupt Controller1

st,stm32-exti

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

MTD

on-chip

STM32 flash memory1

st,stm32-nv-flash

NVMEM

on-chip

Fixed layout for Non-Volatile memory1

fixed-layout

OPAMP

on-chip

STM32G4 OPAMP3

st,stm32g4-opamp

OTP memory

on-chip

STM32 embedded NVM OTP11

st,stm32-nvm-otp

PHY

on-chip

This binding is to be used by all the usb transceivers which are built-in with USB IP1

usb-nop-xceiv

Pin control

on-chip

STM32 Pin controller1

st,stm32-pinctrl

PWM

on-chip

STM32 PWM10

st,stm32-pwm

QSPI

on-chip

STM32 QSPI Controller1

st,stm32-qspi

Reset controller

on-chip

STM32 Reset and Clock Control (RCC) Controller1

st,stm32-rcc-rctl

RNG

on-chip

STM32 Random Number Generator1

st,stm32-rng

RTC

on-chip

STM32 RTC1

st,stm32-rtc

Sensors

on-chip

STM32 quadrature decoder7

st,stm32-qdec

on-chip

STM32 family TEMP node for production calibrated sensors with two calibration temperatures1

st,stm32-temp-cal

on-chip

STM32 VREF+1

st,stm32-vref

on-chip

STM32 VBAT1

st,stm32-vbat

Serial controller

on-chip

STM32 USART3

st,stm32-usart

on-chip

STM32 UART2

st,stm32-uart

on-chip

STM32 LPUART1

st,stm32-lpuart

SMbus

on-chip

STM32 SMBus controller4

st,stm32-smbus

SPI

on-chip

STM32 SPI controller with embedded Rx and Tx FIFOs4

st,stm32-spi-fifo

USB Type-C Port Controller

on-chip

STM32 USB Type-C / Power Delivery1

st,stm32-ucpd

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

on-chip

STM32 low-power timer (LPTIM)1

st,stm32-lptim

on-chip

STM32 timers12

st,stm32-timers

USB

on-chip

STM32 USB controller1

st,stm32-usb

Watchdog

on-chip

STM32 watchdog1

st,stm32-watchdog

on-chip

STM32 system window watchdog1

st,stm32-window-watchdog

System Clock

The FDCAN1, FDCAN2, and FDCAN3 peripherals are driven by PLLQ, which has 80 MHz frequency.

Programming and Debugging

The canbridge_g473 board supports the runners and associated west commands listed below.

flash debug attach rtt debugserver
openocd ✅ (default) ✅ (default)

Build and flash applications as usual (see Building an Application and Run an Application for more details). If flashing via USB DFU, short the BOOT0 pins/jumper prior to powering the board to enter the built-in ROM bootloader mode.

Alternatively, you can flash the board directly using an ST-LINK debuggers.

Here is an example for the Blinky application.

# From the root of the zephyr repository
west build -b canbridge_g473 samples/basic/blinky
west flash

References