




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1ARM嵌入式体系结构与接口技术嵌入式体系结构与接口技术第8章 串行通信接口2 第1章 嵌入式系统基础知识第2章 ARM技术概述第3章 ARM的指令系统第4章 ARM汇编语言程序设计第5章 ARM Realview MDK集成开发环境第6章 GPIO编程第7章 ARM异常中断处理及编程第第8章章 串行通信接口串行通信接口课程安排课程安排:3 第9章 存储器接口 第10章 定时器第11章 A/D转换器第12章 LCD接口设计第13章 温度监测仪开发实例课程安排课程安排:4 8.1 串行通信8.2 S3C2410X异步串行通信8.3 接口电路与程序设计8.4 小结8.5 思考与练习本章课程:本章课
2、程:5 8.1.1 串行通信与并行通信概念在微型计算机中,通信(数据交换)有两种方式:串行通信和并行通信。串行通信是指计算机与I/O设备之间数据传输的各位是按顺序依次一位接一位进行传送。通常数据在一根数据线或一对差分线上传输。并行通信是指计算机与I/O设备之间通过多条传输线交换数据,数据的各位同时进行传送。8.1 串行通信6 8.1.2 异步串行方式的特点异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。异步串行通信的特点:以字符为单位传送信息。相邻两字符间的间隔是任意长。因为一个字符中的比特位长度有限,所以需要的接收时钟和发送时钟只要相近就可
3、以。异步方式特点简单的说就是:字符间异步,字符内部各位同步。8.1 串行通信7 8.1.3 异步串行方式的数据格式异步串行通信数据每个字符(每帧信息)由4个部分组成1位起始位,规定为低电0;58位数据位,即要传送的有效信息;1位奇偶校验位;12位停止位,规定为高电平1。图8-1 异步串行数据格式8.1 串行通信8 8.1.4 同步串行方式的特点同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。同步串行通信的特点:以数据块为单位传送信息。在一个数据块(信息帧)内,字符与字符间无间隔。因为一次传输的数据块中包含的数据较多,所以接收时钟与发送进钟严格同步
4、,通常要有同步时钟。8.1 串行通信9 8.1.5 同步串行方式的数据格式同步串行通信的数据格式如图8-2所示,每个数据块(信息帧)由3个部分组成:2个同步字符作为一个数据块(信息帧)的起始标志;n个连续传送的数据2个字节循环冗余校验码(CRC)8-2 同步串行数据格式8.1 串行通信10 8.1.6 RS-232C串口规范RS-232C 标准(协议)的全称是EIA-RS-232C 标准,其中EIA(Electronic IndustryAssociation)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232是标识号,C代表RS232 的最新一次修改(19
5、69)常用物理标准还有EIA-RS-232-C、EIA-RS-422-A、EIA-RS-423A、EIA-RS-485目前在PC 机上的COM1、COM2 接口,就是RS-232C8.1 串行通信11 8.1.6 RS-232C串口规范1、9针串口引脚定义PC电脑串行口中的典型是RS-232及其兼容接口,串口引脚有9针和25针两类8.1 串行通信12 8.1.6 RS-232C串口规范2、RS-232C电气特性在TXD和RXD引脚上电平定义:逻辑1=-3V-15V在RTS、CTS、DSR、DTR和DCD等控制线上电平定义:信号有效=+3V+15V信号无效=-3V-15V注意:对于介于-3V+3
6、V之间的电压处于模糊区电位,此部分电压将使得计算机无法正确判断输出信号的意义,可能得到0,也可能得到1,如此得到的结果是不可信的。因此,实际工作时,应保证传输的电平在+3+15V或-3V-15V之间。8.1 串行通信13 8.1.6 RS-232C串口规范3、RS-232C的通讯距离和速度RS-232C能够可靠进行数据传输的最大通讯距离为15米传输速度一般都可以达到115200bps甚至更高,标准串口能够提供的传输速度主要有以下波特率:1200bps、2400bps、4800bps、9600bps、19200bsp、38400bps、57600bps、115200bps等8.1 串行通信14
7、8.1.6 RS-232C串口规范4、RS-232C电平转换芯片及电路MAX3232主要特点有:符合所有的RS-232C规范单一供电电压+5V或3.3V片内电荷泵,具有升压。电压极行反转能力,能够产生+10V和-10V电压V+、V-低功耗,典型供电电流3mA内部集成2个RS-232C驱动器内部集成2个RS-232C接收器 图8-3 MAX3232芯片8.1 串行通信15 8.1.7 RS-232C接线方式RS-232C串口的接线方式有全串口连接、3线连接等方式3线连接方法:RXD,TXD和GND图 8-4 3线连接法8.1 串行通信16 8.2.1 S3C2410X串口控制器概述1S3C241
8、0X串行通信(UART)单元S3C2410X UART单元提供3个独立的异步串行通信接口,皆可工作于中断和DMA模式。使用系统时钟最高波特率达230.4Kbit/s,如果使用外部设备提供的时钟,可以达到更高的速率。每一个UART单元包含一个16字节的FIFO,用于数据的接收和发送8.2 S3C2410X异步串行通信17 8.2.1 S3C2410X串口控制器概述2波特率的产生波特率由一个专用的UART 波特率分频寄存器(UBRDIVn)控制,计算公式如下:UBRDIVn = (int)(ULK/(bps 16) ) 1或者 UBRDIVn = (int)(PLK/(bps 16) ) 1说明:
9、时钟选用UCLK还是PCLK由UART控制寄存器UCONn10的状态决定。如果UCONn10 = 0,用PCLK作为波特率发生,否则选用UCLK做波特率发生。UBRDIVn的值必须在1到(2161)之间例:UCLK或者PCLK等于40MHz,当波特率为115200时UBRDIVn = (int) (40000000/(115200 16) ) 1 = (int)(21.7) 1 = 21 1 = 208.2 S3C2410X异步串行通信18 8.2.1 S3C2410X串口控制器概述3S3C2410X UART通信操作1、发送数据帧包含一个起始位,58个数据位,一个可选的奇偶校验位和12位停止
10、位,停止位通过行控制寄存器ULCONn配置2、接收数据帧由一个起始位,58个数据位,一个可选的奇偶校验和12位行控制寄存器ULCONn里的停止位组成3、接收器还可以检测溢出错、奇偶校验错、帧错误和传输中断,每一个错误均可以设置一个错误标志。1)溢出错误(Overrun Error)是指已接收到的数据在读取之前被新接收的数据覆盖2)奇偶校验错是指接收器检测到的校验和与设置的不符3)帧错误指没有接收到有效的停止位4)传输中断表示接收数据RxDn保持逻辑0超过一帧的传输时间8.2 S3C2410X异步串行通信19 8.2.2 S3C2410X串口控制器寄存器详解1、UART行控制寄存器ULCONn8
11、.2 S3C2410X异步串行通信20 8.2.2 S3C2410X串口控制器寄存器详解2、UART控制寄存器UCONn8.2 S3C2410X异步串行通信21 8.2.2 S3C2410X串口控制器寄存器详解3、UART FIFO 控制寄存器UFCONn8.2 S3C2410X异步串行通信22 8.2.2 S3C2410X串口控制器寄存器详解4、UART MODEM控制寄存器UMCONn8.2 S3C2410X异步串行通信23 8.2.2 S3C2410X串口控制器寄存器详解5、发送寄存器UTXHn和接收寄存器URXHn这两个寄存器存放着发送和接收的数据,在关闭FIFO的情况下只有一个字节位
12、数据。需要注意的是,在发生溢出错误的时候,接收的数据必须被读出来,否则会引发下次溢出错误。8.2 S3C2410X异步串行通信24 8.2.2 S3C2410X串口控制器寄存器详解6、波特率分频寄存器UBRDIVn8.2 S3C2410X异步串行通信25 8.2.2 S3C2410X串口控制器寄存器详解7、串口状态寄存器UTRSTATn8.2 S3C2410X异步串行通信26 8.3.1 电路连接图8-5 串口连接图8.3 接口电路与程序设计27 8.3.2 寄存器设置(1)禁止串口控制器的FIFO功能设置UFCON0的0为“0”。(2)禁止AFC自动流控功能设置UMCON0的4为“0”(3)
13、设置通讯格式为正常串口通讯模式、8个数据位、1个停止位、无奇偶校验设置ULCON0的7:0为0 x03。(4)设置串口的接收、发送模式为轮询模式设置UCONn的3:0为“0101”(5)设置串口的时钟源为PCLK设置UCONn的10为“0”。8.3 接口电路与程序设计28 8.3.3 程序的编写1、相关寄存器定义在例程MDKcommoninc2410addr.h中:#define rULCON0 (*(volatile unsigned *)0 x50000000) /UART 0 Line control#define rUCON0 (*(volatile unsigned *)0 x500
14、00004) /UART 0 Control#define rUFCON0 (*(volatile unsigned *)0 x50000008) /UART 0 FIFO control#define rUMCON0 (*(volatile unsigned *)0 x5000000c) /UART 0 Modem control#define rUTRSTAT0 (*(volatile unsigned *)0 x50000010) /UART 0 Tx/Rx status#define rUBRDIV0 (*(volatile unsigned *)0 x50000028) /UART
15、0 Baud rate divisor#define rUTXH0 (*(volatile unsigned char *)0 x50000020) /UART 0 Transmission Hold#define rURXH0 (*(volatile unsigned char *)0 x50000024) /UART 0 Receive buffer8.3 接口电路与程序设计29 8.3.3 程序的编写2、串口初始化函数函数输入参数为:串口工作波特率、串口通道。void uart_init(int nMainClk, int nBaud, int nChannel) switch (nCh
16、annel) case UART0: rUFCON0 = 0 x0; /禁止FIFO rUMCON0 = 0 x0; /禁止AFC自动流控功能/设置通讯格式为正常串口通讯模式、8个数据位、1个停止位、无奇偶校验 rULCON0 = 0 x3; /设置串口的接收、发送模式为轮询模式, 串口的时钟源为PCLK rUCON0 = 0 x245; /根据nBaud波特率和PCLK 设置分频寄存器 rUBRDIV0=( (int)( PCLK /16./nBaud) -1 ); break;。8.3 接口电路与程序设计30 8.3.3 程序的编写3、串口接收一个字符char uart_getch(voi
17、d) if(f_nWhichUart=0) /判断从第几个串口获取字符 while(!(rUTRSTAT0 & 0 x1); /根据UTRSTAT0第0位的值,判断是否接收完成 return RdURXH0(); 。8.3 接口电路与程序设计31 8.3.3 程序的编写4、串口发送一个字符void uart_sendbyte(int nData) if(f_nWhichUart=0) /判断发送的字符是否是换行符,如果是,则需要先发送回车符r if(nData=n) while(!(rUTRSTAT0 & 0 x2);/等待,直到发送缓冲为空 delay(10); WrUTXH0(r); /发
18、送缓冲为空时,发送r while(!(rUTRSTAT0 & 0 x2);/等待,直到发送缓冲为空 delay(10); WrUTXH0(nData); /发送缓冲为空时,发送nData 。8.3 接口电路与程序设计32 8.3.4 调试与运行结果1、调试步骤(1)串口设置在PC 机上运行Windows自带的超级终端串口通信程序(波特率为115 200Bd、1位停止位、无校验位、无硬件流控制)如图8-6所示;或者使用其他串口通信程序 图8-6 超级终端配置8.3 接口电路与程序设计33 8.3.4 调试与运行结果(2)硬件接线,使用目标板附带的串口线连接目标板上UART0和PC机串口COMx,并连接好ULINK2仿真器套件(3)运行MDK开发环境,进入实验例程目录MDKuart_test 子目录下的uart_test.Uv2例程,编译链接工程(4)单击MDK控制栏“Options for Target”选择Debug 菜单,选择ULINK ARM Debugger(5)单击Debug运行程序,下载调试代码到目标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东生态工程职业学院高职单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析
- 2025年广东岭南职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年山西工程职业学院高职单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析
- 2025年山西华澳商贸职业学院高职单招(数学)历年真题考点含答案解析
- 2025年山东药品食品职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年安徽现代信息工程职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 肠造口的护理常规
- icl相关知识课件试题
- 9001标准培训课件
- 房地产代持代理合同范本
- 2025陕西核工业工程勘察院有限公司招聘(21人)笔试参考题库附带答案详解
- 2025年山东、湖北部分重点中学高中毕业班第二次模拟考试数学试题含解析
- 2025年超高功率大吨位电弧炉项目发展计划
- DB32T 5076-2025 奶牛规模化养殖设施设备配置技术规范
- 2024年四川省高等职业教育单独考试招生文化素质考试中职英语试卷
- 人教A版必修第二册高一(下)数学6.3.2-6.3.3平面向量正交分解及坐标表示【课件】
- 高速公路修补合同协议
- 航空业劳动力安全保障措施
- GB/T 18912-2024光伏组件盐雾腐蚀试验
- 对外投资合作国别(地区)指南 -墨西哥-20250102-00593
- 火车站反恐防暴培训内容
评论
0/150
提交评论