Edit online

参数配置

31 Oct 2024
Read time: 5 minute(s)

配置 SoC 中 UART 的相关信息

bsp/artinchip/sys/soc name/Kconfig.chip 中,配置 SoC 的 UART 相关信息。SDK 默认已经完成设置,一般不需要调整。
config AIC_UART_DRV
bool
default n

config AIC_UART_DRV_V10
bool
default y if AIC_UART_DRV

config AIC_UART_DRV_VER
string
default "10" if AIC_UART_DRV_V10

config AIC_UART_DEV_NUM
int
default 8 if AIC_UART_DRV
1. SoC 中的 UART 信息参数
参数 描述
AIC_UART_DRV 启用或禁用 UART 驱动。

默认值 n,表示禁用。

AIC_UART_DRV_V10 启用 UART 驱动版本。

如果启用了 UART 驱动,可以进一步配置其版本。默认情况下,如果启用了 UART 驱动,则启用版本 10(y)。

AIC_UART_DRV_VER 设置 UART 驱动的版本号。

默认情况下,如果启用了版本 10,则版本号为 10。

AIC_UART_DEV_NUM 配置系统中的 UART 设备数量。

默认情况下,如果启用了 UART 驱动,则设备数量为 8。

配置 Board 需要使用的 UART 端口和 Pinmux

target/soc name/board name/ 目录中,设置要用到的 UART 端口和相应端口的 Pinmux,具体步骤如下:
  1. target/soc name/board name/Kconfig.board 中,设置开发板需要的 UART 相关信息, 一般会配置需要的 UART 端口。SDK 已经完成设置,默认不需要调整。

  2. 根据开发板的型号,在 target/soc name/board name/pinmux.c 中设置 UART 端口的 pinmux。

config AIC_USING_UART0
bool "Using UART0"
default n
select AIC_UART_DRV

config AIC_USING_UART1
bool "Using UART1"
default n
select AIC_UART_DR
2. UART 端口和 Pinmux 参数
参数 描述
AIC_USING_UART0 -
AIC_USING_UART1 -

配置驱动的工作参数

根据需要,在 bsp/artinchip/drv/UART/Kconfig.dev 中设置设备驱动的工作参数:

config AIC_DEV_UART0_BAUDRATE
int "UART0 baudrate"
default 115200

config AIC_DEV_UART0_DATABITS
int "UART0 data bits"
range 0 15
default 8

config AIC_DEV_UART0_STOPBITS
int "UART0 stop bits"
range 0 3
default 1
  • AIC_DEV_UART0_BAUDRATE:波特率,默认值 115200。

  • AIC_DEV_UART0_DATABITS:数据位,表示每个字符的数据位数,配置范围为 0-15,默认值为 8。

  • AIC_DEV_UART0_STOPBITS:停止位,表示每个字符后的停止位数,配置范围为 0 到 3,默认值为 1。

  • parity:校验位,用于错误检测。常见的值有 0(无校验),1(奇校验),2(偶校验)。

  • flow control:流控,用于控制数据传输速率。常见的值有 0(无流控),1(硬件流控),2(软件流控),3(软硬流控)。

配置功能参数

Luban-Lite 根目录下,执行 scons --menuconfig,进入功能配置界面并配置相关参数:

Board options -->
        UART0 parameter  --->
            (48000000) UART0 clk frequence
            (115200) UART0 baudrate
            (8) UART0 data bits
            (1) UART0 stop bits
            (0) UART0 parity (0=none, 1=odd, 2=even)
            UART0 protocol (RS232)  --->
            UART0 mode (RS232 normal)  --->
            [ ] Enable UART0 dma mode
3. 功能参数描述
参数 描述 备注
clk frequence

时钟频率

建议参考用户手册中 CMU 的模块时钟章节,修改不同波特率对应的 clk frequence,以免出现误码的情况。
baudrate

波特率

默认值: 115200

data bits

数据位,表示每个字符的数据位数

配置范围为 0-15,默认值为 8
stop bits

停止位,表示每个字符后的停止位数

配置范围为 0 到 3,默认值为 1。

parity 校验位,用于错误检测
  • 0=none,无检验
  • 1=odd,奇校验
  • 2=even,偶校验
protocol

协议类型

可配置参数:
  • RS232 协议
  • RS485 协议
mode

模式

根据协议类型,选择对应的模式。关于模式的详细说明,可查看配置模式参数
Enable UART0 dma mode 是否使能 DMA 模式 -
配置模式参数

根据不同的协议类型,在 UART mode 中选择不同的模式,例如选择 RS232 unauto flow control:

Board options -->
    [*] Using UART0
        UART0 parameter  --->
                UART0 mode (RS232 unauto flow control)  --->
                    () RS232 normal
                    ( ) RS232 auto flow control
                    (X) RS232 unauto flow control
                    ( ) RS232 software flow control
                    ( ) RS232 software and hardware flow control
4. 模式参数描述
协议参数 模式参数 描述

RS232 协议

RS232 normal

普通 RS232 模式

RS232 software flow control

RS232 软件流控模式

RS232 auto flow control

RS232 硬件自动流控模式,流控管脚固定

RS232 unauto flow control

RS232 硬件非自动流控模式,流控管脚自选。

根据需求,使能并选择 RTS 管脚和 CTS 管脚,关于详细描述可查看 配置管脚

RS232 sw and hw flow control

RS232 软件流控模式与硬件非自动流控模式,流控管脚自选。

根据需求,使能并选择 RTS 管脚和 CTS 管脚,关于详细描述可查看 配置管脚

RS485 协议

RS485 normal

RS485 三线模式 (TX、RX、RTS),RTS 管脚固定

RS485 simulation

模拟 RS485 三线模式 (TX、RX、RTS),RTS 管脚自选

RS485 compact io

RS485 二线模式(TX/RX、RTS)
管脚配置
对于选择了流控管脚自选的模式,例如 RS232 unauto flow control,则根据需求自行使能并选择 RTS 管脚和 CTS 管脚:
注: 关于管脚是否固定或需自选,可查看模式参数描述
Board options -->
    [*] Using UART0
        UART0 parameter  --->
                UART0 protocol (RS232)  --->
                UART0 mode (RS232 unauto flow control)  --->
            [*] Enable RTS  --->
                (PA.3) UART0 RTS pin
            [*] Enable CTS  --->
                (PA.2) UART0 CTS pin
5. 管脚参数
参数 描述
Enable RTS 使能 RTS 管脚。
UART0 RTS pin 选择 RTS pin,例如 PA.3。
Enable CTS 使能 CTS 管脚。
UART0 CTS pin 选择 CTS pin,例如 PA.2。