Custom BB TS-4100

From embeddedTS Manuals

TS-4100 SoM Guidelines

The following guidelines outline any special considerations or exceptions to our SoM guidelines above that are specific to the TS-4100. As above, this information is still a set of general guidelines for the TS-4100. There may be other details required for specific applications, some of these may not apply to every application, and many of the general guidelines already cover topics that are not exclusive to the TS-4100. Technologic Systems offers custom design services, our design expertise can be used to create a custom baseboard to meet your requirements.


Power


Ethernet

  • The TS-4100 Ethernet PHYs are rated for 100BASE-T operation, be sure to use magnetics and jacks designed for 100BASE-T operation.
  • If using a single Ethernet port, be sure to use the Ethernet pins marked as "eth1" (on pins CN2_001-011, odd pins, and CN2_002 and CN2_004). Linux sees this port as "eth1", but it is connected to the first Ethernet MAC in the CPU. This is the only port that U-Boot supports for its network operations as well.


Baseboard ID, U-Boot, and Flattened Device Tree

  • While implementing a baseboard ID indicator is not necessary for booting the TS-4100, it is highly recommended. By default, U-Boot will read the baseboard ID and attempt to locate a Linux Flattened Device Tree (FDT) based on this information. For example, we recommend using the ID value of 42 for custom baseboards; U-Boot would attempt to load the file "/boot/imx6ul-ts4100-2a.dtb" The ID 42 represented in base 16 is 0x2a; U-Boot expects the hex value to use lowercase letters. This allows for creating a customized Device Tree file that fully supports the TS-4100 SoM on a custom baseboard. On baseboards without an ID indicator implemented, U-Boot will read this ID as 63. If the FDT file "/boot/imx6ul-ts4100-3f.dtb" does not exist, then U-Boot will fall back to the default "/boot/imx6ul-ts4100.dtb" file which is also used for the TS-4100 standalone.
  • If deriving from an existing baseboard design, be sure to update the associated Device Tree file to match any changes that have been made.
  • See the TS-8551 latest schematic for an example of how this circuit should be designed.


Jumpers

  • U-Boot on the TS-4100 expects the following jumpers. These are not required for operation since U-Boot can be reconfigured, however, any changes or modifications to this should be made with caution.
    • An "SD Boot" jumper on CN1_098. When logic low, U-Boot will default to booting to Linux on the SD card. When logic high, it will default to booting to Linux from the on-board eMMC.
    • A "U-Boot" jumper on CN1_019. When logic low, U-Boot will attempt to boot from a USB device before dropping to the U-Boot shell. When high, the unit boots normally through U-Boot.
    • A "No Charge" jumper on CN1_017 (Only required if implementing TS-SILO Supercapacitors on the baseboard!). When logic low, disables the automatic charge process. When logic high, automatic charge process is started by U-Boot. Note that the charge process can be started manually from U-Boot or Linux userspace tools, see the TS-SILO section of the manual for more information.
      • If TS-SILO is unused, it is recommended to add a weak pull-down on this pin to prevent U-Boot from starting the charging process automatically. If this DIO is unused, it can be directly connected to ground.
    • Some baseboards implement a tactile push switch on CN1_073. The ability for U-Boot to use this for entering the U-Boot shell is based on an exception list. That is, U-Boot maintains a short list of compatible baseboard IDs that implement the push switch. Baseboards not using an ID on this exception list will cause U-Boot to ignore this input for controlling its boot flow.
  • See the TS-8551 latest schematic for an example of how these jumpers could be set up.


TS-SILO

  • Due to the size constraints of the TS-4100, TS-SILO operation requires components added to the baseboard.
  • A pair of 2.7 V, 25 F supercapacitors must be used in series. The supervisory microcontroller handles the charging circuit and is tuned for these parameters. The TS-8551 uses a pair of Maxwell Technologies "BCAP0025P270X01" devices. Equivalent parts may be substituted, but it is recommended to verify the operation of them completely before putting them in production.
  • The highest potential of the series as well as the junction point of the two supercapacitors must be connected to the TS-SOCKET connector in order for the microcontroller to monitor the charge rate. Additionally, a balanced driving circuit must be present on the baseboard; this consists of a pair of transistors and high-precision resistors.
  • See the TS-8551 latest schematic for an example of how this circuit needs to be designed.


CAN

  • The baseboard is required to have a CAN transceiver if CAN from the TS-4100 is to be used. Be sure to use a transceiver that is compatible with the bus speeds being used. We recommend and use NXP "TJA1050" transceiver ICs.
  • CAN enable can be set up on a GPIO pin if desired. The kernel is able to use this pin to enable and disable the transceiver when the interface is brought up or down in Linux. This enable pin can be shared by both CAN buses if both interfaces are used.
  • See the TS-8551 latest schematic for an example of how this circuit should be designed.


RS-485

  • The baseboard needs to implement an RS-485 transceiver for RS-485 communication. Be sure to use a transceiver that is compatible with the bus speeds being used. We recommend and use Sipex "SP485EEN" transceiver ICs.
  • The kernel handles RS-485 half-duplex TX enable via a CPU GPIO pin. On our stock compatible baseboards, this defaults to SPARE_1 and requires crossbar MUX setup to assign the SPARE_1 input to the DIO_12 output. This is simply to accommodate how we have set up the TS-SOCKET standard in the past and allowing the TS-4100 SoM to be compatible with it.
  • When placing an RS-485 transceiver on a custom baseboard, the TX enable can be wired to DIO_12 (CN1_067), and the paradigm above can be followed. However, it is also possible to connect this pin to any unused CPU GPIO pin, and specify this pin in the Device Tree file for TX enable control. This no longer follows our standard pinout, but it does eliminate the need to set up the crossbar MUX on every boot.


RTC

  • While the TS-4100 includes an RTC inside of the SNVS block of the CPU, we do not recommend using it for most cases. The CPU based RTC consumes more power from the backup battery than other off the shelf devices. We recommend using an STMicroelectronics "M41T00S" I2C RTC on the baseboard connected to the I2C pins CN2_028 and CN2_030, with a backup battery also on the baseboard connected directly to the RTC, and the V_BAT pin (CN1_036) left unconnected on the baseboard. This design and layout has been proven on the TS-8551 development baseboard.
  • If using the CPU RTC, we suggest using a rechargeable coin cell or supercapacitor to increase the lifetime of the backup power source. Note that charging logic must all be situated on the baseboard, and that V_BAT (CN1_036) never receives more than its nominal 3.3 V input.
  • See the TS-8551 latest schematic for an example of how this circuit should be designed.