|
NetBurner 3.5.6
PDF Version |
This document provides the memory map and locations of reference materials for those who wish to add additional hardware to their NetBurner device.
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 for the MIMXRT1061 can be found at arch/cortex-m7/cpu/MIMXRT10xx/include/MIMXRT1061.h
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.
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.
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.
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.
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.
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:
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:
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.