• 设为首页
  • 收藏本站
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    论坛调试中-请所有人不要下载资料,下载失败,浪费积分后果自负。
    查看: 1316|回复: 0

    UART, RS232协议学习-嵌入式

    [复制链接]

    1万

    主题

    1291

    回帖

    2万

    积分

    管理员

    积分
    29575

    社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

    QQ
    发表于 2013-7-30 19:01:23 | 显示全部楼层 |阅读模式
    1. 串行和并行通信在微型计算机中,通信(数据交换)有两种方式:并行通信和串行通信。并行通信——是指计算机与I/O设备之间通过多条传输      线交换数据,数据的各位同时进行传送。串行通信——是指计算机与I/O设备之间仅通过一条传      输线交换数据,数据的各位是按顺序依次一位接一位进行传送。应该理解所谓的并行和串行,仅是指I/O接口与I/O设备之间数据交换(通信)是并行或串行。无论怎样CPU与I/O接口之间数据交换总是并行。2.串行通信的方式串行通信可以分为:同步通信(Synchronous Communication)和异步通信(Asynchronous Communication)两类。在单片机中,主要使用异步通信方式。异步通信特点:数据是以字符为信息单位传送的。每个字符由起始位、数据位、奇偶校验位和停止位四部分组成,称为一帧。每帧数据只包括一个字符。字符与字符之间的传送是异步的,而每个字符内部的位传送是同步的。起始位为0信号占1位;其后接着的就是数据位,可以是5位、6位、7位或8位,传送时低位在先、高位在后;再后面的1位为奇偶校验位,可以要也可以不要;最后是停止位,用信号1表示字符的结束,可以是1位、1位半或2位。在异步传送中,字符间隔不固定,在停止位后可以加空闲位,空闲位用高电平表示,用于等待传送。这样,接收和发送可以随时或间断进行,而不受时间限制。异步串行通信的过程大体如下:当线路上不传送字符时,发送端应保持为“1”,接收端不断检测线路状态,若连续为“1”以后又检测到1个“0”,就知道是发送来1个新的字符,应立即准备接收。字符的起始位还被用作同步接收端的时钟,以保证以后的接收能正确进行。当事先规定的数据位和奇偶校验位传送完毕,最后传送的是停止位(“1”),说明1个字符已经传送完了。若字符的传送是连续进行的,则在停止位以后便接着传送下1个字符(仍从起始位“0”开始重复以上过程)。若字符的传送是间断的,则在停止位以后加入空闲位,也就是保持传送线路上的“1”状态,直到开始传送下1个字符为止。3.同步通信在异步传送中,每1个字符都要用起始位和停止位作为字符开始和结束的标志,占用了一定的时间。为了提高传送速度,有时就去掉这些标志,而采用同步传送,即1次传送1组数据。同步传送的特点:以数据块(字符块)为信息单位传输,每帧数据包括若干个字符。不仅要求每个字符内部的位传送是同步的,字符与字符之间的传送也应该是同步的。发送时,在数据块前插入1~2个同步字符,做为数据块的起始符号。接收端检测到同步字符时,即准备接收数据。通常在数据块的后面加上校验数据,用于校验通信中产生的数据错误。同步传送速度高于异步传送,缺点是硬件设备较为复杂,因为他对同步时钟脉冲信号的相位一致性要求严格。4.串行通信数据传送可分为三种方式:单工、半双工和全双工。单工    数据只能单向传送。半双工   数据可以双向传送,但是在任意时间只能进行一个方向的传送。全双工   数据可以双向传送,且任意时刻可以同时进行两个方向的传送。5.波特率——数据的传输速率,即每秒种传送的二进制位数,单位为位/秒。在通信中要求发送发端和接收端的波特率必须一致。在异步通信中,     字符传送速率=m (字符/秒)     波特率=n(位/字符)×m(字符/秒)=n·m(位/秒)= n·m波特 例如:假设字符传送的速率为120字符/秒,而一个字符为10位二进制(1位起始位、7位数据位、1位奇偶校验位、1位停止位),那么传送的波特率为        10位/字符×120字符/秒=1200位/秒= 1200波特每1位二进制的传送时间Tb是波特率的倒数:        Tb=1/1200=0.833ms6. RS232流控制.流控制在串行通讯中的作用     解决丢失数据的问题.硬件流控制 硬件流控制常用的有RTS/CTS(请求发送/清除发送)流控制和DTR/DSR(数据终端就绪/数据设置就绪)流控制.软件流控制 一般通过XON/XOFF来实现软件流控制。7. 奇偶校验奇校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如:1 0110,01010 0110,0001偶校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为偶数,如:1 0100,01010 0100,00018. 9个pin脚的RS232接口Pin1CDReceivedLineSignalDetector(DataCarrierDetect)Pin2RXDReceivedDataPin3TXDTransmitDataPin4DTRDataTerminalReadyPin5GNDSignalGroundPin6DSRDataSetReadyPin7RTSRequestToSendPin8CTSClearToSendPin9RIRingIndicator
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    公告:服务器刚移机,
    大家请不要下载东西。
    会下载失败


    QQ 手机版 小黑屋 监管台 遇到问题请联系QQ1308068381 逆天PCB论坛

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表