From Technologic Systems Manuals
Revision as of 08:31, 16 April 2013 by Mark (talk | contribs) (Created page with "{{Infobox |title = TS-7600 |image = 200px |titlestyle = |headerstyle = background:#ccf; |labelstyle = width:33% |datastyle = |data...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Product Page
Mechanical Drawing
FTP Path
Freescale i.MX283
454MHz ARM9
CPU Datasheet
128MB - 256MB DDR2
Lattice LFXP2 5K
Reprogrammable with Opencore
55x DIO
External Interfaces
USB 2.0 2 hosts
1x 10/100 Ethernet
1x I2C/TWI
Internal Storage Media
2x SD
Power Requirements
5VDC, or USB Device
Operates around 1.19W
Operating Temperature
Cold -20C
Hot 70C
66.04mm X 74.30mm
Height 17.10mm (approx)
Weight 41.6g (approx)

1 Overview

The TS-7600 was released April. 2013. This is a small embedded board with a Freescale i.MX283 454Mhz ARM9 CPU, Lattice XP2 5k FPGA, and 128-256MB DDR SDRAM.

2 Getting Started

A Linux PC is recommended for development, and will be assumed for this documentation. For users in Windows or OSX we recommend virtualizing a Linux PC. Most of our platforms run Debian and if there is no personal distribution preference this is what we recommend for ease of use.


Suggested Linux Distributions

It may be possible to develop using a Windows or OSX system, but this is not supported. Development will include accessing drives formatted for Linux and often Linux based tools.

2.1 Development Kit and Accessories

The KIT-7500 includes the items that are necessary for development with the TS-7500.

KIT-7600 Contents
Item Description
MSD-4GB-USB-7600 A Sandisk MicroSD card with a Vivitar SD reader. We recommend Sandisk SD cards as that is what we use for testing. Whenever we receive batches of SD cards from our suppliers, we will pull a few cards for testing to ensure they behave within our expectations. The Vivitar reader is also recommended because it was tested to work with the most SD cards, and it does not have a potentially damaging voltage drop that many consumer SD readers have.
TS-752 The TS-752 demonstrates the flexibility of a Technologic Systems SoM by connecting FPGA driven IO pins to relays, buffered digital inputs, buffered digital outputs, and RS-485 drivers. It also provides an RS-232 driver for the serial console. A TS-ENC750 with a TS-7500 or TS-7550 can provide a complete solution for many embedded applications.
PS-5VDC-REG-8PG The PS-5VDC-REG-8PG is a 5V 2.5A power supply by Condor. Optionally type I or C adapters are available and will ship with the product if ordered to a country where this specific adapter is required. If you require one of these adapters it is recommended to put this in the comments for your order.
CB-DB9Y The CB-DB9Y is a splitter cable used to bring out multiple uarts on the same header.
CB7-05 The CB7-05 is a 5 foot null modem cable. This is commonly used to connect to your workstation.
CB-USB-AMBM This is a USB A male to USB B male which is commonly used to connect the board to your PC as a USB device. This is also used for connecting the TS-9449 to your workstation for a USB to serial console.

The other options include:

Item Description
CN-PC104-40PIN-F The CN-PC104-40PIN-F is the mating connector for the 44 pin male header on the SBC. The 4 omitted pins are the JTAG pins which are only used for factory programming. The pins on this header are a very common 0.100" pitch.
WIFI-N-USB The WIFI-N-USB is an ASUS 802.11N adapter. See the WIFI-N-USB page for more details.
TS-ENC750 The TS-ENC750 provides both the TS-752 and a metal enclosure.
TS-ENC750-DIN The TS-ENC750-DIN is the TS-ENC750 with a DIN rail mount.
TS-752 The TS-752 demonstrates the flexibility of a Technologic Systems SoM by connecting FPGA driven IO pins to relays, buffered digital inputs, buffered digital outputs, and RS-485 drivers. It also provides an RS-232 driver for the serial console. A TS-ENC750 with a TS-7500 or TS-7550 can provide a complete solution for many embedded applications.

2.2 Get a Console

With the development kit you should have the TS-752 which brings out the debug console ttyS0 from the ARM processor as RS232. Custom baseboards should emulate the TS-752 for bringing out console. See the schematics available on the TS-752 page. The console from the UART will use 115200 baud, 8n1 (8 data bits 1 stop bit), and no flow control.

Console from Linux

There are many serial terminal applications for Linux, three common used applications are 'picocom', 'screen', and 'minicom'. These examples demonstrate all three applications and assume that the serial device is "/dev/ttyUSB0" which is common for USB adapters. Be sure to replace the serial device string with that of the device on your workstation.

'picocom' is a very small and simple client.

picocom -b 115200 /dev/ttyUSB0

'screen' is a terminal multiplexer which happens to have serial support.

screen /dev/ttyUSB0 115200

Or a very commonly used client is 'minicom' which is quite powerful but requires some setup:

minicom -s
  • Navigate to 'serial port setup'
  • Type "a" and change location of serial device to '/dev/ttyUSB0' then hit "enter"
  • If needed, modify the settings to match this and hit "esc" when done:
     E - Bps/Par/Bits          : 115200 8N1
     F - Hardware Flow Control : No
     G - Software Flow Control : No
  • Navigate to 'Save setup as dfl', hit "enter", and then "esc"

Console from Windows

Putty is a small simple client available for download here. Open up Device Manager to determine your console port. See the putty configuration image for more details.

Device Manager Putty Configuration

2.3 Booting up the board

WARNING: Be sure to take appropriate Electrostatic Discharge (ESD) precautions. Disconnect the power source before moving, cabling, or performing any set up procedures. Inappropriate handling may cause damage to the board.

The TS-7600 has 2 ways that it can be powered. The TS-7500 has a 5V line on the #44 Pin Header which can be used to supply power. The TS-752 baseboard can power the 5V rail through the terminal blocks with the PS-5VDC-REG-8PG. The second option is to use the USB Device port which can provide 500mA at 5V. The TS-7600 will require approximately 250mA at idle. An ideal power supply for the TS-7600 will allow up to 1A.


WARNING: Do not use multiple power connections simultaneously or you may damage the board.

Once you have applied power you should look for console output. The first output is from the bootrom:

  >> TS-BOOTROM - built Apr 12 2013 13:35:38
  >> Copyright (c) 2009, Technologic Systems
  >> Booting from SD card...

This output will only appear on the serial console on the 26 pin header and cannot be redirected like the rest of the booting messages. The "Booting From" message will indicate your boot media. The 3 dots after indicate steps of the booting procedure. The first dot means the MBR was copied into memory and executed. The next two dots indicate that the MBR executed and the kernel and initrd were found and copied to memory.

2.4 Initrd / Busybox


3 Debian Configuration

For development, it is recommended to work directly in Debian on the SD card. Debian provides many more packages and a much more familiar environment for users already versed in Debian. Through Debian it is possible to configure the network, use the 'apt-get' suite to manage packages, and perform other configuration tasks. Out of the box the Debian distribution does not have any default username/password set. The account "root" is set up with no password configured. It is possible to log in via the serial console without a password but many services such as ssh will require a password set or will not allow root login at all. It is advised to set a root password and create a user account when the unit is first booted.

Note: Setting up a password for root is only feasible on the uSD image.

It is also possible to cross compile applications. Using a Debian host system will allow for installing a cross compiler to build applications. The advantage of using a Debian host system comes from compiling against libraries. Debian cross platform support allows one to install the necessary development libraries on the host, building the application on the host, and simply installing the runtime libraries on the target device. The library versions will be the same and completely compatible with each other. See the respective Debian cross compiling section for more information.

3.1 Configuring the Network

From almost any Linux system you can use "ip" or the ifconfig/route commands to initially set up the network. To configure the network interface manually you can use the same set of commands in the initramfs or Debian.

# Bring up the CPU network interface
ifconfig eth0 up

# Or if you're on a baseboard with a second ethernet port, you can use that as:
ifconfig eth1 up

# Set an ip address (assumes subnet mask)
ifconfig eth0

# Set a specific subnet
ifconfig eth0 netmask

# Configure your route.  This is the server that provides your internet connection.
route add default gw

# Edit /etc/resolv.conf for your DNS server
echo "nameserver" > /etc/resolv.conf

Most commonly networks will offer DHCP which can be set up with one command:

Configure DHCP in Debian:

# To setup the default CPU ethernet port
dhclient eth0
# Or if you're on a baseboard with a second ethernet port, you can use that as:
dhclient eth1
# You can configure all ethernet ports for a dhcp response with

Configure DHCP in the initrd:

udhcpc -i eth0
# Or if you're on a baseboard with a second ethernet port, you can use that as:
udhcpc -i eth1

To make your network settings take effect on startup in Debian, edit /etc/network/interfaces:

 # Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or 
 # /usr/share/doc/ifupdown/examples for more information.          
 # We always want the loopback interface.                          
 auto lo                                                           
 iface lo inet loopback                                            
 auto eth0                                                         
 iface eth0 inet static                                            
 auto eth1                                                         
 iface eth1 inet dhcp
Note: During Debian's startup it will assign the interfaces eth0 and eth1 to the detected mac addresses in /etc/udev/rules.d/70-persistent-net.rules. If the system is imaged while this file exists it will assign the new interfaces as eth1 and eth2. This file is generated automatically on startup, and should be removed before your first software image is created. The initrd network configuration does not use this file.

In this example eth0 is a static configuration and eth1 receives its configuration from the DHCP server. For more information on network configuration in Debian see their documentation here.

3.2 Installing New Software

Debian provides the apt-get system which lets you manage pre-built applications. Before you do this you need to update Debian's list of package versions and locations. This assumes you have a valid network connection to the internet.

Note: The NAND image is based on the emdebian project which is no longer maintained.

Debian Squeeze has been moved to archive so you will need to update /etc/apt/sources.list to contain only these two lines:

 deb http://archive.debian.org/debian squeeze main
 deb-src http://archive.debian.org/debian squeeze main
apt-get update

For example, lets say you wanted to install openjdk for Java support. You can use the apt-cache command to search the local cache of Debian's packages.

 <user>@<hostname>:~# apt-cache search openjdk                                                                                  
 icedtea-6-jre-cacao - Alternative JVM for OpenJDK, using Cacao                                                           
 icedtea6-plugin - web browser plugin based on OpenJDK and IcedTea to execute Java applets                                 
 openjdk-6-dbg - Java runtime based on OpenJDK (debugging symbols)                                                        
 openjdk-6-demo - Java runtime based on OpenJDK (demos and examples)                                                      
 openjdk-6-doc - OpenJDK Development Kit (JDK) documentation                                                              
 openjdk-6-jdk - OpenJDK Development Kit (JDK)                                                                            
 openjdk-6-jre-headless - OpenJDK Java runtime, using Hotspot Zero (headless)                                             
 openjdk-6-jre-lib - OpenJDK Java runtime (architecture independent libraries)                                            
 openjdk-6-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark                                                       
 openjdk-6-jre - OpenJDK Java runtime, using Hotspot Zero                                                                 
 openjdk-6-source - OpenJDK Development Kit (JDK) source files                                                            
 openoffice.org - office productivity suite                                                                               
 freemind - Java Program for creating and viewing Mindmaps                                                                
 default-jdk-doc - Standard Java or Java compatible Development Kit (documentation)                                       
 default-jdk - Standard Java or Java compatible Development Kit                                                           
 default-jre-headless - Standard Java or Java compatible Runtime (headless)                                               
 default-jre - Standard Java or Java compatible Runtime                                                                   

In this case you will likely want openjdk-6-jre to provide a runtime environment, and possibly openjdk-6-jdk to provide a development environment. You can often find the names of packages from Debian's wiki or from just searching on google as well.

Once you have the package name you can use apt-get to install the package and any dependencies. This assumes you have a network connection to the internet.

apt-get install openjdk-6-jre
# You can also chain packages to be installed
apt-get install openjdk-6-jre nano vim mplayer

For more information on using apt-get refer to Debian's documentation here.

3.3 Setting up SSH

On our boards we include the Debian package for openssh-server, but we remove the automatically generated keys for security reasons. To regenerate these keys:

dpkg-reconfigure openssh-server

Make sure your board is configured properly on the network, and set a password for your remote user. SSH will not allow remote connections without a password or a shared key.

Note: Setting up a password for root is only feasible on the uSD image.
passwd root

You should now be able to connect from a remote Linux or OSX system using "ssh" or from Windows using a client such as putty.

Note: If your intended application does not have a DNS source on the target network, it can save login time to add "UseDNS no" in /etc/ssh/sshd_config.

3.4 Starting Automatically

From Debian the most straightforward way to add your application to startup is to create a startup script. This is an example simple startup script that will toggle the red led on during startup, and off during shutdown. In this case I'll name the file customstartup, but you can replace this with your application name as well.

Edit the file /etc/init.d/customstartup to contain this:

 #! /bin/sh
 # /etc/init.d/customstartup
 case "$1" in
     ## If you are launching a daemon or other long running processes
     ## this should be started with
     # nohup /usr/local/bin/yourdaemon &
     # if you have anything that needs to run on shutdown
     echo "Usage: customstartup start|stop" >&2
     exit 3
 exit 0
Note: The $PATH variable is not set up by default in init scripts so this will either need to be done manually or the full path to your application must be included.

To make this run during startup and shutdown:

update-rc.d customstartup defaults

To manually start and stop the script:

/etc/init.d/customstartup start
/etc/init.d/customstartup stop

While this is useful for headless applications, if you are using X11 you should modify "/usr/bin/default-x-session":


export HOME=/root/
export ICEWM_PRIVCFG=/mnt/root/root/.icewm/

icewm-lite &

while ! xprop -root | grep -q _NET_SUPPORTING_WM_CHECK
    sleep 0.1

exec /usr/bin/fullscreen-webkit

Replace fullscreen-webkit with your own graphical application.

4 Backup / Restore


4.1 MicroSD Card


5 Software Development

5.1 Accessing Hardware Registers

5.2 Cross Compiling

5.3 Compile the Kernel

6 Features

6.1 CPU

This board features the i.MX283 454MHz ARM9 from Freescale. For more information about the processor and it's included peripherals, refer to the cpu manual.

6.2 FPGA


6.2.1 FPGA Bitstreams


6.2.2 FPGA Programming


6.3 XUARTs

The XUART controller is a core we have included in the FPGA, as well as a userspace application called xuartctl for accessing these UARTs. Rather than using a kernel driver with the standard serial interface, we have implemented the XUARTs with features to simplify application development. The XUARTs allow you to easily use arbitrary baud rates, nonstandard modes such as DMX or 9n1, and they allow a very low latency operation. The XUART layer also uses the very low overhead TCP layer which allows you to transport serial over the network without writing any code.

The simplest example to get started is to define the port with:

xuartctl --server --port=1 --speed=115200

This will return "ttyname=/dev/pts/0", or a higher pts number. You can use this /dev/pts/# device to access the UART, but note that the pts device number can change based on other ssh, telnet or other processes. See this section for a sample script to setup the XUARTs with a predictable device name.

For more information and detailed usage, see the xuartctl page.

The XUARTs like many other standard UARTs poll the RX buffers by default. The XUARTs have large RX FIFOs so polling at 100hz is the best choice for many applications. At the expense of more CPU time you can use an IRQ to achieve a much lower latency. This board uses IRQ 29 for the XUART IRQ. You can edit the linuxrc script and change the xuartctl server to start with:

xuartctl --irq=29 --server

6.4 Battery powered RTC


6.5 COM Ports

The XUART ports will be controlled with xuartctl. By default they will not have devices in /dev/.

Name Type Location
ttyS0 (console) TTL pins 7 (TX) and 8 (RX) of the #44 Pin Header.
XUART0 TTL pins 5 (TX) and 6 (RX) of the #44 Pin Header.
XUART1 TTL pins 19 (TX), 20 (RX), and 27 (TXEN) of the #44 Pin Header.
XUART2 TTL pins 21 (TX), 22 (RX), and 28 (TXEN) of the #44 Pin Header.
XUART3 TTL pins 23 (TX) and 24 (RX) of the #44 Pin Header.
XUART4 TTL pins 25 (TX) and 26 (RX) of the #44 Pin Header.
XUART5 TTL pins 31 (TX), 32 (RX), and 29 (TXEN) of the #44 Pin Header.
XUART6 TTL pins 34 (TX), 33 (RX), and 30 (TXEN) of the #44 Pin Header.
XUART7 TTL pins 36 (TX) and 35 (RX) of the #44 Pin Header.

6.6 SD


6.7 SPI Flash


6.8 CAN

Note: The default TS-7600 bitstream does not include CAN. See the #FPGA Bitstreams section for more information on bitstreams including CAN.

6.9 Syscon

The registers listed below are all 16 bit registers and must be accessed with 16 bit reads and writes. This register block appears at base address 0x80004000. For example, to identify the TS-4710:

peekpoke 16 0x80004000

This will return 0x4710 to read back the model ID.

Many of the syscon options can be manipulated using tshwctl.

 Usage: tshwctl [OPTION] ...
 Technologic Systems TS-76xx FPGA manipulation.
 General options:
   -g, --getmac            Display ethernet MAC address
   -s, --setmac=MAC        Set ethernet MAC address
   -R, --reboot            Reboot the board
   -t, --getrtc            Get system time from RTC time/date
   -S, --setrtc            Set RTC time/date from system time
   -F, --rtctemp           Print RTC temperature
   -v, --nvram             Get/Set RTC NVRAM
   -i, --info              Display board FPGA info
   -B, --baseboard         Display baseboard ID
   -a, --adc               Display MCP3428 ADC readings in millivolts
   -e, --greenledon        Turn green LED on
   -b, --greenledoff       Turn green LED off
   -c, --redledon          Turn red LED on
   -d, --redledoff         Turn red LED off
   -D, --setdio=LVAL       Set DIO output to LVAL
   -O, --setdiodir=LVAL    Set DIO direction to LVAL (1 - output)
   -G, --getdio            Get DIO input
   -Z, --getdioreg         Get DIO direction and output register values
   -x, --random            Get 16-bit hardware random number
   -W, --watchdog          Daemonize and set up /dev/watchdog
   -A, --autofeed=SETTING  Daemonize and auto feed watchdog
   -n, --setrng            Seed the kernel random number generator
   -X, --resetswitchon     Enable reset switch
   -Y, --resetswitchoff    Disable reset switch
   -l, --loadfpga=FILE     Load FPGA bitstream from FILE
   -q, --cputemp           Display the CPU die temperature
   -U, --removejp=JP       Remove soft jumper numbered JP (1-8)
   -S, --setjp=JP          Set soft jumper numbered JP (1-8)
   -h, --help              This help
Offset Bits Usage
0x0 15:0 Model ID: Reads 0x7600
0x2 15 Green LED (1 - on)
14 Red LED (1 - on)
13-12 Scratch Reg
11 Reset Switch Enable (1 - reboot when dio9 low)
10 Reserved latched mode3 value
9 Reserved latched mode2 value
8 Reserved latched mode1 value
7-4 Board Submodel (0x0 on production units)
3:0 FPGA revision
0x4 15:0 Random data changed every 1 second
0x6 15-4 Reserved
3 Lattice tagmem clock
2 Lattice tagmem serial in
1 Lattice tagmem CSn
0 Lattice tagmem serial out
0x8 15:0 DIO 15:0 input data
0xa 15:0 DIO 15:0 output data
0xc 15:0 DIO 15:0 data direction (1 - output)
0xe 15:0 DIO 31:16 input data
0x10 15:0 DIO 31:16 output data
0x12 15:0 DIO 31:16 data direction (1 - output)
0x14 15:0 DIO 47:32 input data
0x16 15:0 DIO 47:32 output data
0x18 15:0 DIO 47:32 data direction (1 - output)
0x1a 15:0 DIO 63:48 input data
0x1c 15:0 DIO 63:48 output data
0x1e 15:0 DIO 53:48 data direction (1 - output)
0x20 15:9 Reserved
8:6 DIO 66:64 input data
5:3 DIO 66:64 output data
2:0 DIO 66:64 data direction (1 - output)
0x22 15:0 #Watchdog

6.10 Watchdog


6.11 DIO


DIO Number Location Alternate Function

6.12 Random Number Generator

Because many embedded systems do not have much entropy, we have included a core in the FPGA with a random number generator. On startup, tshwctl is called with the --setrng option to seed Linux's random number generator from the hardware random number generator. Without a good source of entropy, Linux's random number generator will start up in a very predictable state which is undesirable for the security of many cryptography protocols.

6.13 Interrupts

6.14 I2C


6.15 SPI


6.16 External Reset

Driving the external reset pin (DIO 9) low will reset the CPU by default. You can disable this functionality by running:

tshwctl --resetswitchoff

6.17 Temperature Sensor


7 Connectors

7.1 44 Pin Header

The 44 pin header contains almost all of the I/O on the TS-7500. On the baseboard, typically the 4 JTAG pins are left hanging:


The CN-PC104-40PIN-F is available as a mating connector to this header.

Pin # Schematic Name Maximum Voltage DIO Default State Function
1 JTAG_DOUT N/A N/A Used for factory programming
2 JTAG_TMS N/A N/A Used for factory programming
3 JTAG_CLK N/A N/A Used for factory programming
4 JTAG_DIN N/A N/A Used for factory programming
5 DIO_05 / MODE2 3.3V Pulled high Used to toggle boot device / XUART0_TX
6 DIO_06 3.3V Pulled high XUART0_RX
7 DIO_07 3.3V Pulled high Console TX / MODE1
8 DIO_08 3.3V Pulled high Console RX
9 DIO_09 3.3V Pulled high #RESET - ground to reset the board
10 3.3V 3.3V N/A Provides 3.3V
11 DIO_11 / SPI_CS# 3.3V Pulled high Chip select 1
12 DIO_12 3.3V Floating SPI_MISO
13 DIO_13 3.3V Pulled down SPI_MOSI
14 DIO_14 3.3V Pulled high SPI CLK
15 5V 5V N/A Provides 5V
16 GND N/A N/A Ground
17 SCL 3.3V Pulled high I2C SCL
18 SDA 3.3V Pulled high I2C SDA
19 DIO_19 3.3V Pulled high XUART1 TX
20 DIO_20 3.3V Pulled high XUART1 RX
21 DIO_21 3.3V Pulled high XUART2 TX
22 DIO_22 3.3V Pulled high XUART2 RX
23 DIO_23 3.3V Pulled high CAN TX / XUART3 TX
24 DIO_24 3.3V Pulled high CAN RX / XUART3 RX
25 DIO_25 3.3V Pulled high XUART4 TX
26 DIO_26 3.3V Pulled high XUART4 RX
27 DIO_27 3.3V Pulled high XUART1 TXEN
28 DIO_28 3.3V Pulled high XUART2 TXEN
29 DIO_29 3.3V Pulled high XUART5 TXEN
30 DIO_30 3.3V Pulled high XUART6 TXEN
31 DIO_31 3.3V Pulled high XUART5 TX
32 DIO_32 3.3V Pulled high XUART5 RX
33 DIO_33 3.3V Pulled high XUART6 TX
34 DIO_34 3.3V Pulled high XUART6 RX
35 DIO_35 3.3V Pulled high XUART7 TX
36 DIO_36 3.3V Pulled high XUART7 RX
37 DIO_37 3.3V Pulled high DIO 37
38 DIO_38 3.3V Pulled high DIO 38
39 DIO_39 3.3V Pulled high DIO 39
40 DIO_40 3.3V Pulled high DIO 40
41 POE_RX N/A N/A Power over ethernet
42 POE_78 N/A N/A Power over ethernet
43 POE_45 N/A N/A Power over ethernet
44 POE_TX N/A N/A Power over ethernet
Pin Layout
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
27 28
29 30
31 32
33 34
35 36
37 38
39 40
41 42
43 44
Note: Use of the JTAG pins for programming the board is not supported or recommended.

None of the DIO are tolerant to 5V. The FPGA DIO all support up to 3.3V with 12mA drive capability.

7.2 TS-752

See the TS-752 page for more information on the other available connectors.

7.3 COM Ports

The XUART ports will be controlled with xuartctl. By default they will not have devices in /dev/. Keep in mind these will be brought out in different locations when using a TS-752.

Name Type Location TX Enable
ttyS0 TTL pins 7 (TX) and 8 (RX) of the ##44 Pin Header. N/A
XUART0 TTL pins 5 (TX) and 6 (RX) of the #44 Pin Header. N/A
XUART1 TTL pins 19 (TX) and 20 (RX) of the #44 Pin Header. pin 27 of the #44 Pin Header
XUART2 TTL pins 21 (TX) and 22 (RX) of the #44 Pin Header pin 28 of the #44 Pin Header
XUART3 TTL pins 23 (TX) and 24 (RX) of the #44 Pin Header N/A
XUART4 TTL pin 25 (TX) and 26 (RX) on the #44 Pin Header N/A
XUART5 TTL pin 31 (TX) and 32 (RX) on the #44 Pin Header pin 29 of the #44 Pin Header
XUART6 TTL pin 34 (RX) and 33 (TX) on the #44 Pin Header pin 30 of the #44 Pin Header
XUART7 TTL pin 36 (RX) and 35 (TX on the #44 Pin Header N/A

8 Product Notes

8.1 FCC Advisory

This equipment generates, uses, and can radiate radio frequency energy and if not installed and used properly (that is, in strict accordance with the manufacturer's instructions), may cause interference to radio and television reception. It has been type tested and found to comply with the limits for a Class A digital device in accordance with the specifications in Part 15 of FCC Rules, which are designed to provide reasonable protection against such interference when operated in a commercial environment. Operation of this equipment in a residential area is likely to cause interference, in which case the owner will be required to correct the interference at his own expense.

If this equipment does cause interference, which can be determined by turning the unit on and off, the user is encouraged to try the following measures to correct the interference:

Reorient the receiving antenna. Relocate the unit with respect to the receiver. Plug the unit into a different outlet so that the unit and receiver are on different branch circuits. Ensure that mounting screws and connector attachment screws are tightly secured. Ensure that good quality, shielded, and grounded cables are used for all data communications. If necessary, the user should consult the dealer or an experienced radio/television technician for additional suggestions. The following booklets prepared by the Federal Communications Commission (FCC) may also prove helpful:

How to Identify and Resolve Radio-TV Interference Problems (Stock No. 004-000-000345-4) Interface Handbook (Stock No. 004-000-004505-7) These booklets may be purchased from the Superintendent of Documents, U.S. Government Printing Office, Washington, DC 20402.

8.2 Limited Warranty

Technologic Systems warrants this product to be free of defects in material and workmanship for a period of one year from date of purchase. During this warranty period Technologic Systems will repair or replace the defective unit in accordance with the following process:

A copy of the original invoice must be included when returning the defective unit to Technologic Systems, Inc. This limited warranty does not cover damages resulting from lightning or other power surges, misuse, abuse, abnormal conditions of operation, or attempts to alter or modify the function of the product.

This warranty is limited to the repair or replacement of the defective unit. In no event shall Technologic Systems be liable or responsible for any loss or damages, including but not limited to any lost profits, incidental or consequential damages, loss of business, or anticipatory profits arising from the use or inability to use this product.

Repairs made after the expiration of the warranty period are subject to a repair charge and the cost of return shipping. Please, contact Technologic Systems to arrange for any repair service and to obtain repair charge information.