UBOOT UART设置(基于mini2440)

基于mini2440的UBOOT UART设置

1. 标准9针串口引脚定义

UBOOT UART设置(基于mini2440)_第1张图片

根据图3.40的引脚顺序号,如果是作为RS-232C接口,则各引脚定义如表3.2所示。

3.2RS-232C引脚意义表

UBOOT UART设置(基于mini2440)_第2张图片

各引脚的电气特性为:

TxDRxD上,逻辑“1”为-3V~-15V; 逻辑“0”为+3V~+15V

RTSCTSDSRDTRDCD等控制线上,信号有效为+3V~+15V;信号无效为-3V~-15V

对于数据信号,逻辑1”为低于-3V,逻辑“0”为高于+3V;对于控制信号,接通ON为低于-3V;断开OFF为高于+3V-3V~+3V、低于-15V、高于+15V都表示电压无意义。

2. UART通信协议

UART使用的是 异步,串行通信。
    串行通信是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。
    异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。 
    数据传送速率用波特率来表示,即每秒钟传送的二进制位数。例如数据传送速率为120字符/秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×1201200字符/秒=1200波特。
    数据通信格式如下图:
UBOOT UART设置(基于mini2440)_第3张图片

其中各位的意义如下:
    起始位:先发出一个逻辑”0”信号,表示传输字符的开始。
    数据位:可以是5~8位逻辑”0””1”。如ASCII码(7位),扩展BCD码(8位)。小端传输
    校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验)
    停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。
    空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。

    注:异步通信是按字符传输的,接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。下一个字符起始位的到来又使同步重新校准(依靠检测起始位来实现发送与接收方的时钟自同步的)


3. 2440UART相关寄存器

 UBOOT UART设置(基于mini2440)_第4张图片

 UBOOT UART设置(基于mini2440)_第5张图片

 UBOOT UART设置(基于mini2440)_第6张图片

 UBOOT UART设置(基于mini2440)_第7张图片

 UBOOT UART设置(基于mini2440)_第8张图片

 UBOOT UART设置(基于mini2440)_第9张图片

 UBOOT UART设置(基于mini2440)_第10张图片

 UBOOT UART设置(基于mini2440)_第11张图片

 UBOOT UART设置(基于mini2440)_第12张图片

 UBOOT UART设置(基于mini2440)_第13张图片

 UBOOT UART设置(基于mini2440)_第14张图片

 UBOOT UART设置(基于mini2440)_第15张图片UBOOT UART设置(基于mini2440)_第16张图片

 UBOOT UART设置(基于mini2440)_第17张图片

 UBOOT UART设置(基于mini2440)_第18张图片 

 

4. 2440 UBOOT UART配置代码分析

代码路径:\common\serial.c

串口的相关配置根据各平台获取到平台的串口设备接口。

 UBOOT UART设置(基于mini2440)_第19张图片 

串口设备接口注册的地方

代码路径:\drivers\serial\derial_s3c24x0.c

 UBOOT UART设置(基于mini2440)_第20张图片 

在这里获取到s3c2440UART寄存器然后在各个函数接口中通过设置寄存器完成串口初始化和串口发送和接收。

串口设备初始化:

 UBOOT UART设置(基于mini2440)_第21张图片

 

串口数据发送:

 UBOOT UART设置(基于mini2440)_第22张图片

 

串口数据接收:

 UBOOT UART设置(基于mini2440)_第23张图片

 

UBOOT调用初始化接口的地方:

代码路径:\lib_arm\board.c

 

 

 博主版权所有:未经许可,不可转载。

你可能感兴趣的:(U-BOOT)