NVIDIA® Jetson™ Xavier™ NX Getting Started for DSBOARD-NX2 (Rev. 1.1)
WHAT YOU WILL LEARN?
1-The pinout of I/O connector
2- Power socket polarization
3- Examples of I/O connector
ENVIRONMENT
Hardware: DSBOARD-NX2
OS: Jetpack 4.5
This blog post is suitable for:
DSBOARD-NX2 (Rev. 1.1) with Jetson Xavier NX SOM
DSBOX-NX2
DSBOARD-NX2 is an industrial carrier board for NVIDIA Jetson Nano/Xavier NX/TX2 NX. We will explain how to get started with Jetson Xavier NX on this blog post.
Before you plug in DC power cable, you should plug in Ethernet cable, keyboard and mouse’s USB cables to USB ports, HDMI cable to HDMI port socket for monitoring the system and the Jetson Xavier NX module to its socket.
After connections are done, you can plug in the DC power cable to “DC IN” socket. The DC Power Source should be in the range of 9-28 Volt DC. If you have auto power version device, the system runs as soon as you plug the DC power cable. If you have other version, you should press power button which is located on the front side.
You can see the power connector pinout below. First and third pins are positive polarization, second and fourth pins are negative polarization.
After you energize the board, the system runs. The industrial box PC has preinstalled operating system (Ubuntu 18.04) (the user name and the password are “nvidia”).
If you would like to upgrade or downgrade the software version, please click here.
CAN BUS INTERFACE
First, let's look the I/O connector. On the connector, there are 2 pins for CAN Bus and 1 for isolated ground. When using CAN Bus always double check which ground pin you are using. You must use digital ground for CAN Bus applications.
To test CAN Bus functionality, we used USB-CAN adapter. Connect that adapter to the USB port of the host PC and install its driver software if necessary. To the other side of the adapter connect your device’s CAN pins.
On next step, activate CAN drivers and activate CAN interface with “ip link” command. On host side, be sure that you are using same bitrate with your device.
sudo busybox devmem 0xc303000 32 0x0000c400
sudo busybox devmem 0xc303008 32 0x0000c450
sudo modprobe can
sudo modprobe can-raw
sudo modprobe mttcan
sudo ip link set can0 up type can bitrate 500000
Lastly, you can use can-utils tools to communicate.
Use cangen to write random data:
cangen can0 -v
Use cansend to write data:
cansend can0 123#1122334455667788
cansend can0 123#1122334455667788
Use candump to listen bus:
candump can0
IIO (Industrial Input Output) Interface
On the IO connector, there are 3 isolated outputs, 2 isolated inputs and 1 isolated ground. Also, you can get 2 more isolated input pins with simple hardware rework. When using IIO always double check which ground pin you are using. You must use isolated ground for IIO applications.
Digital IN0 Test
Find sysfs equivalent of the connected input pin from the table. For this setup it is gpio-232. After proper hardware connection, we can continue on the software side.
Set gpio232 (DIGITAL_IN0) as input and read sensor value. To do this, you could use the commands below.
· sudo echo 232 > /sys/class/gpio/export
· sudo echo in > /sys/class/gpio/gpio232/direction
· sudo cat /sys/class/gpio/gpio232/value
Digital OUT0 Test
Find sysfs equivalent of the connected output pin from the table below. For this setup it is gpio-236. After proper hardware connection, we can continue on the software side.
Then set gpio236 (DIGITAL_OUT0) as output and control light state. To do this, you could use the commands below.
sudo echo 236 > /sys/class/gpio/export
sudo echo out > /sys/class/gpio/gpio236/direction
To short Output
sudo echo 1 > /sys/class/gpio/gpio236/value
To open Output
sudo echo 0 > /sys/class/gpio/gpio236/value
Serial Communication Interfaces
To test all serial communication interfaces, open new terminal and install GtkTerm program for ease of use (make sure Ethernet cable is connected). Then run GtkTerm program with arguments. On host side, you can use TeraTerm or Putty for Windows; GtkTerm for Ubuntu OS. You can install GtkTerm with this terminal command:
sudo apt install gtkterm
RS232 Test
To test RS232 functionality, we used USB-Serial adapter. Connect that adapter to the USB port of the host PC and install its driver software if necessary. To the other side of the adapter connect your device’s RS232 pins with cross connection (Rx to Tx, Tx to Rx). You can find the hardware pins below. For ground connection, use GND_DIGITAL pin.
After proper connection, you should do pin muxing on your device to use Serial Port as RS232. To do this open new terminal then type these commands below.
sudo echo 424 > /sys/class/gpio/export
sudo echo 436 > /sys/class/gpio/export
sudo echo out > /sys/class/gpio/gpio424/direction
sudo echo out > /sys/class/gpio/gpio436/direction
sudo echo 0 > /sys/class/gpio/gpio424/value
sudo echo 0 > /sys/class/gpio/gpio436/value
If you are using GtkTerm on Ubuntu, run these commands below. If you have done everything correctly you could see your keyboard presses on the other machine's serial terminal.
sudo gtkterm -p /dev/ttyTHS0 -s 115200
RS422 Test
To test RS422 functionality, we used USB-Serial adapter. Connect that adapter to the USB port of the host PC and install its driver software if necessary. To the other side of the adapter connect your device’s RS422 pins with cross connection (Rx to Tx, Tx to Rx but positive to positive, negative to negative). You can find the hardware pins below. For ground connection, use GND_DIGITAL pin.
After proper connection, you should do pin muxing on your device to use Serial Port as RS422. To do this open new terminal then type these commands below.
sudo echo 424 > /sys/class/gpio/export
sudo echo 436 > /sys/class/gpio/export
sudo echo out > /sys/class/gpio/gpio424/direction
sudo echo out > /sys/class/gpio/gpio436/direction
sudo echo 0 > /sys/class/gpio/gpio424/value
sudo echo 1 > /sys/class/gpio/gpio436/value
If you are using GtkTerm on Ubuntu, run these commands below. If you have done everything correctly you could see your keyboard presses on the other machine's serial terminal.
sudo gtkterm -p /dev/ttyTHS0 -s 115200
RS485 Test
To test RS485 functionality, we used USB-Serial adapter. Connect that adapter to the USB port of the host PC and install its driver software if necessary. To the other side of the adapter connect your device’s RS485 pins. You can find the hardware pins below. For ground connection, use GND_DIGITAL pin.
After proper connection, you should do pin muxing on your device to use Serial Port as RS485. To do this open new terminal then type these commands below.
sudo echo 267 > /sys/class/gpio/export
sudo echo 424 > /sys/class/gpio/export
sudo echo 436 > /sys/class/gpio/export
sudo echo out > /sys/class/gpio/gpio267/direction
sudo echo out > /sys/class/gpio/gpio424/direction
sudo echo out > /sys/class/gpio/gpio436/direction
sudo echo 1 > /sys/class/gpio/gpio424/value
sudo echo 1 > /sys/class/gpio/gpio436/value
To Write Data
sudo echo 1 > /sys/class/gpio/gpio267/value
To Read Data
sudo echo 0 > /sys/class/gpio/gpio267/value
If you are using GtkTerm on Ubuntu, run these commands below. If you have done everything correctly you could see your keyboard presses on the other machine's serial terminal.
sudo gtkterm -p /dev/ttyTHS0 -s 115200 -w RS485
Thank you for reading our blog post.