ROM-3620 user guide

From ESS-WIKI
Revision as of 07:41, 29 December 2023 by Jems.cheng (talk | contribs)
Jump to: navigation, search

 


Contents

產品介紹(Product introduction)

產品特性(Product Features)

  • NXP i.MX 8X processor with 2-4 x Arm Cortex-A35 cores
  • Onbard LPDDR4 memory and eMMC 16GB
  • Supports wide range power input 5V~24V
  • Supports Vivante GC7000 Lite hardware accelerators
  • Supports Ultra HD 4K/ full HD 1080p video decode and HD 1080p video encode hardware engine
  • Supports 1 PCIe, 1 USB 3.0, 1 USB 2.0, 1 USB OTG2.0, 5 I2C, 1 I2S, 1 Camera in, 2 CANbus, 10 GPIO
  • Low power consumption, fanless desgin
  • Supports Linux and Android BSP

產品官網連結(Product Features)

ROM-3620

硬件接口說明(Hardware interface introduction)

接口布局和尺寸(Layout and Sizes)

ROM-3620 接口布局圖 Board Dimension Layout 

RTENOTITLE

Position

Description

SW1(1)

UART & Debug Port selection

SW1(2)

AT & ATX mode selection

 

SW1(1): UART & Debug Port selection

Setting

Function

1-On

Normal UART

1-Off

Debug Console (Default)

 

SW1(2): AT/ATX Mode Selection

Setting

Function

2-On

AT Mode (Default)

2-Off

ATX Mode

ROM-DB3900 接口布局圖 Board Dimension Layout

RTENOTITLE

RTENOTITLE

 

主板内置插针式引脚排序方式 (Pin Header defination) 

Internal I/O

RTENOTITLE

Position Description Connector Type
DCIN DC-in DC POWER JACK 2.5mm 90D(M) DIP 2DCG213B200
COM01 COM Port D-SUB Conn. 18P 90D(M) DIP DM10151-H531-4F
HDMI HDMI HDMI Conn. 19P 0.5mm 90D(F) SMD QJ51191-LFB4-7F
VGA VGA D-SUB Conn. 15P 90D(F) DIP 070242FR015S200ZU
RJ45+USB LAN+USB PhoneJack RJ45+USB3.0*2 32P 90D(F) DIP 05-A00919
Phone Jack Phone Jack Audio Jack 9P 2.5mm 90D(F) DIP ABA-JAK-03
Audio Audio PIN HEADER 2x10P 2.54mm 180D(M) DIP 21N22564
LVDS LVDS B/B Conn. 40P 1.25mm 90D SMD DF13-40DP-1.25V(91)
FAN FAN Wafer 2.54mm 3P 180D(M) DIP 22-27-2031
SATA_PWR SATA power WAFER 4P 2.5mm 180D(M) DIP 24W1161-04S10-01T
PCIE_SLOT0 PCIE_SLOT0 PCIEXPRESS 36P 180D(F) DIP 2EG01817-D2D-DF
PCIE_SLOT1 PCIE_SLOT1 PCIEXPRESS 36P 180D(F) DIP 2EG01817-D2D-DF
SATA SATA Serial ATA 7P 1.27mm 180D(M) DIP WATM-07DBN4A3B8
GPIO GPIO PIN HEADER 10x2P 2.0mm 180D(M) DIP 21N22050
LVDS_BKLT LVDS Backlight WAFER BOX 2.0mm 5P 180D(M) DIP WO/Pb JIHVEI
SW3 Reset button TACT SW STS-091 SMD 4P H=3.8mm
SW4 Power button TACT SW STS-091 SMD 4P H=3.8mm
SW5 Sleep button TACT SW STS-091 SMD 4P H=3.8mm
SW6 Wake up button TACT SW STS-091 SMD 4P H=3.8mm
SPI0 SPI0 PIN HEADER 2x4P 2.54mm 180D(M) DIP 210-92-04GB02
SPI1 SPI1 PIN HEADER 2x4P 2.54mm 180D(M) DIP 210-92-04GB02
SW2 Boot selection DIP SW EDG104S DIP 6P Radial SPST
COM3 COM3 BOX HEADER 5x2P 2.54mm 180D(M) DIP 23N6960-10S10
COM2 COM2 BOX HEADER 5x2P 2.54mm 180D(M) DIP 23N6960-10S10
CAN1 CAN1 BOX HEADER 5x2P 2.54mm 180D(M) DIP 23N6960-10S10
CAN0 CAN0 BOX HEADER 5x2P 2.54mm 180D(M) DIP 23N6960-10S10
USB_OTG USB OTG MINI USB 5P 180D(F) SMD UH51543-CS7-7F
SD SD SD CARD 9P 90D(F) SMD WK2192C-S3D-7H
System_Bus SYSTEMBUS PCB SKT 30x4P 2.00mm 180D(F) DIP 264-40303-02
I2C0 I2C0 WAFER BOX 2.0mm 4P 180D(M) W/LOCKA2001WV2-4P
I2C1 I2C1 WAFER BOX 2.0mm 4P 180D(M) W/LOCKA2001WV2-4P
RTXA,RTXB,
RTXC,RTXD
RTX B2B
Connector
B/B Conn. 50x2P 0.5mm 180D(M) SMDAXK500137YG


Rear I/O 

RTENOTITLE

Position Description Name
DCIN DC Jack A
COM01A UART Port 1 B
COM01B UART Port 2 C
HDMI HDMI Port D
VGA VGA Port E
RJ45+USB GbE Ethernet Connector F
RJ45+USB USB Port 1/ 2 G
PHONE_JACK MIC Input/ Audio Output H

接口引脚定義 (Pin definitions)

    Rear IO:

    Internel IO:

 

机械尺寸  (Mechanical Characteristics)

ROM-3620 

RTENOTITLERTENOTITLE


快速入门 (Quick Start)

系统下载 (OS Download)

  • 'Linux系统 (Linux OS)'   
Version Date Product CPU Yocto3.0/Ubuntu18.04/Debian9 SDK Components Features Modules Test Report Release Release notes Comment
V90210 2021-03-09 ROM-3620 8X Yocto2.5 SDK Components Features Modules Test Report 4.14.98 MP Release Note MP
VA0297 2021-07-21 ROM-3620  8X Yocto3.0 SDK Components Features Modules Test Report 5.4.70 Alpha Release_Note QE test


Linux 燒錄方法 (Linux Flash eMMC Method)

使用Flash tool 燒錄鏡像到eMMC (Flash image into eMMC by Flash Tools) 

1. Copy 3620A1AIM20LIV90210_iMX8X_flash_tool.tgz package to your desktop.
2. Insert SD card to PC.
3. Make a bootable sd card.

# tar zxvf 3620A1AIM20LIV90210_iMX8X_flash_tool.tgz
# cd 3620A1AIM20LIV90210_iMX8X_flash_tool/mk_inand/
# sudo ./mksd-linux.sh /dev/sdg

4. Insert SD card and copy 3620A1AIM20LIV90210_iMX8X_flash_tool to USB disk.
5. Insert USB disk and SD card then Boot from SD.
6. Enter usb disk folder, make a bootable emmc.

# cd /run/media/sda1/
# cd 3620A1AIM20LIV90210_iMX8X_flash_tool/mk_inand/
# sudo ./mksd-linux.sh /dev/mmcblk0

     

使用UUU工具燒錄鏡像到eMMC (Flash image into eMMC by UUU Tools)

1. Download UUU tool from (https://github.com/ADVANTECH-Corp/uuu/releases/download/v20191101/uuu).
2. Create a folder with files as below:

 UUU
 imx-boot-imx8qxprom3620a1-sd.bin-flash
 fsl-image-qt5-validation-imx-imx8qxprom3620a1-20210309105548.rootfs.sdcard


3. Connect otg cable from PC to device.
4. Set the correct boot mode, then power on(4-on only).

RTENOTITLE
5. Perform the following command:

$ sudo ./uuu -b emmc_all_adv imx-boot-imx8qxprom3620a1-sd.bin-flash fsl-image-qt5-validation-imx-imx8qxprom3620a1-20210309105548.rootfs.sdcard


6. UUU tool will start recovery image to eMMC.
7. For more usage:
http://ess-wiki.advantech.com.tw/view/IoTGateway/BSP/Linux/iMX8/Yocto_LBV9_User_Guide#System_Recovery

Debug 串口調試 (Debug port Setting)

1. Connect debug port cable (1701100300) to debug port (COM3) on ROMDB3900.
2. Connect it to your PC with RS-232 Cable (1700019474).

RTENOTITLE

ROM-3620 can communicate with a host server by using serial cables. Common serial communication programs such as HyperTerminal, Tera Term or PuTTY can be used in this case. The example below describes the serial terminal setup using HyperTerminal on a Windows host:
1. Connect ROM-3620 with your PC by using a serial cable.
2. Open HyperTerminal on your Windows PC, and select the settings as shown in below Photo.

以 Tera Term  为例介绍如何使用串口调试功能

Tera Term Tool 

RTENOTITLE

Check the Sriel port in Device Manager (查看PC端的串口号):

if you can not identify the Serial device , please check your serial driver. 

Debug port connection (串口連接) 

Log into Terminal  Tool (进入串口调试终端):

 

Linux系统的基本使用(Linux System Basic Operating Method)

Display Setting (ROM-3620)

  • Single Channel LVDS0 + Single Channel LVDS1 (Default):

LVDS0 - g070vw01v0(VDD:3.3V, Backlight Power:12V)
1. Connect LVDS VDD and Backlight Power cable.
2. Power on.
3. Weston UI will be displayed on the screen.

RTENOTITLE

LVDS1 - g070vw01v0(VDD:3.3V, Backlight Power:12V)
1. Connect LVDS VDD and Backlight Power cable.
2. Power on.
3. Weston UI will be displayed on the screen.

RTENOTITLE

  • Dual Channel LVDS:

Dual Channel LVDS - g215hvn0 (VDD:5V, Backlight Power:12V)
1. Connect two LVDS VDD and Backlight Power cable.
2. Power on.
3. Press enter after boot, system will stop at u-boot as below:

u-boot=>
u-boot=>run lvds_dual

4. Weston UI will be displayed on the screen

RTENOTITLE

  • MIPI to HDMI test:

1. Connect LVDS to HDMI cable to LVDS0 or LVDS1.
2. Power on.
3. Press enter after boot, system will stop at u-boot as below: 

u-boot=>
u-boot=>run hdmi_bridge

4. Weston UI will be displayed on the screen.

RTENOTITLE

Test HDMI with different resolutions:

1. Disable weston UI.

# systemctl stop weston

2. Get “connect ID” and “support resolutions“.

# modetest -c

RTENOTITLE
3. Play colorbar of the specified resolution on HDMI.

# modetest -s 56:1920x1080-60


Audio測試方法(Audio Testing Method):

1. Connect ROM-EG51 to I2S_CN3, connect MIC and headphone.
2. Power on and check Audio Codec (SGTL5000)

# cat /proc/asound/cards
# amixer set Mic 100%
# amixer set Headphone 100%

RTENOTITLE

3. Record and playback.

# arecord -t wav -c 1 -r 44100 -d 5 /tmp/mic.wav
# aplay /tmp/mic.wav


4G使用方法(4G Testing Method)

Test 4G: (EWM-C117FL06E - USB)
1. Connect EWM-C117FL06E to Mini PCIE slot on 9680015491 and connect the card to CN6 PCIe_D slot on ROM-DB5901.
2. Connect the antenna 1750007990-01 to the SMA (F) connector on 9680015491 and connect the IPEX connector to MT1 on EWM-C117FL06E module.
3. Connect the Mini USB cable from 9680015491 to USB 2.0 Type A port on ROM-DB3900.
4. Power on and execute the pppd command to connect to the network.

# pppd connect 'chat -v -s -t 10 "" "AT" "" "ATDT*99***4#" "CONNECT" ""' user username pass�word password /dev/ttyACM2 460800 nodetach crtscts debug usepeerdns defaultroute &

RTENOTITLE


WiFi使用方法(WIFI Testing Method)

Test WiFi card (EWM-W189H02E PCIe signal)

# killall wpa_supplicant
# ifconfig wlan0 up
# wpa_passphrase “SSID” “PASSWORD” > /tmp/wpa.conf
# wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf
# udhcpc -b -i wlan0

Ping network:

RTENOTITLE


串口使用方法(Serial Port Operating Method)

A. RS-232 Test:
Loopback test (eg. ttyLP1)
UART1(COM01_UP)(ttyLP1):      Change SW1801 jumper to switch modes. (SW1801: 1-on, 2,3,4-off)
UART2(COM01_Down)(ttyLP2):  Change SW1802 jumper to switch modes. (SW1802: 1-on, 2,3,4-off)
UART3(COM2)(ttyLP3):               Change SW1901 jumper to switch modes. (SW1901: 1-on, 2,3,4-off)

# stty -F /dev/ttyLP1 -echo -onlcr 115200
# cat /dev/ttyLP1 &
# echo test > /dev/ttyLP1

B. RS-485 Test:
UART1(COM01_UP)(ttyLP1): Change SW1801 jumper to switch modes. (SW1801: 2-on, 1,3,4-off)
Test RS-485 with Adam-4520.

# ./enable485 /dev/ttyLP1
# stty -F /dev/ttyLP1 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
# cat /dev/ttyLP1 &
# echo test > /dev/ttyLP1


I2C測試方法(I2C Testing Method)

Check I2C Device (audio codec: 3-000a):

# i2cdetect -y 1

ROM-3620-I2C detect.png

I2C set and get:

# i2cset -f -y 1 0x0a 0 0xff00 w
# i2cget -f -y 1 0x0a 0 w

ROM-3620-I2C set.png


USB測試方法(USB Testing Method)

USB (2.0/3.0) disk test
After inserting the USB disk into 2.0 or 3.0 port: (Please note that with ROM-3620, USB3.0 port on ROM-DB3900 coastline can only recognize USB 3.0 devices. It can not recognize USB 2.0 only devices.)

ROM-3620-USB.png

Test (eg. if USB disk is/dev/sda)

# dd if=/dev/urandom of=data bs=1 count=1024
# dd if=/dev/sda of=backup bs=1 count=1024 skip=4096
# dd if=data of=/dev/sda bs=1 seek=4096
# dd if=/dev/sda of=data1 bs=1 count=1024 skip=4096
# diff data data1
# dd if=backup of=/dev/sda bs=1 seek=4096


RTC測試方法(RTC Testing Method)

Disable rtc sync service:

# systemctl stop systemd-timesyncd
# systemctl stop ntpdate.service

RTENOTITLE

Set system time to current, then write to RTC:

# date 021710452022 && hwclock -w && date

RTENOTITLE

Set one incorrect time, then read time from RTC to verify:

# date 010100002000 && hwclock -r && date

RTENOTITLE

Restore the RTC time to system time.

# hwclock -s && date

RTENOTITLE


eMMC/SD/SPI Flash測試方法(eMMC/SD/SPI Flash Testing Method)

eMMC: /dev/mmcblk0
SD: /dev/mmcblk1
QSPI1: /dev/mtd0
SPI0_0: /dev/mtd1
SPI0_1: /dev/mtd2
SPI3_0: /dev/mtd3
SPI3_1: /dev/mtd4

Test command(eg. emmc):

# dd if=/dev/urandom of=data bs=1 count=1024
# dd if=/dev/mmcblk0 of=backup bs=1 count=1024 skip=4096
# dd if=data of=/dev/mmcblk0 bs=1 seek=4096
# dd if=/dev/mmcblk0 of=data1 bs=1 count=1024 skip=4096
# diff data data1
# dd if=backup of=/dev/mmcblk0 bs=1 seek=4096


乙太網路使用方法(Ethernent Testing Method)

Connect cable and use command : ifconfig

# ifconfig

RTENOTITLE

Ping test (eg.eth1):

# ping - I eth1 8.8.8.8

RTENOTITLE


GPIO使用方法(GPIO Operating Method)

CPU Ball Name Pin# Number
SC_P_QSPI0B_DATA0_LSIO_GPIO3_IO18 GPIO0 402
SC_P_QSPI0B_DQS_LSIO_GPIO3_IO22 GPIO1 406
SC_P_QSPI0B_DATA1_LSIO_GPIO3_IO19 GPIO2 403
SC_P_CSI_PCLK_LSIO_GPIO3_IO00 GPIO3 384
SC_P_SPI2_SCK_LSIO_GPIO1_IO03 GPIO4 451
SC_P_SPI2_CS0_LSIO_GPIO1_IO00 GPIO5 448
SC_P_SPI2_SDO_LSIO_GPIO1_IO01 GPIO6 449
SC_P_SPI2_SDI_LSIO_GPIO1_IO02 GPIO7 450
SC_P_MCLK_IN0_LSIO_GPIO0_IO19 GPIO8 499
SC_P_QSPI0B_SCLK_LSIO_GPIO3_IO17 GPIO9 401

Loopback test (take GPIO0 and GPIO1 as an example)
1. Connect GPIO0 and GPIO1.
2. Export GPIO interface.

# echo 402 > /sys/class/gpio/export
# echo 406 > /sys/class/gpio/export

ROM-3620-GPIO1.png
3. Set direction.

# echo out > /sys/class/gpio/gpio1/direction
# echo in > /sys/class/gpio/gpio2/direction

ROM-3620-GPIO2.png
4. Read value and set output value than check.

# cat /sys/class/gpio/gpio2/value
# echo 1 > /sys/class/gpio/gpio1/value
# cat /sys/class/gpio/gpio2/value

ROM-3620-GPIO3.png


 


Watchdog測試方法(Watchdog Testing Method)

System will reboot after 1 sec.

# /unit_tests/Watchdog/wdt_driver_test.out 1 2 0

ROM-3620-WDog.png


Camer測試方法(Camera Testing Method)

Please connect MIPI-CSI2 camera (OV5640) to CN39 FPC connector.
Preview:

# gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! waylandsink

Capture:

# gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! video/x-raw,width=640,height=480 ! jpegenc ! filesink location=sample.jpeg

CANbus測試方法(CANbus Testing Method)

1. Connect CAN0_D+ to CAN1_D+ and CAN0_D- to CAN1_D-.
2. Set CAN0 and CAN1 up.

# ip link set can0 up type can bitrate 12500
# ifconfig can0 up
# ip link set can1 up type can bitrate 12500
# ifconfig can1 up

ROM-3620-CAN1.png

3. candump can0.

# candump can0 &

ROM-3620-CAN2.png
4. cansend can1.

# cansend can1 1F334455#1122334455667788

ROM-3620-CAN3.png

蓝牙使用方法(BlueTooth Operating Method)

Command : 

$ hciconfig hci0 up
$ bluetoothctl
$ discoverable on
$ pairable on
$ scan on
[NEW] FC:18:3C:8D:75:F4 myphone
$ scan off
$ pair FC:18:3C:8D:75:F4
$ connect FC:18:3C:8D:75:F4

RTENOTITLE

 

遠程訪問及文件傳輸(Remote Access and File Transimmion)

              查看主板IP位址 ( Chech IP Address ):

        Command : ifconfig

RTENOTITLE

Windows下SSH访问及文件传输

SSH Remote Log into Device 

  • SSH远程登录,以putty选择putty.exe(或者使用Xshell、SecureCRT等类似软件)
  • 需要设置远程设备的IP、通讯端口(默认22)、通讯方式,登录后验证用户名密码

 

RTENOTITLE

RTENOTITLE

 

RTENOTITLE

RTENOTITLE

通用方法(General Method)

查看CPU温度(Check CPU Temperature)

    root@imx8qxprom5620a1:/# cat /sys/devices/virtual/thermal/thermal_zone0/temp 44600

    # 或者直接以度爲單位顯示 echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]° >>> 45°

 

查看CPU频率(Check CPU Frequency)

           cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq 
           >> 900000
           cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq    
           >> 1200000

 

查看内存容量(Check Memory Capacity)

root@imx8qxprom5620a1:/# busybox free -m
             total       used       free     shared    buffers     cached
Mem:       1794920     516080    1278840      17252      9852        80292
-/+ buffers/cache:     425936    1368984
Swap:            0          0          0

 

查看存储容量(Check Storage Capacity)

root@imx8qxprom5620a1:/# busybox df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                13.4G      1.7G     11.1G  13% /
devtmpfs                395.8M      4.0K    395.8M   0% /dev
tmpfs                   876.4M         0    876.4M   0% /dev/shm
tmpfs                   876.4M     16.5M    859.9M   2% /run
tmpfs                   876.4M         0    876.4M   0% /sys/fs/cgroup
tmpfs                   876.4M      4.0K    876.4M   0% /tmp
tmpfs                   876.4M    280.0K    876.2M   0% /var/volatile
/dev/mmcblk0p2           13.6G      1.7G     11.3G  13% /run/media/mmcblk0p2
/dev/mmcblk0p1           63.9M     23.4M     40.5M  37% /run/media/mmcblk0p1
/dev/mmcblk1p1           63.9M     23.4M     40.5M  37% /run/media/mmcblk1p1
tmpfs                   175.3M     88.0K    175.2M   0% /run/user/0
root@imx8qxprom5620a1:/#

 

網路Ping測試(Ping Network Testing)

     ping 8.8.8.8
     PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
     64 bytes from 8.8.8.8: icmp_seq=1 ttl=54 time=2.10 ms
     64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=2.10 ms

 

設置RTC (RTC Setting) 

     root@imx8qxprom5620a1:/# systemctl stop ntpdate.service
     root@imx8qxprom5620a1:/# date 090816072021 && hwclock -w && date
             Wed Sep  8 16:07:00 UTC 2021
             Wed Sep  8 16:07:00 UTC 2021
     root@imx8qxprom5620a1:/# date
             Wed Sep  8 16:07:06 UTC 2021
     root@imx8qxprom5620a1:/#'''

         

Linux BSP編譯方法(Linux BSP Compile Method)

Yocto 3.0

如果有驗證上的錯誤 請使用以下的方法

### repo sync failed with Server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
============================================================
export GIT_SSL_NO_VERIFY=1
#or
git config --global http.sslverify false
============================================================