0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區
會(huì )員中心
創(chuàng )作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內不再提示

ArmSoM Rockchip系列產(chǎn)品 通用教程 之 UART 使用

jf_30051736 ? 來(lái)源:jf_30051736 ? 作者:jf_30051736 ? 2024-03-08 14:39 ? 次閱讀

1. UART 簡(jiǎn)介?

Rockchip UART (Universal Asynchronous Receiver/Transmitter) 基于16550A串口標準,完整模塊支持以下功能:

  • 支持5、6、7、8 bits數據位。
  • 支持1、1.5、2 bits停止位。
  • 支持奇校驗和偶校驗,不支持mark校驗和space校驗。
  • 支持接收FIFO和發(fā)送FIFO,一般為32字節或者64字節。
  • 支持最高4M波特率,實(shí)際支持波特率需要芯片時(shí)鐘分頻策略配合。
  • 支持中斷傳輸模式和DMA傳輸模式。
  • 支持硬件自動(dòng)流控,RTS+CTS。

2. 普通串口?

  • ArmSoM-Sige7中,普通UART集成在40PIN中,可供用戶(hù)復用為UART功能。
  • 在40PIN中可供復用的UART有:uart2-m2,uart3-m1,uart4-m2,uart7-m1,uart7-m2,uart8-m0

2.1 如何使用40PIN中的UART ??

用戶(hù)只需參考 overlay 設置,在overlay屬性中添加上UART的overlay文件:

例如:

  • 使用UART3:
overlays=rk3588-uart3-m1

  • 使用uart4
overlays=rk3588-uart4-m2

  • 使用uart7
overlays=rk3588-uart7-m1

  • 使用uart8
overlays=rk3588-uart8-m0

2.2 內核menuconfig配置?

Device Drivers() ---> Character devices() ---> Serial drivers

2.3 dts配置?

2.3.1 芯片級公共配置?

kernel/arch/arm64/boot/dts/rockchip/rk3588s.dtsi

uart2: serial@feb50000 {
        compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
        reg = ;
        interrupts = ;
        clocks = , ;
        clock-names = "baudclk", "apb_pclk";
        reg-shift = ;
        reg-io-width = ;
        dmas = , ;
        pinctrl-names = "default";
        pinctrl-0 = ;
        status = "disabled";
    };

2.3.2 板級配置?

kernel/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts

UART的板級dts配置只有以下參數允許修改:

dma-names:

  • "tx" 打開(kāi)tx dma
  • "rx" 打開(kāi)rx dma
  • "!tx" 關(guān)閉tx dma
  • "!rx" 關(guān)閉rx dma

pinctrl-0:

  • &uart1m0_xfer 配置tx和rx引腳為iomux group 0
  • &uart1m1_xfer 配置tx和rx引腳為iomux group 1
  • &uart1m0_ctsn和&uart1m0_rtsn 配置硬件自動(dòng)流控cts和rts引腳為iomux group 0
  • &uart1m1_ctsn和&uart1m1_rtsn 配置硬件自動(dòng)流控cts和rts引腳為iomux group 1

status:

  • "okay" 打開(kāi)
    • "disabled" 關(guān)閉
&uart2 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = ;
}

2.4 UART設備節點(diǎn)?

配置好串口后,硬件接口對應軟件上的節點(diǎn)分別為:

UART3:   /dev/ttyS3
UART4:   /dev/ttyS4
...

2.5 使用串口喚醒系統?

串口喚醒系統功能是在系統待機時(shí)串口保持打開(kāi),并且把串口中斷設置為喚醒源。使用時(shí)需要在dts中增 加以下參數:

&uart1 {    wakeup-source;};

3. 控制臺串口?

  • 在A(yíng)rmSoM-Sige7中,UART2是作為控制臺串口使用,可供用戶(hù)查看開(kāi)機啟動(dòng)的信息以及日常調試使用。

3.1 驅動(dòng)?

kernel/drivers/soc/rockchip/fiq_debugger/rk_fiq_debugger.c

3.2 dts配置?

由于fiq_debugger和普通串口互斥,在使能fiq_debugger節點(diǎn)后必須禁用對應的普通串口uart節點(diǎn)

fiq_debugger: fiq-debugger {
        compatible = "rockchip,fiq-debugger";
        rockchip,serial-id = ;
        rockchip,wake-irq = ;
        /* If enable uart uses irq instead of fiq */
        rockchip,irq-mode-enable = ;
        rockchip,baudrate = ;  /* Only 115200 and 1500000 */
        interrupts = ;
        pinctrl-names = "default";
        pinctrl-0 = ;
        status = "okay";
    };
    
&uart2 {
    status = "disabled";
};

以下對幾個(gè)參數進(jìn)行說(shuō)明:

  • rockchip,serial-id:使用的UART編號。修改serial-id到不同UART,fiq_debugger設備也會(huì )注冊成ttyFIQ0設備。
  • rockchip,irq-mode-enable:配置為1使用irq中斷,配置為0使用fiq中斷。
  • interrupts:配置的輔助中斷,保持默認即可。

4. 測試?

UART調試提供一個(gè)官方測試程序:ts_uart.uart(存放在網(wǎng)盤(pán):1. 開(kāi)發(fā)工具->測試工具)、兩個(gè)測試用文件send_0x55和send_00_ff,該程序可以聯(lián)系ArmSoM客服獲取。 通過(guò)adb工具將測試程序放在開(kāi)發(fā)板上一個(gè)可執行的路徑下,以下放在data路徑:

adb rootadb remountadb push ts_uart.uart /dataadb push send_0x55 /dataadb push send_00_ff /data

在開(kāi)發(fā)板上修改測試程序權限:

sudo chmod +x /data/ts_uart.uart

使用以下命令可以獲取程序幫助:

console:/ # ./data/ts_uart.uart
Use the following format to run the HS-UART TEST PROGRAM
ts_uart v1.1
For sending data:
./ts_uart      
tx_rx : send data from file (s) or receive data (r) to put in file
file_name : file name to send data from or place data in
baudrate : baud rate used for TX/RX
flow_control : enables (1) or disables (0) Hardware flow control using RTS/CTS
lines
max_delay : defines delay in seconds between each data burst when sending.
Choose 0 for continuous stream.
random_size : enables (1) or disables (0) random size data bursts when sending.
Choose 0 for max size.
max_delay and random_size are useful for sleep/wakeup over UART testing. ONLY
meaningful when sending data
Examples:
Sending data (no delays)
ts_uart s init.rc 1500000 0 0 0 /dev/ttyS0
loop back mode:
ts_uart m init.rc 1500000 0 0 0 /dev/ttyS0
receive, data must be 0x55
ts_uart r init.rc 1500000 0 0 0 /dev/ttyS0

4.1 測試發(fā)送?

測試發(fā)送的命令如下,send_0x55和send_00_ff為發(fā)送的文件:

./data/ts_uart.uart s ./data/send_0x55 1500000 0 0 0 /dev/ttyS3./data/ts_uart.uart s ./data/send_00_ff 1500000 0 0 0 /dev/ttyS3

發(fā)送成功可以通過(guò)USB轉UART小板連接PC端,使用PC端串口調在這里插入代碼片試工具驗證。

4.2 測試接收?

測試接收的命令如下,receive_0x55為接收的文件:

./data/ts_uart.uart r ./data/receive_0x55 1500000 0 0 0 /dev/ttyS1

可以使用PC端串口調試工具發(fā)送數據,測試程序將自動(dòng)檢測,檢測到U(0x55)接收正確,檢測到其它 字符將打印16進(jìn)制ASCII碼值,可以對照查詢(xún)接收是否正確。

4.3 測試內部自發(fā)自收?

測試內部自發(fā)自收的命令如下:

./data/ts_uart.uart m ./data/send_00_ff 1500000 0 0 0 /dev/ttyS3

按下Ctrl+C停止測試,可以觀(guān)察到結束log如下。比較發(fā)送和接收的數據是否一致:

Sending data from file to port...send:1172, receive:1172 total:1172 # 收發(fā)數據一致,測試成功send:3441, receive:3537 total:3441 # 收發(fā)數據不一致,測試失敗

如果測試失敗,說(shuō)明當前串口存在問(wèn)題或者有其他程序也在使用同一個(gè)串口??梢允褂靡韵旅畈榭茨?些程序打開(kāi)了這個(gè)串口:

lsof | grep ttyS3


審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權轉載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習之用,如有內容侵權或者其他違規問(wèn)題,請聯(lián)系本站處理。 舉報投訴
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1505

    瀏覽量

    74760
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1163

    瀏覽量

    100296
  • Rockchip
    +關(guān)注

    關(guān)注

    0

    文章

    68

    瀏覽量

    18367
收藏 人收藏

    評論

    相關(guān)推薦

    寬電壓時(shí)鐘振蕩器系列產(chǎn)品選型指南

    寬電壓時(shí)鐘振蕩器系列產(chǎn)品選型指南
    的頭像 發(fā)表于 04-22 14:53 ?269次閱讀
    寬電壓時(shí)鐘振蕩器<b class='flag-5'>系列產(chǎn)品</b>選型指南

    ArmSoM Rockchip系列產(chǎn)品通用教程之Camera使用

    1. Camera 簡(jiǎn)介 ? ArmSoM系列產(chǎn)品使用的是mipi-csi接口的攝像頭 ArmSoM-Sige7支持雙攝同顯: 2. RK3588硬件通路框圖 ? rk3588支持2個(gè)isp硬件
    的頭像 發(fā)表于 04-10 14:59 ?861次閱讀
    <b class='flag-5'>ArmSoM</b> <b class='flag-5'>Rockchip</b><b class='flag-5'>系列產(chǎn)品</b><b class='flag-5'>通用</b>教程之Camera使用

    工業(yè)數顯壓力測量系列產(chǎn)品介紹

    電子發(fā)燒友網(wǎng)站提供《工業(yè)數顯壓力測量系列產(chǎn)品介紹》資料免費下載
    發(fā)表于 03-11 14:04 ?0次下載

    ArmSoM Rockchip系列產(chǎn)品 通用教程 之 Display 使用

    產(chǎn) 品上需要?持 8K 顯?輸出,VP1 上要注意不要連接其他顯?接口。 1.2 RK3588支持的顯示接口? 2個(gè)DP 2個(gè)HDMI/eDP 共用接口 2個(gè)MIPI DSI BT656/BT1120 2. ArmSoM-W3顯示接口? ArmSoM-W3有著(zhù)豐富的顯示接
    的頭像 發(fā)表于 03-06 15:50 ?460次閱讀
    <b class='flag-5'>ArmSoM</b> <b class='flag-5'>Rockchip</b><b class='flag-5'>系列產(chǎn)品</b> <b class='flag-5'>通用</b>教程 之 Display 使用

    ArmSoM Rockchip系列產(chǎn)品 通用教程 之 RTC 使用

    1. RTC 簡(jiǎn)介? RTC:(Real_Time Clock):實(shí)時(shí)時(shí)鐘 HYM8563是一種低功耗實(shí)時(shí)時(shí)鐘(RTC)芯片,用于提供精確的時(shí)間和日期信息。它提供一個(gè)可編程的時(shí)鐘輸出,一個(gè)中斷輸出和一個(gè)掉電檢測器,所有的地址和數據都通過(guò)I2C總線(xiàn)接口串行傳遞。最大總線(xiàn)速度為 400Kbits/s,每次讀寫(xiě)數據后,內嵌的字地址寄存器會(huì )自動(dòng)遞增 以下是HYM8563芯片的主要特點(diǎn)和功能: 時(shí)鐘和日歷功能:HYM8563具有時(shí)鐘和日歷功能,可提供準確的時(shí)間和日期信息。它支持年、月、日、星期、小時(shí)、
    的頭像 發(fā)表于 03-05 16:57 ?183次閱讀
    <b class='flag-5'>ArmSoM</b> <b class='flag-5'>Rockchip</b><b class='flag-5'>系列產(chǎn)品</b> <b class='flag-5'>通用</b>教程 之 RTC 使用

    ArmSoM Rockchip系列產(chǎn)品 通用教程 之 CAN 使用

    都采用CAN總線(xiàn)來(lái)實(shí)現汽車(chē)內部控制系統之間的數據通信。 RK3568/RK3588的CAN驅動(dòng)文件:drivers/net/can/rockchip/rockchip
    的頭像 發(fā)表于 02-29 16:52 ?389次閱讀
    <b class='flag-5'>ArmSoM</b> <b class='flag-5'>Rockchip</b><b class='flag-5'>系列產(chǎn)品</b> <b class='flag-5'>通用</b>教程 之 CAN 使用

    ArmSoM-W3應用開(kāi)發(fā)之安裝docker

    1.簡(jiǎn)介RK3588從入門(mén)到精通系列專(zhuān)題開(kāi)發(fā)板:ArmSoM-W3Kernel:5.10.160OS:Debian11本?介紹ArmSoM-W3在Debian11下如何安裝
    的頭像 發(fā)表于 11-20 10:05 ?244次閱讀
    <b class='flag-5'>ArmSoM</b>-W3應用開(kāi)發(fā)之安裝docker

    ArmSom--攝像頭開(kāi)發(fā)指南(二)

    一.簡(jiǎn)介RK3588從入門(mén)到精通開(kāi)發(fā)板:ArmSoM-W3Kernel:5.10.160OS:Debian11上篇文檔介紹了rockchip平臺怎么配置MIPI-CSI的通路,本?主要介紹
    的頭像 發(fā)表于 11-06 10:30 ?1210次閱讀
    <b class='flag-5'>ArmSom</b>--攝像頭開(kāi)發(fā)指南(二)

    ArmSom--攝像頭開(kāi)發(fā)指南(一)

    一.簡(jiǎn)介RK3588從入門(mén)到精通開(kāi)發(fā)板:ArmSoM-W3Kernel:5.10.160OS:Debian11本?主要介紹在Rockchip平臺下Camera相關(guān)代碼配置,MIPI-CSI調試的通路
    的頭像 發(fā)表于 11-03 14:56 ?1007次閱讀
    <b class='flag-5'>ArmSom</b>--攝像頭開(kāi)發(fā)指南(一)

    四川零點(diǎn)全系列產(chǎn)品介紹

    四川零點(diǎn)全系列產(chǎn)品介紹
    發(fā)表于 10-24 14:36 ?0次下載

    ArmSoM-W3RK3588 MPP環(huán)境配置

    1. 簡(jiǎn)介瑞芯微提供的媒體處理軟件平臺(Media Process Platform,簡(jiǎn)稱(chēng) MPP)是適用于瑞芯微芯片系列通用媒體處理軟件平臺。該平臺對應用軟件屏蔽了芯片相關(guān)的復雜底層處理,其目的
    發(fā)表于 10-19 10:39

    armsom:為何選擇rk3588開(kāi)發(fā)與Jetson Nano引腳兼容的嵌入式產(chǎn)品

    引言: 當armsom決定采用RK3588芯片開(kāi)發(fā)一款與Jetson Nano引腳兼容的產(chǎn)品時(shí),這意味著(zhù)一次重要的技術(shù)決策,為開(kāi)發(fā)者和制造商提供了更大的靈活性。這篇文章將解釋我們選擇RK3588
    發(fā)表于 10-18 17:35

    RK3588平臺產(chǎn)測ArmSoM產(chǎn)品高溫環(huán)境測試

    1. 簡(jiǎn)介 ArmSoM團隊在產(chǎn)品量產(chǎn)之前都會(huì )對產(chǎn)品做幾次專(zhuān)業(yè)化的功能測試以及性能壓力測試,以此來(lái)保證產(chǎn)品的質(zhì)量以及穩定性 優(yōu)秀的產(chǎn)品都要進(jìn)
    發(fā)表于 10-12 09:57

    RK3588平臺產(chǎn)測ArmSoM-W3 DDR壓力測試

    root@linaro-alip:/rockchip-test# ./rockchip_test.sh DDR壓力測試開(kāi)始: ArmSoM 產(chǎn)品介紹: http
    發(fā)表于 10-09 19:29

    【LGA封裝RK3588核心板】基于RK3588,小而強大的ArmSom-W3 CORE BOARD

    Armsom-RK3588 LGA Core board 是一款基于Rockchip RK3588芯片平臺,采用LGA(506pin)封裝設計的一款極小尺寸的RK3588核心板。
    的頭像 發(fā)表于 07-03 16:08 ?1481次閱讀
    【LGA封裝RK3588核心板】基于RK3588,小而強大的<b class='flag-5'>ArmSom</b>-W3 CORE BOARD
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看