Communication between MCUs RT 1064

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Communication between MCUs RT 1064

547 Views
bezalel
Contributor I

Hi,

I am designing a product that requires multiple RT1064 to communicate with one another. The communications speed that I need is around 400MHz (maybe higher if possible).
In addition I need the DMA functionality to work. If the DMA will not work it will greatly affect the data though speed. I need it to be as high as I can and cant afford to deal also with communications and data processing.

I have tried a couple of methods:
* LPSPI - max speed is not high enough.
* FlexSPI - thought it would be great due to the speed of each data line, but had issues using it and configuring the slave side.
* FlexIO in SPI config - max speed of 120MHz, which is ok, but could not get more than one data line to each direction.
* GPIO - Had an issue at first with the speed, but using the GPIO we need to deal with the communications and can not use DMA.

I am using MCUXpresso IDE and the NXP SDK while using the config tool to configure the pins and peripherals.

Any ideas or suggestions to how I can communicate between two MCU in high speed with DMA?

Thanks,
Bezalel

Labels (1)
0 Kudos
1 Reply

535 Views
mjbcswitzerland
Specialist V

Hi

Although it will not achieve 400Mb/s Ethernet is a convenient method to connect multiple i.MX RT 106x together in a network (over fairly log distances if needed and fully isolated and simple and reliable). it is scalable and supports broadcasting, multi-casting and uni-casting and thus solves addressing issues. There needs to be no master node since all nodes can send to any other node.

In addition, from the end of the year the 1170 should be available that will then allow 1Gb/s communication.

The Ethernet controller inherently works with DMA and so firmware overhead is fairly low.

The uTasker project includes support for uNetwork: https://www.utasker.com/docs/uTasker/uNetwork.PDF which allows i.MX RT devices to be combined in such a network with minimum firmware overhead and simple and efficient distributed systems (multiple nodes in a network acing as a single distributed application) which could be considered as out-of-the-box solution.

Another potential solution would to be use one i.MX RT board as USB host and connect to multiple i.MX RT devices via a USB hub as devices. The HS USB is 480Mb/s (minus the frame overhead) and it also gives a simple plug-and-play configuration without wiring complications (plus power distribution possibility). Again the HS USB inherently uses DMA so firmware overhead and interrupts can be kept relatively low. In this configuration devices can't directly communicate with other devices but need to pass through the host, thus reducing such speeds.

Note that short distance parallel connections would be possible by using the memory controller. And also GPIO operation via DMA is possible when the XBAR is used for a timer [ https://www.youtube.com/watch?v=zNWIG-O7ZW0&feature=youtu.be ] whereby the timer would also have to be output so that the destination can use it to trigger its own DMA reception. Probably such short-distance custom mash-ups would however be best performed with the FlexIOs though if enough data lines can be made available.

Regards

Mark
uTasker project developer for Kinetis and i.MX RT]
Contact me by personal message or on the uTasker web site to discuss professional training or product development requirementsa

i.MX RT 1064: https://www.utasker.com/iMX/RT1064.html

0 Kudos