1 產品介紹
ASR-D501 是一款以 Qualcomm® Dragonwing™ QCS6490 平台為核心的 ARM 架構單板電腦。
此產品設計作為無人機的隨行運算主機,結合低功耗邊緣 AI 運算能力與堅固耐用的內建記憶體及儲存空間。
本文件說明如何在 Ubuntu 系統下使用 ASR-D501 的 I/O。
| 型號名稱 | ASR-D501-N1A1U |
|---|---|
| 處理器 | Qualcomm® QCS6490 |
| AI 運算能力 | 12 TOPS (NPU) |
| 記憶體 | 內建 8 GB LPDDR5 |
| 作業系統儲存空間 | 內建 128 GB UFS |
| 作業系統 | Ubuntu 24.04-x07 |
1-1 產品特色
- Qualcomm QCS6490,搭載 8 核心 Kryo 670 CPU、Adreno 643 GPU,NPU 最高可達 12 TOPS
- 內建 8 GB LPDDR5 記憶體及 128 GB UFS 儲存空間
- 擴展工作溫度範圍 -20°C 至 70°C
- Mini DisplayPort、1x 2.5 GbE、2x CAN FD、2x USB Type-C、2x I2C、3x UART,以及 5 x MIPI CSI
- 1x M.2 Key-E 及 1x M.2 Key-B 擴充插槽
- 緊湊的 100 x 60 mm 外型尺寸,不含散熱片淨重 50g
- 支援 Ubuntu,並相容 ROS2 與 MAVLink、MAVROS、MAVSDK 工作流程
- 內建 Qualcomm® Trusted Execution Environment (TEE) v5.3 安全機制
1-2 官方網站
2 機構與環境規格
2-1 外觀與尺寸
ASR-D501 單板。
ASR-D501 含散熱片。
2-2 散熱方案
包裝內附有一片被動式散熱片,可用四顆螺絲固定於主機板上。
ASR-D501 的工作溫度為 -20°C ~ 70°C(於 0.7 m/s 氣流下量測)。
安裝散熱片前,請先撕下導熱墊上的離型紙,接著依下圖鎖上四顆螺絲。
ASR-D501 另提供選配風扇散熱片,其電源由 FAN1 連接器供應。
3 硬體介面介紹
3-1 開關與跳線
請參考下圖以確認開關位置。
| SW2 | ON | OFF |
|---|---|---|
| Pin1 | EDL 模式(用於燒錄映像檔) | 正常開機 |
| Pin2 | 自動開機 | 由電源按鈕開機 |
3-2 連接器介紹
請參考下圖以確認 I/O 連接器位置,腳位定義請見 ASR-D501 使用手冊。
| 名稱 | 說明 |
|---|---|
| DCIN1 | DC 電源輸入連接器 |
| DP1 | Mini DisplayPort |
| USB0 | MicroUSB 連接器,僅供燒錄映像檔使用 |
| TYPEC1 / TYPEC2 | USB Type-C 連接器 |
| GPIO1 | GPIO 連接器 |
| LAN_CN1 | LAN 連接器 |
| CAM1-CAM5 | MIPI CSI 相機連接器 |
| COM1-COM3 | UART 連接器 |
| FP1 | 前面板連接器 |
| FAN1 | 風扇連接器 |
| M2B_CN1 | M.2 Key B 連接器 |
| I2C1 / I2C2 | I2C 連接器 |
| DEBUG1 | 除錯連接器 |
| CAN1 / CAN2 | CAN bus 連接器 |
| BAT1 | RTC 電池連接器 |
| SD_CARD1 | SD 卡插槽 |
| M2E_CN1 | M.2 Key E 連接器 |
| SIM1 | SIM 卡插槽 |
4 作業系統
4-1 映像檔下載
請參考 BSP Launcher 使用指南 下載並安裝 BSP Launcher,以取得 ASR-D501 的 Ubuntu 映像檔。
4-2 燒錄映像檔
將 ASR-D501 關機,把 SW2 Pin1 切至 ON,開機以進入 EDL 模式,再以支援傳輸資料的 USB 傳輸線,將 ASR-D501 的 Micro USB(USB0)連接至主機電腦。
請依照 BSP Launcher 使用指南 的步驟,將預建映像檔或由 BSP 建置出的映像檔燒錄至 ASR-D501。
燒錄完成後,切斷電源並將 SW2 Pin1 切回 OFF,再次開機,ASR-D501 應於 2 分鐘內進入 Ubuntu 桌面。
4-3 BSP 下載
| 映像檔版本 | 發布日期 | 映像檔下載 | BSP 下載 | 備註 |
|---|---|---|---|---|
| Ubuntu 24.04-x07 v1.0.0 | 2026-07-08 | 下載 | 下載 | kernel 6.8.0-1057 |
5 操作方式
5-1 帳號與密碼
ASR-D501 的預設帳號與密碼為 ubuntu / ubuntu。
使用者可執行以下指令變更預設的 root 與 ubuntu 的密碼。
$ sudo passwd root
$ sudo passwd ubuntu
5-2 USB Type-C 連接器
依 ASR-D501 硬體設計,若 Micro USB(USB0)已連接至主機,兩個 USB Type-C 將會被停用。
請拔除 Micro USB(USB0),以啟用 USB Type-C(TYPEC1 及 TYPEC2)。
5-3 通用型輸入/輸出(GPIO)
ASR-D501 提供 8 個腳位的 3.3V 應用 GPIO 訊號,GPIO 腳位定義如下圖所示。
以下對應表適用於選配的 GPIO 轉接線,可將內建 10 pin 的 GPIO1 接頭轉換為 DB9 連接器。
內建的 GPIO1 連接器亦提供一個 3.3V 供電腳位,但下方的 DB9 對應表並未包含該供電腳位。
| DB9 腳位 | Single Pin | SYSFS Pin | Chip, Line in GPIOD |
|---|---|---|---|
| 1 | GND | - | - |
| 2 | GPIO_81 | 616 | 3, 81 |
| 3 | GPIO_10 | 545 | 3, 10 |
| 4 | GPIO_18 | 553 | 3, 18 |
| 5 | GPIO_26 | 561 | 3, 26 |
| 6 | GPIO_27 | 562 | 3, 27 |
| 7 | GPIO_35 | 570 | 3, 35 |
| 8 | GPIO_38 | 573 | 3, 38 |
| 9 | GPIO_39 | 574 | 3, 39 |
以下步驟說明如何操作 GPIOD。
第一個範例為讀取 GPIO_81 的準位,gpioget 會將該 GPIO 腳位設為輸入模式。
$ sudo gpioget 3 81
下一個範例為將 GPIO_81 設定為高準位或低準位,=1 代表高準位,=0 代表低準位。
$ sudo gpioset 3 81=1
$ sudo gpioset 3 81=0
5-4 乙太網路 Intel I226-V
ASR-D501 提供一個 2.5 GbE 介面,其名稱為 enP1p1s0。請用以下指令確認連線狀態。
若 enP1p1s0 不存在,請以 ip link 指令確認實際名稱。
$ ip link show enP1p1s0
網路線上 LED 的行為如下表所示。
| LED | 狀態 | 說明 |
|---|---|---|
| Link LED | 綠色 | 已建立 2.5 GbE 連線 |
| Link LED | 橘色 | 已建立 1 GbE 連線 |
| Activity LED | 閃爍 | 有網路流量傳輸中 |
5-5 MIPI 相機
ASR-D501 支援 5 個 MIPI CSI 相機連接器。相機模組、排線方向、device-tree 支援及相機索引皆須與所選用的 BSP 版本相符。相機連接器對應如下表所示。
| 相機連接器 | 參考感光元件 |
|---|---|
| CAM1 | IMX577 |
| CAM2 | IMX577 |
| CAM3 | OV9282 |
| CAM4 | OV9282 (IFE_LITE) |
| CAM5 | OV9282 (IFE_LITE) |
5-5-1 相機前置設定
啟動相機串流前,請先完成以下每個準備步驟。
這些設定在裝置重新開機後不會保留,重新開機後請針對相機再次執行這些指令。
1. 進入 root shell
$ sudo -s
2. 將 ASR-D501 設為 performance 模式
# echo performance > /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
3. 設定 CPU 叢集頻率上限
# for cpu in $(seq 0 7) ; do \
cd /sys/devices/system/cpu/cpu${cpu}/cpufreq ; \
cp scaling_max_freq scaling_min_freq ; \
done
# for cpu in 0 4 7; do \
cd /sys/devices/system/cpu/cpufreq/policy${cpu} ; \
cp scaling_max_freq scaling_min_freq ; \
done
4. 停用 CamX 系統紀錄
# echo "systemLogEnable=FALSE" > /var/cache/camera/camxoverridesettings.txt
5. 重新啟動相機服務
# systemctl restart cam-server
5-5-2 相機串流指令
開啟新的終端機,執行以下指令以檢視相機的影像串流。
相機索引是依據目前作用中的連線動態配置,而非依實體連接埠位置決定。
舉例來說,若 CAM1 接有一顆 IMX577,其索引為 0;若 CAM2 未使用,則不會佔用索引,因此 CAM3 上的 OV9282 將被指定為索引 1。也就是說,若未接上任何 IMX577,索引 0 將分配給 CAM3 到 CAM5 中第一個連接的 OV9282 相機。
$ gst-launch-1.0 -e qtiqmmfsrc name=camsrc camera=0 ife-direct-stream=0 ! video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! waylandsink
請將 camera=0 修改為目標相機索引,其他參數則可依應用需求調整。
| 參數 | 說明 |
|---|---|
gst-launch-1.0 | 從命令列啟動 GStreamer 管線。 |
-e | 在管線停止時送出 end-of-stream 事件,讓資源能正常釋放。 |
qtiqmmfsrc | 由 ASR-D501 BSP 提供的 Qualcomm 相機來源元件。 |
name=camsrc | 將相機來源元件命名為 camsrc。 |
camera=0 到 4 | 依已連接相機數量(CAM1 至 CAM5)選擇對應的 BSP 相機索引。 |
ife-direct-stream=0 或 1 | 停用/啟用 CAM3 至 CAM5 參考組態所需的 Image Front End 直接串流。 |
! | 連接前後兩個 GStreamer 元件或能力過濾器。 |
video/x-raw | 要求未壓縮的原始影像輸出。 |
format=NV12 | 選擇 NV12 YUV 4:2:0 像素格式。 |
width=1280,height=720 | 要求輸出解析度為 1280 x 720。 |
framerate=30/1 | 要求每秒 30 幀。 |
waylandsink | 於 Ubuntu Wayland 桌面環境中顯示影像。 |
5-6 通用非同步收發器(UART)
ASR-D501 提供 3 組 UART 介面,請執行以下指令確認目前安裝的 BSP 所提供的裝置節點。
$ ls -l /dev/ttyHS*
| 連接埠 | UART 裝置 |
|---|---|
| COM1 | /dev/ttyHS1 |
| COM2 | /dev/ttyHS2 |
| COM3 | /dev/ttyHS3 |
內建的 COM 連接器提供 0-3.3V TTL UART 訊號。
它們並非傳統的 RS-232 COM 埠,不可直接連接使用 RS-232 電壓準位(可達正負 15V)的設備。若要連接 RS-232、RS-422 或 RS-485 設備,請使用合適的外部收發器轉換。
請依以下步驟將 COM1 設定為 115200 baud。
$ sudo -s
# stty -F /dev/ttyHS1 115200 raw -echo -onlcr
# echo "COM1 send data" > /dev/ttyHS1
# cat /dev/ttyHS1
echo "data" > 則是透過目標連接埠傳送資料。
cat 用於在終端機上顯示接收到的資料,按下 Ctrl+C 即可停止。
若要設定 COM2,請將 /dev/ttyHS1 換成 /dev/ttyHS2;COM3 則使用 /dev/ttyHS3。
5-7 前面板(FP)
Pin 1 的 PHONE_ON# 訊號為低準位動作,將其短接至地即可觸發開機事件。
Pin 3 提供 3.3V 電源,可用來點亮外接 LED,指示主機板的電源狀態。
5-8 無線通訊模組
5-8-1 5G 模組
ASR-D501 支援 AIW-356(M.2 Key-B)5G 模組,請於開機前先插入 Nano-SIM 卡。
待數據機列舉完成後,可使用 Ubuntu 設定或 NetworkManager 設定電信業者連線。
5-8-2 Wi-Fi 與藍牙模組
ASR-D501 支援 AIW-170(M.2 Key-E)Wi-Fi 與藍牙模組,其驅動程式已整合於 Ubuntu 映像檔中。
若已接上 AIW-170,可使用以下指令確認 Wi-Fi 介面與藍牙控制器。
$ nmcli device wifi list
$ bluetoothctl show
5-9 內部整合電路(I2C)
ASR-D501 提供 2 個外部 I2C 連接器,並有 2 組內部 I2C 匯流排,連接器對應的匯流排編號如下所示。
| 匯流排 | 功能 |
|---|---|
| /dev/i2c-1 | 內部 I2C |
| /dev/i2c-3 | 內部 I2C |
| /dev/i2c-9 | I2C 連接器 1 |
| /dev/i2c-2 | I2C 連接器 2 |
可透過以下指令並指定匯流排編號來掃描已連接的 I2C 裝置,例如 9 代表 I2C 連接器 1。
$ sudo i2cdetect -y -r 9
匯流排編號可能因 BSP 版本而異,使用外部 I2C 裝置前請先以 sudo i2cdetect -l 確認。
5-10 除錯 UART
除錯用 UART 為 0-3.3V TTL UART,不可直接連接使用 RS-232 電壓準位的設備。
請使用 UART 轉 RS-232 轉換器搭配 DEBUG1,並依下表設定連線至維護主控台。接法為:連接器 TX 接主機 RX,連接器 RX 接主機 TX,GND 接 GND。
| 設定項目 | 數值 |
|---|---|
| 鮑率(Baud Rate) | 115200 |
| 資料位元(Data Bits) | 8 |
| 停止位元(Stop Bits) | 1 |
| 同位檢查(Parity) | None |
| 流量控制(Flow Control) | None |
5-11 CANBUS
ASR-D501 提供 2 個 CAN 介面,分別為 can0 與 can1。兩個 CAN 裝置之間的接線方式為:CANH 接 CANH、CANL 接 CANL、GND 接 GND。
安裝 CAN 工具程式,並執行以下指令,將仲裁位元率與資料位元率設定至 CAN 匯流排。
$ sudo apt install -y can-utils
$ sudo ip link set can0 up type can bitrate 1000000 dbitrate 8000000 fd on
$ sudo ip link set can1 up type can bitrate 1000000 dbitrate 8000000 fd on
使用 candump 指令接收 CAN 匯流排的資料。
$ candump can1
使用 cansend 指令將資料傳送至 CAN 匯流排,以下兩個範例分別為標準 CAN 訊息格式與 CAN-FD 訊息格式。
$ cansend can0 111FFFFF#aa.00.cc.aa.33.61.aa.ab
$ cansend can0 123##1AABBCCDDEEFF00112233445566778899
另一種方式是使用 cangen 產生隨機的標準 CAN 訊息,加上 -f 參數則可產生隨機的 CAN-FD 訊息。
$ cangen can0
$ cangen -f can0
5-12 Micro SD 卡
將 microSD 卡插入 SD_CARD1,Ubuntu 會自動掛載至 /media/ubuntu/,可用 lsblk 指令確認。
$ lsblk
拔除 MicroSD 卡前,請記得先將其卸載。
$ sudo umount /media/ubuntu/*