NetBurner 3.5.6
PDF Version
SOMRT1061 Platform Reference

Introduction

This document provides the memory map and locations of reference materials for those who wish to add additional hardware to their NetBurner device.

Processor Information

The SOMRT1061 uses the NXP i.MX RT1061 microprocessor. The reference manual and datasheet provide in-depth information on the microprocessor, including register settings, bus configuration and timing information. It is located in the <nburn_install>\docs\NXP directory of your NetBurner installation.

Definitions

Definitions for the MIMXRT1061 can be found at arch/cortex-m7/cpu/MIMXRT10xx/include/MIMXRT1061.h

Datasheet and Pins

The datasheet for the SOMRT1061 module includes information on connectors, signal names, and operational parameters. It is located on the SOMRT1061 product page under Documents and Downloads.

An Excel spreadsheet of pin assignments is also available under the same Datasheet link.

Finally, NetBurner has created an interactive Pin Configurator tool which is available online as well as in your NNDK installation under <nburn_install>\docs\NetBurner\Platform\PinConfigurator

You may also find pinconstant.h to be a useful reference.

Development Board Schematic

The DEV-SOMRT1061 development board schematic is located in the <nburn_install>\docs\NetBurner\platform\Schematics directory. This schematic can be used for design ideas in your own hardware implementation for power, RS-232, RS-485, and SD Flash card implementation.

SOMRT1061 Platform General Information

The SOMRT1061 uses the NXP i.MX RT1061 microcontroller. The reference manual and datasheet provide in-depth information on the processor, including register settings, bus configuration and timing information. The reference manual is located in the <nburn_install>\docs\NXP directory of your NetBurner installation.

  • i.MX RT1061 running at 528MHz (ind temp)
  • 8MB SPI Flash (stores compressed application image)
  • 32MB PSRAM
  • 1MB onboard SRAM:
    • 128k ITCM single cycle instruction fetch memory,
    • 128K DTCM single cycle data fetch memory
    • 768k general purpose fast SRAM


The 8MB of Flash uses a Flash File System and is used for all storage purposes:

  • Sectors are 8k
  • The standard NetBurner configuration, certificate and user flash operate transparently through the file system.
  • First sector reserved for file partition table. Note: If you need direct flash access, please contact NetBurner support.
  • You can add a secondary Flash File System as demonstrated in the EFFS-STD examples. Multiple partitions are supported. Please refer to the documentation and examples, such as the EFFS-STD multiple partition (multi-part) example.
  • Application space varies by use case, but is typically 7.5MB for the compressed application. Items that can reduce the 8MB total space include: file system overhead, certificates, configuration data, secondary file system.


External Memory Bus

  • Chip selects configurable anywhere in the external bus range

Boot Sequence

At power-up or reset, the application is decompressed from Flash memory to PSRAM, verified by checksum, and execution begins. If the checksum fails or the application crashes, the device will reboot to the Configuration Server to facilitate a recovery by downloading a new application.

If the application causes an issue in which continuous traps occur, or the state of the system is such the Configuration Server cannot run, a recovery hardware jumper procedure can be used to reset the device.

Note
It is always a good idea to have a serial port terminal connected to the boot/debug serial port to view status messages, or use the 'A' to abort the boot sequence command when prompted to abort application execution and boot to the Configuration Server.


UART Signals and Port Number Mapping

There can be a maximum of 7 serial port configured on the device. Note that each signal pin on the microprocessor can be configured for up to 5 different functions, so to achieve the maximum number of serial ports some peripheral functions will be unavailable.

Please refer to the Open All Serial Ports example for hardware and software port mapping: Open All UARTs. Port number mapping for software API calls is defined in SOMRT1061/include/serial_platdefs.h in the <nburn_install>\platform folder.

PCB Routing Guidelines

Routing signals for the SOMRT1061 can be broken down into a hierarchy of priorities and requirements. These are based around signal integrity of various flavors and application needs.

The following signals are considered 'routing critical', meaning that if you intend to use them, they must be routed to spec:

  • ENET.ERX*
  • ENET.ETX*
  • USB.OTG1_D*
  • USB.OTG2_D*

In the case of the ENET signals, they must be routed as "100 ohm differential" (and ideally a nominal 50 ohm single ended impedance) signals within the TX or RX pairs. The USB data signals must be routed as "90 ohm differential" (and ideally 45 ohm single ended). While the signals are differential, care should be taken to not route high power signals in a manner that would strongly couple to these signals and interfere with the them. Beyond this, avoid vias if possible for these, as they will introduce impedance discontinuities (i.e. reflect some power and introduce additional dispersion), and length match within the pairs as close as possible (ideally < 100mil). Obviously, the connected cables will introduce their own variability with the length matching, but the closer your routing, the better the noise immunity at install.

Next, are the 'performance critical' signals, where the feature would still work, but to differring levels of performance based on routing. These are:

  • SD_B0*, when used for SDIO (SD card)
  • AD_B1*, when used for analog inputs
  • EMC*, when using the databus

The SD_B0 and AD_B1 signals are routed on the bottom layer of the module, and thus will be directly over the top layer of your carrier PCB, with no additional copper between them. In the case of the SD_B0 signals, routing highspeed signals across the southwest corner of the module has potential to introduce issues when operating at high speeds with memory cards. If high speed signals must be routed under them without an isolating plane layer, they should be routed in an east/west direction relative to the module.

In the case of the AD_B1 signals, the concern is primarily regarding additional introduced noise into the analog measurements. While using the onboard ADC of a processor on a module is never going to yield the precision and accuracy of a dedicated, precision, ADC on a thermally and mechanically isolated portion of the PCB with it's own dedicated low noise power supply, it's still possible to have it perform better or worse depending on external coupling. Therefore, the AD_B1 signals that are used for analog sampling should be isolated as much as possible from high power sources of noise, and those signals affected by/carrying high power noise should not be routed under the Southwest portion of the module.

Finally, the EMC signals contain the External Databus, which if used, will be again sensitive to noise, and thus high power noise sources should be kept away from these when serving as a databus. Of additional note is that the signals involved with the databus have been length tuned for placement of timing sensitive devices towards the northwest of the module, such that the signals exiting nearer to pin 1 are longer on the SOM than those exiting further away. It should be noted that some of the databus signals are routed on the bottom layer of the module and previous comments about signal integrity apply.

Name   |  Length (mil)
EMC_13 |  1027.567
EMC_14 |  996.629
EMC_7  |  839.663
EMC_6  |  826.247
EMC_5  |  820.025
EMC_26 |  810.646
EMC_35 |  810.511
EMC_9  |  809.71
EMC_23 |  809.706
EMC_1  |  808.191
EMC_10 |  806.277
EMC_0  |  805.844
EMC_4  |  803.84
EMC_2  |  801.904
EMC_24 |  800.075
EMC_3  |  799.877
EMC_8  |  799.083
EMC_11 |  796.457
EMC_41 |  791.704
EMC_25 |  790.139
EMC_40 |  778.25
EMC_36 |  773.609
EMC_17 |  766.04
EMC_12 |  762.951
EMC_31 |  755.219
EMC_39 |  750.712
EMC_29 |  750.198
EMC_33 |  746.296
EMC_18 |  744.48
EMC_16 |  743.689
EMC_34 |  742.535
EMC_30 |  742.226
EMC_27 |  735.4
EMC_37 |  716.469
EMC_28 |  709.312
EMC_15 |  705.513
EMC_38 |  702.911
EMC_19 |  690.108
EMC_20 |  684.383
EMC_32 |  683.317

So, all that said, can you route signals directly underneath the SOMRT1061? Absolutely! But care should be taken when doing so. East/west is generally better than north/south, as most of the signals on the bottom layer of the SOMRT1061 are running in a north/south direction given the location of the processor. They are referenced to the ground plane present on the module, which does introduce some fun when looking at the return path and the ground pins, but basic GPIO isn't really a concern.