《大学实验串口通信实验.ppt》由会员分享,可在线阅读,更多相关《大学实验串口通信实验.ppt(24页珍藏版)》请在第壹文秘上搜索。
1、实验4 串口通信实验1实验目的2实验设备3实验内容4实验原理5实验操作步骤1实验目的通过实验了解S3C44B0 x处理器串行口(UART)的结构,串行通讯的原理。掌握ARM处理器串行通信的编程方法。2试验设备硬件:Embest S3CEV40实验平台,Embest ARM标准/增强型仿真器套件,PC机。软件:Embest IDE 2003集成开发环境,Windows 98/2000/NT/XP。3实验内容学习S3C44B0X的UART相关寄存器的功能,熟悉S3C44B0X系统硬件的UART相关接口。编写S3C44B0X处理器的串口通信程序。S3CEV40监视串行口,并将接收到的字符回送。4实验
2、原理1.S3C44B0X串行通讯(UART)单元S3C44B0X UART 单元提供两个独立的异步串行通信口,皆可工作于中断和DMA模式。最高波特率达115.2Kbps。每一个UART单元包含一个16字节的FIFO,用于数据的接收和发送。S3C44B0X UART包括可编程波特率,红外发送/接收,一个或两个停止位,5bit/6bit/7bit/或8bit数据宽度和奇偶校验。实验原理3.UART操作简介 发送数据帧和接受数据帧都是是可编程的。一个数据帧包含一个起始位,5到8个数据位,一个可选的奇偶校验位和1到2位停止位,停止位通过行控制寄存器ULCONn配置。接收器还可以检测过速错,奇偶校验错,
3、帧错误和传输中断,每一个错误均可以设置一个错误标志。实验原理4.与UART有关的寄存器 UART行控制寄存器ULCONn UART控制寄存器UCONn 发送寄存器UTXH和接收寄存器URXH 波特率分频寄存器UBRDIV UART Block Diagram(with FIFO)UART LINE CONTROL REGISTERUART CONTROL REGISTERUART FIFO CONTROL REGISTERUART MODEM CONTROL REGISTERUART TX/RX STATUS REGISTERUART ERROR STATUS REGISTERUART FIF
4、O STATUS REGISTERUART MODEM STATUS REGISTERUART TRANSMIT HOLDING(BUFFER)REGISTER&FIFO REGISTERUART RECEIVE HOLDING(BUFFER)REGISTER&FIFO REGISTERUART BAUD RATE DIVISION REGISTER波特率的产生 波特率由一个专用的UART波特率分频寄存器(UBRDIVn)控制,计算公式如下:UBRDIVn=(round_off)(MCLK/(bps x 16)-1 其中:MCLK是系统时钟。UBRDIVn的值必须在1到(216-1)之间。例如
5、:在系统时钟为40MHz,当波特率为115200时,UBRDIVn=(int)(40000000/(115200 x 16)+0.5)-1 =(int)(21.7+0.5)1 =22-1=21 实验原理5.RS232接口电路在本实验中,串口电路如下图所示,开发板上提供两个串口DB9。其中UART1为主串口,可与PC或MODOM进行串行通迅。UART0只采用二根接线RXD和TXD,因此只能进行简单的数据传输及接收功能。全接口的UART1采用MAX3243E作为电平转换器,简单接口的UART0则采用MAX3221E作为电平转换器。5实验操作步骤1.准备实验环境。使用Embest仿真器连接目标板,使
6、用Embest S3CEV40实验板附带的串口线连接实验板上的UART0和PC机的串口。2.在PC机上运行windows自带的串口通信程序超级终端程序,或者其它串口通信程序(如:串口精灵等。超级终端配置如下图所示)。3.使用EmbestIDE通过Embest仿真器连接实验板,打开实验例程目录下uart_test子目录下的Uart_Test.ews例程,下载并运行它。实验操作步骤4.在PC上观察超级终端程序主窗口,可以看到如下界面:5.通过PC机键盘输入字符,可以看到相应的字符显示在超级终端主窗口,输入回车,所有字符一次性回显出来。7.理解和掌握实验后,完成实验练习题。Embest S3CEV40 Embest S3CEV40 Hello,Word!Hello,Word!Embest S3CEV40 实验练习1.熟悉整个程序结构和寄存器配置2.改写例程实现:在超级终端显示:nEmbest Teach Kit III boot successUART Test?(Y/N)YEnter User Name:qiutieEnter Password*Start Test:Receive:123456Send to display:123456如果用户与密码不一致提示重新登录!程序运行结果在超级终端上显示!可以调用程序块骨的子程序