Hello everyone!
I am new in NXP products and while using MIMXRT1170-EVK I have the following problem:
I need to output data at a frequency of 150 MHz to an external device. As a data bus, I chose to use one of the two ports of the high-speed GPIO CM7_GPIOn.
Research showed that at the core frequency(996MHz), with maximum compiler optimization, with the port pins toggled in the cycle:
CM7_GPIO3->DR_TOGGLE = 0xFFFFFFFF;
I got a frequency of ~250 MHz.
When trying to use DMA, data transfer did not work - the channel bit is set in the ERR register, which means a transfer error. At the same time, with a regular GPIO3 everything worked out, but the transfer frequency is of course much lower than necessary.
Please tell me what I could have done wrong and is it even possible to implement what I have planned?
Thanks in advance
Solved! Go to Solution.
I got an update from NXP support on this issue - the answer was that DMA does not have access to HS GPIO, thanks to Pablo for the answer!
Since this option cannot be used here, I have the following questions:
- What are HS GPIOs for anyway and what are their possible use cases?
- Is there any way to transfer data in pure form over a parallel bus with a frequency of <=150MHz?
Thank you in advance
I got an update from NXP support on this issue - the answer was that DMA does not have access to HS GPIO, thanks to Pablo for the answer!
Since this option cannot be used here, I have the following questions:
- What are HS GPIOs for anyway and what are their possible use cases?
- Is there any way to transfer data in pure form over a parallel bus with a frequency of <=150MHz?
Thank you in advance
Hi @OMG,
As @nickwallis mention you can take a look to SEMC and FlexIO or FlexSPI
@OMG you might consider using the SEMC interface, I think for RT117x it can be clocked at up to 200MHz and can be 16-bits wide in SRAM mode.
Hi @OMG,
Thanks for reaching out.
As we are discussing in your other support ticket, we still investigating this issue and I will get back at you as soon as possible in the ticket.