AIO-3399C 支持SPI橋接/擴(kuò)展4個(gè)增強(qiáng)功能串口(UART)的功能,分別為UART1,UART2,RS232,RS485。每個(gè)UART都擁有256字節(jié)的FIFO緩沖區(qū),用于數(shù)據(jù)接收和發(fā)送。 其中:
-
UART1 UART2最高支持波特率691200。RS232 RS485受通訊媒介影響一般只支持115200以下。
-
每個(gè)子通道具備收/發(fā)獨(dú)立的256 BYTE FIFO,FIFO的中斷可按用戶需求進(jìn)行編程觸發(fā)點(diǎn)
-
具備子串口接收FIFO超時(shí)中斷
-
支持起始位錯(cuò)誤檢測(cè)
AIO-3399C開(kāi)發(fā)板的串口接口圖如下:
文件kernel/arch/arm64/boot/dts/rockchip/rk3399-firefly-port.dtsi 有spi轉(zhuǎn)uart相關(guān)節(jié)點(diǎn)的定義:
&spi1 { spi_wk2xxx: spi_wk2xxx@00{ status = "disabled"; compatible = "firefly,spi-wk2xxx"; reg = <0x00>; spi-max-frequency = <10000000>; power-gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>; reset-gpio = <&gpio1 17 3 GPIO_ACTIVE_HIGH>; irq-gpio = <&gpio1 2 IRQ_TYPE_EDGE_FALLING>; cs-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>; /* rk3399 driver support SPI_CPOL | SPI_CPHA | SPI_CS_HIGH */ //spi-cpha; /* SPI mode: CPHA=1 */ //spi-cpol; /* SPI mode: CPOL=1 */ //spi-cs-high; }; }
可以看到,在kernel/arch/arm64/boot/dts/rockchip/rk3399-firefly-aioc.dts文件中使能該節(jié)點(diǎn)即可使用。另外,由于我們板子使用的spi轉(zhuǎn)uart串口模塊掛到spi1上,所以還要使能spi1節(jié)點(diǎn)。如下:
&spi1 { status = "okay"; }; &spi_wk2xxx { status = "okay"; };
注意:由于spi1_rxd和spi1_txd兩個(gè)腳可復(fù)用為uart4_rx和uart4_tx,所以要留意關(guān)閉掉uart4的使用,如下:
&uart4 { status = "disabled"; };
配置好串口后,硬件接口對(duì)應(yīng)軟件上的節(jié)點(diǎn)分別為:
RS485:/dev/ttysWK0 RS232:/dev/ttysWK1 UART2:/dev/ttysWK2 UART1:/dev/ttysWK3
用戶可以根據(jù)不同的接口使用不同的主機(jī)的 USB 轉(zhuǎn)串口適配器向開(kāi)發(fā)板的串口收發(fā)數(shù)據(jù),例如RS485的調(diào)試步驟如下:
(1) 連接硬件
將開(kāi)發(fā)板RS485 的A、B、GND 引腳分別和主機(jī)串口適配器(USB轉(zhuǎn)485轉(zhuǎn)串口模塊)的 A、B、GND 引腳相連。
(2) 打開(kāi)主機(jī)的串口終端
在終端打開(kāi)kermit,并設(shè)置波特率:
$ 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)串口適配器的設(shè)備文件
(3) 發(fā)送數(shù)據(jù)
RS485 的設(shè)備文件為 /dev/ttysWK0。在設(shè)備上運(yùn)行下列命令:
echo firefly RS485 test... > /dev/ttysWK0
主機(jī)中的串口終端即可接收到字符串“firefly RS485 test…”
(4) 接收數(shù)據(jù)
首先在設(shè)備上運(yùn)行下列命令:
cat /dev/ttysWK0
然后在主機(jī)的串口終端輸入字符串 “Firefly RS485 test…”,設(shè)備端即可見(jiàn)到相同的字符串。
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6086瀏覽量
35636 -
Firefly
+關(guān)注
關(guān)注
2文章
538瀏覽量
7138
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
fireflyAIO-3399C主板接口介紹
![<b class='flag-5'>fireflyAIO-3399C</b><b class='flag-5'>主板</b>接口<b class='flag-5'>介紹</b>](https://file.elecfans.com/web1/M00/AB/A2/pIYBAF220RyAQHleAAcQtf7UK64540.jpg)
fireflyAIO-3399C主板散熱介紹
fireflyAIO-3399C主板紅外遙控器簡(jiǎn)介
fireflyAIO-3399C主板屏幕模組介紹
![<b class='flag-5'>fireflyAIO-3399C</b><b class='flag-5'>主板</b>屏幕模組<b class='flag-5'>介紹</b>](https://file.elecfans.com/web1/M00/AB/A2/pIYBAF220TuAJn-5AAESR01CrzM334.jpg)
fireflyAIO-3399C主板TIMER介紹
![<b class='flag-5'>fireflyAIO-3399C</b><b class='flag-5'>主板</b>TIMER<b class='flag-5'>介紹</b>](https://file.elecfans.com/web1/M00/AB/4A/o4YBAF220SeAXbJ3AAB5p_1mOHE786.png)
fireflyAIO-3399C主板RTC介紹
![<b class='flag-5'>fireflyAIO-3399C</b><b class='flag-5'>主板</b>RTC<b class='flag-5'>介紹</b>](https://file.elecfans.com/web1/M00/AB/A2/pIYBAF220VGAaR3JAAEbiV8oThY263.jpg)
fireflyAIO-3399C主板LCD簡(jiǎn)介
![<b class='flag-5'>fireflyAIO-3399C</b><b class='flag-5'>主板</b>LCD簡(jiǎn)介](https://file.elecfans.com/web1/M00/AB/A2/pIYBAF220VmAJof3AAVwjtHCXCI579.jpg)
fireflyAIO-3399C主板IR簡(jiǎn)介
![<b class='flag-5'>fireflyAIO-3399C</b><b class='flag-5'>主板</b>IR簡(jiǎn)介](https://file.elecfans.com/web1/M00/AB/4A/o4YBAF220TSALyQNAADawVe-83s184.png)
fireflyAIO-3399C主板ADC介紹
fireflyAIO-3399C編譯Industry固件簡(jiǎn)介
fireflyAIO-3399C主板升級(jí)固件介紹
fireflyAIO-3399J主板UART使用介紹
![<b class='flag-5'>fireflyAIO-3399</b>J<b class='flag-5'>主板</b><b class='flag-5'>UART</b>使用<b class='flag-5'>介紹</b>](https://file.elecfans.com/web1/M00/AB/A5/pIYBAF2227uAYdDUAAIbuRT89KU569.png)
評(píng)論