资料介绍
本连载共分6期,将介绍单片机外设功能的结构及使用方法。本期学习的串行通信是单片机重要的作用之一,就是与单片机外部的外围设备进行信息交换。此时,串行通信起到非常重要的作用。
单片机与外围设备的连接:并行和串行
单片机是嵌入式设备的“头脑”,其与作为嵌入式设备的“手和脚”是各种外围设备(输入输出设备等)连接。单片机应该怎样与这些外围设备连接才好呢?比如,我们来考虑一下将传感器与单片机连接的情况。如果使用本连载第1期中介绍的“GPIO”的话,从传感器向单片机传送8位信号时需要使用8个引脚。这种传送模式被称为并行(并行通信)模式(图1―左)。但是,仅一个传感器就需要连接8个引脚,确实太可惜了 ,是否还有连接更少的引脚就能达到同样目的的方法呢?
此时,可使用串行传送模式(串行通信)。 “串行”的意思就是直列或直线。通过并行传送模式(Parallerl Transferring Mode)中需要8个引脚才能实现的通信,在串行传送模式(Serial Transfer Mode)中,由于可以以排成一直线的模式进行传送,所以仅需一个引脚就够了(图1―右)。由于在单片机内部是通过并行模式来进行信号交换,所以还需将通过串行模式传送来的信号转换为并行模式(串行并行转换)。相反,从单片机向与单片机串行连接的外围设备传送的信号也需要将信号从并行模式转换为串行模式(并行串行转换)。瑞萨电子的单片机RX63N是通过被称为SCI(Serial Communication Interface,串行通信接口)的单元进行这些转换的。例如,使一个引脚对应1位 的char型变量进行信息交换的是并行通信(Parallel communication),而一个引脚以时分(time division)按每1位进行信息交换的就是串行通信(Serial Communication)。
由于串行连接仅使用少数引脚便可进行,所以,近年来多被用于单片机和外围设备之间的连接。GPIO除了用于将驱动电机的信号及 LED闪烁等软件操作结果的信号输出时以外,还被用于通过开关或ON/OFF输出的传感器的输入等。
通过UART便可简单地使用串行通信
由于电特性的不同,以及用于进行通信协议的规定不同,串行通信具有多种方式,其中,最易于使用的应该是“异步通信模式”了。仅需用信号线将单片机和外围设备连接起来便可使用,所以在单片机与动作监视器用的终端之间进行通信时、以及单片机与无线LAN用模块进行通信时使用。
在异步通信模式的串行通信状态下,一字节的文字信息※1在“开始位”(Start bit,意味着开始发送)和“停止位”(Stop bit,意味着停止发送)之间发送(图2)。由此,无需 I2C(Inter-Integrated Circuit,内部集成电路)”及“SPI(Serial Peripheral Interface,串行外设接口)”等时钟信号线(但在其他的串行通信模式中这些时钟信号线是必需的,以对发送和接收的时序进行同步)。另外,还可追加用于检查数据是否已正常发送的“奇偶校验位(Parity bit)※2”。
此通信方式所使用的通信用器件被称为UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器),在瑞萨电子的单片机--RX63N中内置了支持此功能的SCI(串行通信接口)。
(※1)异步串行通信状态下,一般都是从“最低有效位(LSB: Least Significant Bit),即最低二进制数位”开始进行发送的。
(※2)奇偶校验位(Parity bit):在发送时按一定量的数据(在SCI中为7位或8位)中所具有“1”(或“0”)的个数为奇数个时定为“1”,为偶数个时定为“0”的奇偶校验位(使偶校验(Even Parity Check)、数据及奇偶校验位中所包括的“1”的数量成为偶数个的方法),并通过与接收侧进行校验,以检测出数据通信中的错误。反之,如果“1”(或“0”)的个数为奇数时定为“0”,为偶数时定为“1”的方法被称为奇校验(Odd Parity Check)。
图2:异步串行通信
在异步通信中,能实现按“单片机→外围设备”或“外围设备→单片机”的方向确保数据信号专用的信号线时,被称为全双工通信。另一方面,将通过1根信号线来切换通信方向的方式称为半双工通信。全双工方式时需要2根信号线,可同时进行发送和接收。半双工方式时仅需1根信号线,但必须在发送和接收之间进行切换(图3)。
图3:全双工通信和半双工通信
尝试向单片机和电脑之间进行通信!
下面,我们通过GR-SAKURA来试用样本程序。本期我们试着通过可在电脑上运行的终端软件和GR-SAKURA之间进行通信。也就是试用从终端软件发送出“?”(半角问号)后就有“GR-SAKURA”的字符串被传送回来的程序(图4)。为了确认该程序的动作状况,需在电脑上安装终端软件。如在Windows系统下可使用免费软件—TeraTerm,而在Mac系统下建议使用该系统标准配备的软件—Terminal。
该样本程序使用了GR-SAKURA的樱花程序库“串行通信(Serial Class)”。该程序库支持全双工异步通信。
在程序的第8行中,对经由USB的通信进行设定。第13行的Serial.read()是用于设定在串行通信中读取从电脑发送过来的数据,在读取“?”(半角问号)时,就将“GR-SAKURA”字符串传送回来。如果换作是GR-SAKURA中 所搭载的RX63N单片机来进行处理的话,就是:SCI将电脑传送来的串行信号转换为并行信号,再由CPU对“?”进行识别后判断输出“GR-SAKURA”字符串,之后 再通过SCI将并行信号转换为串行信号后发送到电脑上。
虽然只是非常简单的程序,但是由此便可实现在GR-SAKURA和电脑之间进行文字信息的交换。本期我们介绍的是固定字符串,但也可发送GR-SAKURA的处理结果。请大家也作尝试!
(仅英文版)
图4:样本程序:从Terminal输入“?”后,将传送回“GR-SAKURA”的信息。
※//~为注释符,不会影响程序的运行
※本程序仅用于说明程序的原理,并不具有在实际使用时所需的对策。
(mbbeetchina)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 8位PIC单片机上的通用异步收发器(UART)
- UART详解
- STM32-UART通信
- UART通用异步收发传输器的程序和工程文件合集免费下载 1次下载
- AT89S51单片机串行口的详细资料介绍 13次下载
- 51单片机的IO口如何模拟串行通信实现方法详细说明 2次下载
- 51单片机串口通信的原理和结构及程序等资料合集免费下载
- 使用51单片机的UART口发送一个字符的资料和程序免费下载
- 使用51单片机与计算机进行异步串行通信的实战资料说明
- 使用51单片机实现异步串行双机通信多字节传输的C语言程序免费下载
- PIC32通用异步收发传输器的详细中文资料概述
- 通用异步收发器(UART 21次下载
- uart映射代码 4次下载
- 通用异步收发器(UART) 15次下载
- pic单片机与pc机异步串行通信的设计
- 简单认识UART串行通信协议 3.3k次阅读
- 基于STM32模拟UART串口通信 2.4k次阅读
- UART通用异步收发传输器简述 1.7k次阅读
- 通用异步收发器简介 2.5k次阅读
- UART通用异步收发传输器简介 2.6k次阅读
- UART串口通信协议详解 8.9k次阅读
- UART通用异步收发器与I2C总线 2.1k次阅读
- 设计基于FPGA的串行通用异步收发器 1.3k次阅读
- 基于Verilog的UART串行通信接口电路设计 3.1k次阅读
- 设计基于FPGA的串行通用异步收发器 1.2k次阅读
- 单片机串行口介绍,8051单片机的通信方式 1.7w次阅读
- 电视uart接口干什么的 1.4w次阅读
- UART和RS-232、RS-422、RS-485的联系和区别 2.1w次阅读
- 单片机与PLC之间的串行通信实现 3.3w次阅读
- UART学习总结:如何判断一帧数据收完 7.8k次阅读
下载排行
本周
- 1冷柜-电气控制系统讲解
- 13.68 MB | 4次下载 | 10 积分
- 2安川A1000变频器中文版说明书
- 20.16 MB | 3次下载 | 3 积分
- 3直流电路的组成和基本定律
- 1.67 MB | 2次下载 | 免费
- 4丹佛斯2800系列变频器说明书
- 8.00 MB | 1次下载 | 5 积分
- 5PC8011同步开关型降压3.5A单节锂电池充电管理电路技术手册
- 0.74 MB | 1次下载 | 免费
- 6ES7243E+ES8311音频录制与播放电路资料
- 0.06 MB | 1次下载 | 5 积分
- 7SDM02 激光测距模块产品手册
- 0.43 MB | 1次下载 | 免费
- 8SDFM 激光测距模块模组手册
- 0.54 MB | 1次下载 | 免费
本月
- 1CH341编程器软件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下载 | 1 积分
- 22025智能家居传感器市场分析及创新应用
- 3.11 MB | 43次下载 | 免费
- 3RV1126B系列开发板产品资料
- 4.19 MB | 18次下载 | 免费
- 4CH341编程软件下载
- 2.50 MB | 16次下载 | 5 积分
- 5全志系列-米尔基于T153核心板开发板 四核异构、3路千兆网,赋能多元化工业场景
- 3.05 MB | 12次下载 | 免费
- 6【开源】60余套STM32单片机、嵌入式Linux、物联网、人工智能项目案例及入门学习资源包
- 10.55 MB | 8次下载 | 免费
- 7冷柜-电气控制系统讲解
- 13.68 MB | 4次下载 | 10 积分
- 8特斯拉MODEL S车载充电机主电路回路原理图
- 0.81 MB | 4次下载 | 3 积分
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233094次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191448次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183356次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81604次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73824次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论