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

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

3天內(nèi)不再提示

Firefly關于UART接口使用介紹

firefly ? 來源:Firefly ? 作者:Firefly ? 2019-11-20 11:01 ? 次閱讀
UART 使用
簡介

Firefly-RK3399 支持五路UART:UART0, UART1, UART2, UART3, UART4,都擁有兩個64字節(jié)的FIFO緩沖區(qū),用于數(shù)據(jù)接收和發(fā)送。 其中:

  • UART0用于藍牙傳輸,UART2用作調(diào)試串口,只有UART0和UART3支持硬件自動流控。

  • 支持比特率115.2Kbps,460.8Kbps,921.6Kbps,1.5Mbps,3Mbps,4Mbps。

  • 支持自選波特率,即使使用非整數(shù)時鐘分頻器

  • 支持基于中斷或基于DMA的模式

  • 支持5-8位寬度傳輸

我們Firefly-RK3399開發(fā)板為了方便用戶使用,引出了一排通用的GPIO,其對應原理圖如下圖:

其中GPIO1_A7和GPIO1_B0兩個IO口可復用為uart4_rx和uart4_tx。

DTS配置

文件kernel/arch/arm64/boot/dts/rockchip/rk3399.dtsi 有UART相關節(jié)點的定義:

aliases { ... serial0 = &uart0; serial1 = &uart1; serial2 = &uart2; serial3 = &uart3; serial4 = &uart4; };

serial0等串口在該文件的 aliases 節(jié)點中被定義為:serial0 = &uart0;

因為我們Firefly-RK3399開發(fā)板引出了uart4供用戶使用,所以這里就以uart4為例,介紹使用方法。下面是uart4節(jié)點相關定義:

uart4: serial@ff370000 { compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart"; reg = <0x0 0xff370000 0x0 0x100>; clocks = <&pmucru SCLK_UART4_PMU>, <&pmucru PCLK_UART4_PMU>; clock-names = "baudclk", "apb_pclk"; interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH 0>; reg-shift = <2>; reg-io-width = <4>; pinctrl-names = "default"; pinctrl-0 = <&uart4_xfer>; status = "disabled"; }; uart4 { uart4_xfer: uart4-xfer { rockchip,pins = <1 7 RK_FUNC_1 &pcfg_pull_up>, <1 8 RK_FUNC_1 &pcfg_pull_none>; }; };

用戶只需要在kernel/arch/arm64/boot/dts/rockchip/rk3399-firefly-port.dtsi文件中使能該節(jié)點即可使用,如下:

&uart4 { current-speed = <9600>; no-loopback-test; status = "okay"; };

注意:由于uart4_rx和uart4_tx兩個腳可復用為spi1_rxd和spi1_txd,所以要留意關閉掉spi1的使用,如下:

&spidev0 { status = "disabled"; };

調(diào)試方法

配置好串口后,用戶可以通過主機的 USB 轉(zhuǎn)串口適配器向開發(fā)板的串口收發(fā)數(shù)據(jù),步驟如下:

(1) 連接硬件

將開發(fā)板 UART4 的 TX、RX、GND 引腳分別和主機串口適配器的 TX、RX、GND 引腳相連。

(2) 打開主機的串口終端

在終端打開kermit,并設置波特率:

$ sudo kermit C-Kermit> set line /dev/ttyUSB0 C-Kermit> set speed 9600 C-Kermit> set flow-control none C-Kermit> connect
  • /dev/ttyUSB0 為 USB 轉(zhuǎn)串口適配器的設備文件

  • 波特率與配置 DTS 節(jié)點中的 current-speed 屬性相同

(3) 發(fā)送數(shù)據(jù)

uart4 的設備文件為 /dev/ttyS4。在設備上運行下列命令:

echo firefly uart4 test... > /dev/ttyS4

主機中的串口終端即可接收到字符串“firefly uart4 test…”

(4) 接收數(shù)據(jù)

首先在設備上運行下列命令:

cat /dev/ttyS4

然后在主機的串口終端輸入字符串 “Firefly uart4 test…”,設備端即可見到相同的字符串。

FAQs
Q1: 為何板子接上串口適配器后系統(tǒng)報錯?

A1:Firefly RK3399開發(fā)板的TX和RX,分別對應串口適配器(官方)的TX和RX,如果搞混淆了會導致通信出錯。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6085

    瀏覽量

    35336
  • Firefly
    +關注

    關注

    2

    文章

    538

    瀏覽量

    7045
收藏 人收藏

    評論

    相關推薦

    uart接口介紹和認識

    我們常用UART口進行調(diào)試,但是UART的數(shù)據(jù)要傳到電腦上分析就要匹配電腦的接口,通常我們電腦使用接口有COM口和USB口(最終在電腦上是一個虛擬的COM口),但是要想連上這兩種
    發(fā)表于 12-28 08:42 ?2.4w次閱讀
    <b class='flag-5'>uart</b><b class='flag-5'>接口</b><b class='flag-5'>介紹</b>和認識

    SKYLAB:簡單介紹兩款UART接口的WiFi模塊

    關鍵詞:uart , WiFi模塊 , WU106 , WG219 UART接口 UART接口是通用的異步串行
    發(fā)表于 08-13 07:38 ?437次閱讀

    Firefly-RK3399--接口介紹

    Firefly-RK3399 提供了豐富的接口,主要包括:電源接口
    的頭像 發(fā)表于 11-19 15:25 ?3888次閱讀
    <b class='flag-5'>Firefly</b>-RK3399--<b class='flag-5'>接口</b><b class='flag-5'>介紹</b>

    Firefly關于的屏幕模組簡介

    Firefly
    的頭像 發(fā)表于 11-20 10:47 ?1481次閱讀
    <b class='flag-5'>Firefly</b><b class='flag-5'>關于</b>的屏幕模組簡介

    Firefly關于SPI簡介

    SPI是一種高速的,全雙工,同步串行通信接口,用于連接微控制器、傳感器、存儲設備等。 Firefly-RK3399 開發(fā)板提供了 SPI1 (單片選)接口,
    的頭像 發(fā)表于 11-20 11:21 ?1661次閱讀
    <b class='flag-5'>Firefly</b><b class='flag-5'>關于</b>SPI簡介

    Firefly-RK3399--LCD介紹

    Firefly-RK3399開發(fā)板外置了兩個LCD屏接口,一個是EDP,一個是MIPI
    的頭像 發(fā)表于 11-22 10:17 ?6430次閱讀
    <b class='flag-5'>Firefly</b>-RK3399--LCD<b class='flag-5'>介紹</b>

    Firefly-RK3288開發(fā)板介紹

    Firefly-RK3288 開發(fā)板內(nèi)置 5 路 UART,分別為 uart0,uart1,uart2,
    的頭像 發(fā)表于 11-25 10:27 ?2984次閱讀
    <b class='flag-5'>Firefly</b>-RK3288開發(fā)板<b class='flag-5'>介紹</b>

    Firefly-RK3288MIPI CSI接口介紹

    Firefly-RK3288 開發(fā)板帶有一個 MIPI 攝像頭接口,圖像處理能力達到 4416x3312 像素,支持 4K 視頻錄制。此外,開發(fā)板還支持 USB 攝像頭。 本文以 OV13850 攝像頭為例,講解在該開發(fā)板上的配置過程。 相關代碼目錄
    的頭像 發(fā)表于 11-25 10:38 ?1w次閱讀
    <b class='flag-5'>Firefly</b>-RK3288MIPI CSI<b class='flag-5'>接口</b><b class='flag-5'>介紹</b>

    Firefly-RK3288--IR主板介紹

    Firefly-RK3288/Firefly-RK3288-Reload開發(fā)板上使用紅外收發(fā)傳感器 IR (在 USB OTG 接口和音頻接口之間)實現(xiàn)遙控功能。
    的頭像 發(fā)表于 11-26 17:10 ?2853次閱讀
    <b class='flag-5'>Firefly</b>-RK3288--IR主板<b class='flag-5'>介紹</b>

    Firefly-RK328開發(fā)板ADC接口介紹

    Firefly-RK3288 開發(fā)板上的 AD 接口分為:高速 ADC 流接口 (High-speed ADC Stream Interface)、溫度傳感器 (Temperature Sensor)、 逐次逼近ADC (Suc
    的頭像 發(fā)表于 11-27 09:16 ?2438次閱讀
    <b class='flag-5'>Firefly</b>-RK328開發(fā)板ADC<b class='flag-5'>接口</b><b class='flag-5'>介紹</b>

    Firefly-RK3128開發(fā)板UART接口介紹

    refly-RK3128 開發(fā)板內(nèi)置 3 路 UART,分別為 uart0,uart1,uart2。uart0 用于藍牙數(shù)據(jù)傳輸,如果要使用
    的頭像 發(fā)表于 11-28 16:36 ?3359次閱讀
    <b class='flag-5'>Firefly</b>-RK3128開發(fā)板<b class='flag-5'>UART</b><b class='flag-5'>接口</b><b class='flag-5'>介紹</b>

    Firefly-RK3128主板接口定義介紹

    Firefly-RK3128 開發(fā)板提供了豐富的接口,主要包括:HDMI、音頻數(shù)字光纖、以太網(wǎng)、電源接口、復位按鍵、電源鍵、音頻輸入輸出、硅麥、串口調(diào)試接口、紅外接收、OTG
    的頭像 發(fā)表于 11-29 08:45 ?3490次閱讀
    <b class='flag-5'>Firefly</b>-RK3128主板<b class='flag-5'>接口</b>定義<b class='flag-5'>介紹</b>

    Firefly關于PX3-SE系統(tǒng)Qt介紹

    Firefly-PX3-SE的Buildroot系統(tǒng),目前支持三種Qt版本
    的頭像 發(fā)表于 11-29 09:49 ?2560次閱讀
    <b class='flag-5'>Firefly</b><b class='flag-5'>關于</b>PX3-SE系統(tǒng)Qt<b class='flag-5'>介紹</b>

    Firefly-PX3-SE主板串口介紹

    Firefly-PX3-SE 開發(fā)板的調(diào)試串口與 TF 卡接口有信號引腳復用,因此無法同時使用。
    的頭像 發(fā)表于 12-04 08:49 ?1693次閱讀
    <b class='flag-5'>Firefly</b>-PX3-SE主板串口<b class='flag-5'>介紹</b>

    digilentUSB轉(zhuǎn)UART接口介紹

    基于FTDI FT232RQ,PmodUSBUART提供了一個USB與UART接口交叉轉(zhuǎn)換模塊。用戶可在該Pmod任一方向發(fā)送數(shù)據(jù),并以適當?shù)母袷浇邮辙D(zhuǎn)換后的數(shù)據(jù)。
    的頭像 發(fā)表于 11-27 14:36 ?2306次閱讀
    digilentUSB轉(zhuǎn)<b class='flag-5'>UART</b><b class='flag-5'>接口</b><b class='flag-5'>介紹</b>