With the newly released
i.MX RT1010 crossover MCU
starting at $1 USD MSRP (for volume production) and the newly announced
i.MX RT1170 crossover MCU, running at 1 GHz, the i.MX RT series provides extraordinary cost and
performance flexibility to customers. But the flexibility goes beyond just
price and performance. There are many flexible features on i.MX RT MCUs, which
can make your designs more flexible as well. Features such as:
- FlexSPI – Flexible serial memories interface
- FlexRAM – Flexible RAM consideration and management
- FlexIO – Flexible input and output signal control
- FlexPWM – Flexible PWM configuration
FlexSPI
The FlexSPI module is arguably one of the most flexible and powerful serial
SPI interface in the market. The FlexSPI module supports 1, 2, 4, 8 datalines
of SPI memory. It is so flexible that it can be configured to work with most
of the serial memories on the market. This includes Quad / Octal (Hyper)
flash, Quad / Octal (Hyper) RAM, Quad SPI NAND flash and FPGA as well. With
these options, you can choose cost-efficient and performance-efficient
memories for your system design and can also choose to boot from any of these
FlexSPI memories. Application notes
AN12107
and
AN12108
show boot examples and list the memories that we have tested and verified.
i.MX RT families have up to 2 FlexSPI modules and each FlexSPI module has dual
channel Quad interface. With each channel offering two chip select and 4
datalines, i.MX RT MCUs can connect up to 8 Quad SPI memories! On the newly
announced i.MX RT1170 device, we expand some channels to 8 datalines providing
more data throughput on the data transfer.
The i.MX RT FlexSPI module has individual mode and parallel mode: In
individual mode, Flash read/write data is received/transmitted on port A or
port B. In parallel mode, Flash read/write data is received/transmitted on
port A and B in parallel. So you can read/write two Quad SPI memories in
parallel.
Combination mode provides octal flash support by combining A port and B port
together. See below for the connection diagram
FlexRAM
The on-chip RAM on the i.MX RT series can be flexible and partitioned to be
tightly coupled memory (TCM) or OCRAM memory. There are three integrated RAM
controllers for I-TCM, D-TCM and OCRAM through a dedicated bus interface and
the size for ITCM, DTCM or OCRAM is configurable. Furthermore, to reduce power
consumption, three power domains are assigned to dedicated bank or group of
banks.
Customers can allocate the code/data in TCM or OCRAM based on system
performance requirement and resource management. Here are some considerations:
-
Critical code (Vector Table, ISR‘s) and code typically only accessed
by the core should/can be placed in ITCM region
-
Data accessed typically only by the core (stack, heap, …) should/can
be placed in DTCM region
-
Data accessed typically by more than one bus (Core, DMA) should be
place in OCRAM
- Less important data can be placed in the external SDRAM
Customers can refer to application note
AN12077
for how to use the FlexRAM.
FlexIO
The i.MX RT MCU has up to 12 UARTs, 6 I2C and 6 SPI interfaces. That’s
a lot, right? But we still want to provide designers with the flexibility to
adjust the serial interface instances and also for some designers, the
flexibility to customize their proprietary serial interfaces. The FlexIO
module can emulate a variety of serial/parallel communication protocols,
including UART, I2C, SPI, I2S, etc.
The FlexIO module has up to 32 pins that can be configured to FlexIO, so many
customers have been using FlexIO to connect to parallel IO devices, like a
parallel camera sensor or LCD interface. FlexIO also has the programmable
state machine for offloading basic system control functions from CPU with
support for up to 8 states, 8 outputs and 3 selectable inputs per state.
Designers can find many FlexIO examples for i.MX RT MCUs in the
MCUXpresso SDK packages.
FlexPWM
The FlexPWM module on the i.MX RT series is a powerful PWM module that can
generate various switching patterns, including highly sophisticated waveforms.
It can be used to control various motor types and is ideal for controlling
different switched mode power supplies (SMPS) topologies as well. Each module
is configured with 4 channels supporting A, B and X PWM output. Each channel
is 16 bits of resolution for center, edge-aligned and asymmetrical PWM. There
is also fractional PWM clock generation for enhanced resolution of the PWM
period and duty cycle. PWM outputs that can operate as complementary pairs or
independent channels and each complementary pair can operate with its own PWM
frequency and deadtime. Channels not used for PWM generation can be used for
buffered output compare functions or input capture functions.
i.MX RT devices have up to 4 FlexPWM modules so can support up to 4 motors in
a motor control application. We have built a four-motor demo based on the i.MX
RT1050 device. Watch the demo video
here.
The freedom and flexibility designers are able to accomplish with these
features is endless. How will you leverage these ‘flex’
features? Launch your legacy with i.MX RT crossover MCUs today; visit
i.MX RT
for more information.