嵌入式课程设计--_串口通信
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 :中断或查询模式