嵌入式课程设计--_串口通信

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要 (2)

1、绪论 (2)

1.1目的和意义 (2)

1.2设计内容 (2)

2、设计方案 (3)

2.1方案选择 (3)

2.1.1S3C2410X 串行通讯(UART)单元 (3)

2.1.2 波特率的产生 (3)

2.1.3 UART 通信操作 (4)

2.1.4 UART 控制寄存器 (4)

2.1.5 RS232 接口电路 (5)

3、硬件设计 (6)

3.1Embest EduKit-III 实验平台 (6)

3.2ULINK2 仿真器套件,PC 机 (6)

4、软件设计 (6)

4.2程序流程图设计 (7)

4.3调试运行结果 (7)

5、总结与体会 (8)

参考文献 (9)

摘要

为了掌握嵌入式技术,就应该学习以ARM 微处理器为核心的嵌入式开发环境和开发平台。本设计采用ARM原理和C语言程序设计的,设置S3C2410X 处理器 UART 相关控制寄存器和ARM 处理器系统硬件电路中 UART 接口,利用Embest EduKit-III 实验平台实现S3C2410X处理器和PC机的结合。

关键字: Embest EduKit-III 实验平台;S3C2410X 串行通讯(UART)单元;UART 控制寄存器;串口通信

1、绪论

1.1目的和意义

串口通信是目前单片机和 DSP 等嵌入式系统之间,以及嵌入式系统与 PC 机或无线模块之间的一种非常重要且普遍使用的通信方式。在嵌入式系统的硬件结构中,通常只有一个8位或 16位的 CPU, 不仅要完成主流程的工作, 同时还要处理随时发生的各种中断, 因而嵌入式系统中的串口通信程序设计与 PC 机有很大的不同。为了顺应当今世界技术革新的潮流,了解、学习和掌握嵌入式技术,就必然要学习和掌握以ARM 微处理器为核心的嵌入式开发环境和开发平台。

1.2设计内容

本设计采用Embest EduKit-III 实验平台实现,通过EmbestIDE Pro for ARM 软件编写程序,仿真调试。实现实验平台与PC的串口通信。通过PC的超级终端显示接受的结果。

2、设计方案

2.1方案选择

本设计只用了Embest EduKit-III 实验平台的部分模块。其中包括ARM核心芯片S3C2410X以及串口通信模块。如图1所示,下面描述了所用模块的具体设置。

图1 总体设计框图

2.1.1S3C2410X 串行通讯(UART)单元

S3C2410X UART 单元提供三个独立的异步串行通信接口,皆可工作于中断和DMA 模式。使用系统时钟最高波特率达230.4Kbps,如果使用外部设备提供的时钟,可以达到更高的速率。每一个UART 单元包含一个 16 字节的FIFO,用于数据的接收和发送。

S3C44B0X UART 支持可编程波特率,红外发送/接收,一个或两个停止位,5bit/6bit/ 7bit/ 或 8bit 数据宽度和奇偶校验。

2.1.2 波特率的产生

波特率由一个专用的UART 波特率分频寄存器(UBRDIVn )控制,计算公式如下:

UBRDIVn = (int)(ULK/(bps x 16) ) –1

或者UBRDIVn = (int)(PLK/(bps x 16) ) –1

其中:时钟选用 ULK 还是 PLK 由 UAR控制寄存器 UCONn[10]的状态决定。如果 UCONn[10]=0,用PLK 作为波特率发生,否则选用ULK 做波特率发生。UBRDIVn 的值必须1到(16

2-1)之间。

例如:ULK 或者PLK 等于40MHz,当波特率为 115200 时,

UBRDIVn = (int)(40000000/(115200 x 16) ) -1

= (int)(21.7) -1

= 21-1 = 20

2.1.3 UART 通信操作

下面简略介绍 UART 操作,关于数据发送,数据接收,中断产生,波特率产生,轮流检测模式,红外模式和自动流控制的详细介绍,请参照相关教材和数据手册。

发送数据帧是可编程的。一个数据帧包含一个起始位,5 到8 个数据位,一个可选的奇偶校验位和 1 到2 位停止位,停止位通过行控制寄存器ULCONn 配置。

与发送类似,接收帧也是可编程的。接收帧由一个起始位,5 到8 个数据位,一个可选的奇偶校验和1 到2 位行控制寄存器ULCONn 里的停止位组成。接收器还可以检测溢出错,奇偶校验错,帧错误和传输中断,每一个错误均可以设置一个错误标志。

溢出错误(Overrun error)是指已接收到的数据在读取之前被新接收的数据覆盖。

奇偶校验错是指接收器检测到的校验和与设置的不符。

帧错误指没有接收到有效的停止位。

传输中断表示接收数据RxDn 保持逻辑0 超过一帧的传输时间。

在FIFO 模式下,如果RxFIFO 非空,而在3 个字的传输时间内没有接收到数据,则产生超时。

2.1.4 UART 控制寄存器

1) UART 行控制寄存器 ULCONn

该寄存器的第6 位决定是否使用红外模式,位 5~3 决定校验方式,位2 决定停止位长度,位 1 和0决定每帧的数据位数。

2)UART 控制寄存器 UCONn

该寄存器决定UART 的各种模式。

UCONn[10]= 1 : ULK 做比特率发生;0:PLK 做比特率发生。

UCONn[9] = 1: Tx 中断电平触发;0:Tx 中断脉冲触发。

UCONn[8] = 1: Rx 中断电平触发;0:Rx 中断脉冲触发。

UCONn[7] = 1: 接收超时中断允许;0:接收超时中断不允许。

UCONn[6] = 1: 产生接收错误中断;0:不产生接收错误中断。

UCONn[5] = 1: 发送直接传给接收方式(Loopback);0:正常模式。

UCONn[4] = 1: 发送间断信号;0:正常模式发送。

UCONn[3:2]: 发送模式选择

00:不允许发送;

01:中断或查询模式

10:DMA0 请求(UART0 )

DMA3 请求(UART2 )

11: DMA1 请求(UART1 ).

UCONn[1:0] : 接收模式选择

00 :不允许接收

01 :中断或查询模式

相关文档
最新文档