基于mini2440的UBOOT UART设置
1. 标准9针串口引脚定义
根据图3.40的引脚顺序号,如果是作为RS-232C接口,则各引脚定义如表3.2所示。
表3.2RS-232C引脚意义表
各引脚的电气特性为:
在TxD和RxD上,逻辑“1”为-3V~-15V; 逻辑“0”为+3V~+15V。
在RTS、CTS、DSR、DTR和DCD等控制线上,信号有效为+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×120=1200字符/秒=1200波特。
数据通信格式如下图:
其中各位的意义如下:
起始位:先发出一个逻辑”0”信号,表示传输字符的开始。
数据位:可以是5~8位逻辑”0”或”1”。如ASCII码(7位),扩展BCD码(8位)。小端传输
校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验)
停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。
空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。
注:异步通信是按字符传输的,接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。下一个字符起始位的到来又使同步重新校准(依靠检测起始位来实现发送与接收方的时钟自同步的)
3. 2440的 UART相关寄存器
4. 2440 UBOOT UART配置代码分析
代码路径:\common\serial.c
串口的相关配置根据各平台获取到平台的串口设备接口。
串口设备接口注册的地方
代码路径:\drivers\serial\derial_s3c24x0.c
在这里获取到s3c2440的UART寄存器然后在各个函数接口中通过设置寄存器完成串口初始化和串口发送和接收。
串口设备初始化:
串口数据发送:
串口数据接收:
UBOOT调用初始化接口的地方:
代码路径:\lib_arm\board.c
博主版权所有:未经许可,不可转载。