I plan to use the i.MX RT1020 Crossover Processor to create a tool for analyzing serial communication over buses such as SPI, I2C, UART, CAN.
I would use the MX RT1020 EVK board with the i.MX RT1020 microcontroller for a prototype of the serial bus monitor.
This device could work in two configurations:
- as a master in active mode emulating a bus controller
- in passive mode as a sniffer, listening to the communication conducted on all lines of the serial port.
Active mode would allow easy testing of devices or functional blocks that work as slaves.
This approach speeds up design and validation process of software. Active mode would use one selected microcontroller port.
In the passive mode the microcontroller could work as a sniffer capturing all data transmitted on the bus data lines.
To monitor SPI bus, two serial inputs would be needed, i.e. two i.MX RT1020 microcontroller ports from which only inputs (MOSI) and clock signals (CLK) would be used. Both MCU ports would be configured as slaves.
Captured data would be sent to a computer using an Ethernet or USB bus.
In addition, I would like to test software bus implementation for selected serial ports and validate time dependencies, e.g. synchronization of transmitted data with a clock signal.
The i.MX RT1020 microcontrollers have necessary serial interfaces including:
- eight universal asynchronous receiver/transmitter (UARTs) modules
- four I2C modules
- four SPI modules
- two FlexCAN modules
thanks for sharing your plans with us. This looks like a pretty advanced and complex project. How do you plan to use the FreeMASTER here? You write that captured data are to be sent out over Ethernet or USB - well, FreeMASTER is not going to help you with this data streaming too much. However, I think you should be able to create a FreeMASTER Dashboard GUI as a front end to configure the bus analyzer and to setup bus parameters. Please watch the intro videos, especially parts 3 and 4 to get more information about the FreeMASTER dashboard capabilities.