精华内容
下载资源
问答
  • 异步串行通信-源码

    2021-02-15 11:15:14
    异步串行通信
  • 异步串行通信

    千次阅读 2019-01-28 11:45:11
    异步串行通信
                   

    电子工业协会(EIAElectronic Industry Association)推荐的RS-232-c标准,是一种常用的串行数据传输总线标准。UART(通用异步收发器/串口/RS-232),早期它被应用于计算机与终端通过电话线和MODEM进行远距离的数据传输,随着计算机和微控制器的发展,近距离也采用该通信方式。在ARM嵌入式系统中,UART串口与USB、网口常用于系统的调试。<?xml:namespace prefix = o />

    1实例说明

    目前UARTPC机与电子通信中应用最广泛的一种串行接口,RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。ARM系统需要通过该串口进行程序调试。

    本实例使用电平转换电路MAX232来设计串行通信模块,RS-232-C串行接口总线适用于:设备之间的通信距离不大于<?xml:namespace prefix = st1 />15m,传输输率最大为20kbps,规定的数据传输速率为每秒5075100150300600120024004800960019200波特。RS-232-C采用负逻辑,即逻辑“l”-5V-15V;逻辑“0”+5V+15V

    2串行通信原理

    串行通信是指将构成字符的每个二进制数据位,依据一定的顺序逐位进行传送的通信方法。在串行通信中,有两种基本的通信方式:异步通信和同步通信。

    2.1异步串行通信

    异步串行通信的数据格式如图14-l所示。

    <?xml:namespace prefix = v />665){this.resized=true;this.style.width=665;}">
    异步通信数据帧的第一位是开始位,在通信线上没有数据传送时处于逻辑“1”状态。当发送设备要发送一个字符数据时,首先发出一个逻辑“0”信号,这个逻辑低电平就是起始位。起始位通过通信线传向接收设备,当接收设备检测到这个逻辑低电平后,就开始准备接收数据位信号。因此,起始位所起的作用就是表示字符传送开始。

    当接收设备收到起始位后,紧接着就会收到数据位。数据位的个数可以是5678位的数据。在字符数据传送过程中,数据位从最低位开始传输。数据发送完之后,可以发送奇偶校验位。奇偶校验位用于有限差错检测,通信双方在通信时需约定一致的奇偶校验方式。就数据传送而言,奇偶校验位是冗余位,但它表示数据的一种性质,这种性质用于检错,虽有限但很容易实现。在奇偶位或数据位之后发送的是停止位,可以是1位、1.5位或2位。停止位是一个字符数据的结束标志。

    存异步通信中,字符数据以图14-1所示的格式一个一个地传送。在发送间隙,即空闲时,通信线路总是处于逻辑“1”状态,每个字符数据的传送均以逻辑“0”开始。

    2.2同步串行通信

    在异步通信中,每一个字符要用到起始位和停止位作为字符开始和结束的标志,以至于占用了时间。所以在数据块传送时,为了提高通信速度,常去掉这些标志,而采用同步传送。同步通信不像异步通信那样,靠起始位在每个字符数据开始时使发送和接收同步,而是通过同步字符在每个数据块传送开始时使收发双方同步。

    同步通信的特点是:

    ·以同步字符作为传送的开始,从而使收发同步;

    ·每位占用时间相同;

    ·字符数据间不允许有间隙,当线路空闲或没有字符可发送时,发送同步字符。

    2.3 RS-232-C接口

    RS是英文推荐标准的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道。对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。

    一个完整的RS-232-C接口有22根线,采用标准的25芯插头座(如图14-2(a)所示)。现代微机采用9芯插头座(如图14-2(b)所示)

    665){this.resized=true;this.style.width=665;}">

    9针串行口DB-925针串行口。DB-25插针的对应关系如表14-1所示。25针串行口还具有20mA电流环接口功能,用91l1825针来实现。

     

    665){this.resized=true;this.style.width=665;}">
    一般应用情况下,RS-232-C的最高传输速率为20kbs,最大传输线长为30m。计算机与终端之间利用RS-232-C做进程连接时,可以用几根线实现交换连接。如图14-3(a)所示是DB-9仅将发送数据与接收数据交叉连接,同一设备的请求发送被连接到自己的清除发送载波检测上,而它的数据终端就绪连到自己的数据设备就绪上。相应的DB-25的连接方法如图14-3(b)所示。
    665){this.resized=true;this.style.width=665;}">
    本实例讲述的串口连接方式比上面介绍的更为简单,只交叉连接两个DTE发送数据接收数据,并连接信号地即可。这样的连接只要3根线,即模仿串口通信格式。

    ARM系统中,要完成最基本的串行通信功能,实际上只需要RXDTXDGND即可。这样的连接只要3根线,即模仿单片机的串口通信格式。但由于RS-232-c标准所定义的高、低电平信号与ARM系统的LVTTL电路所定义的高、低电平信号完全不同,LVTTL的标准逻辑“1”对应2V3.3V电平,标准逻辑“0”对应0V0.4V电平;而:RS-232-c标准采用负逻辑方式,标准逻辑“1”对应-5V-15V电平,标准逻辑“0”对应+5V+15V电平。显然,两者间要进行通信就必须经过信号电平的转换,这里可以与CMOSTTL电路相连,利用专用集成电路进行电平转换。

    3硬件电路设计

    ARMUART单元提供独立的异步串行I/O端口,每个都可以在中断和DMA两种模式下工作。支持的最高波特率为115.2kbps,每个UART通道包含216FIFO,分别用于接收和发送数据。

    UART可以进行以下参数的设置:可编程的波特率,红外收/发模式,12个停止位,5位、6位、7位或8位数据宽度和奇偶位校验。每个UART包含一个波特率产牛器、发送器、接收器和控制单元。波特率发生器以MCLK作为时钟源;发送器和接收器包含16字节的FIFOS和移位寄存器。要被发送的数据,首先被写入FIFO,然后拷贝到发送移位寄存器;接着它从数据输出端口(TxDn)依次被移位输出。被接收的数据也同样从数据接收端口(RxDn)移位输入到移位寄存器,然后拷贝到FIFO中。

    系统中采用RS-232的电平转换芯片实现串口的通信。TTL/CMOS输入输出信号与ARMUART输入/输出口对接。

    串口UART模块如图14-4所示。

    665){this.resized=true;this.style.width=665;}">
    4
    软件设计

    4.1 串口中断程序

    通信接口是标准的9600波特率的RS-232,因此在程序中要对串口进行初始化和端口配置,这样才能使串口正常工作。与ARM通信时,发送命令后返回的数据包是由模块自动发送的,并且正常工作时会自动发送数据包,因而串口的工作方式不能设定为查询方式,而只能设定为中断工作方式。

    在串口发送或接收的都是命令数据,因为ARM有固定的命令数据包格式,许多功能和显示都需要依靠对接收的命令数据包的特定字节进行判断来实现,因此串口中断服务程序就显得非常重要。在这里设置了一个长度为100的数组存放接收到的数据包,长度设为100是充分考虑到发送的数据长度有可能在60字节以上。在其中经过反复验证设置了几个非常重要的变量作为接收相关标志。

    665){this.resized=true;this.style.width=665;}">
    这里需要说明的是接收中断标志位RIO的作用。接收中断标志R10接收完一个数据字节后由硬件置位,当ARM转向中断服务程序时硬件小清除UARTO中断标志,中断标志必须用软件清除,这就允许软件查询UART0中断的原因(发送完成或接收完成)

    4.2串口调试程序代码

    串口调试程序也是在内启动方式下先下载2KB的串口调试程序代码并执行,它通过对任意总线地址读写操作来实现硬什接口的调试。

    在调试时用到的串口调试软件比较多,这里使用的是SSCOM版,其操作简单、方便,界面很直观并且功能比较齐全。其操作界面如图14-5所示。

    665){this.resized=true;this.style.width=665;}">
    在调试ARM前,必须先对核心板的串口工作情况进行调试。为此调试编写的测试程序功能是通过串口输出一个字符串“abcdefg”,经过串口初始化和程序运行,将PCARM板串口互连接线连接,通过此软件进行串口监听,接收到了正常的字符串“abcdefg”,即表明串口工作正常。然后将PCARM用专用连接线连接,设置好PC的串口号和波特率,根据通信协议在串口发送查询模块状态命令,并得到返同的数据包,表明与ARM通信正常。整个程序结构比较简单,只是在串口调试的主循环里加入了实现总线读写的调试命令。
    665){this.resized=true;this.style.width=665;}">
    665){this.resized=true;this.style.width=665;}">
    665){this.resized=true;this.style.width=665;}">
    利用这个串口调试程序,就可以利用串口发送命令,实现对任意总线地址的读/写操作。

    5实例总结

    串行通信是一种近距离通信手段,因为使用方便、编程简单而广泛使用,几乎所有的微控制器、PC都提供串行通信接口。

        本章讲述了UART异步串行通信模块的原理、软硬件设计,它是ARM程序调试的基础。在ARM中采用串口通信技术,可以大大提高程序的可读性及工作效率,并可广泛应用于基于串口通信的各种场合。

                

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

    展开全文
  • 1. 基本原理异步串行通信是指通信双方以一个字符(包括特定附加位)作为数据传输单位且发送方传送字符的间隔时间不一定,具有不规则数据段传送特性的串行数据传输。异步通信数据帧的第一位是开始位,在通信线上没有...

    1. 基本原理

    异步串行通信是指通信双方以一个字符(包括特定附加位)作为数据传输单位且发送方传送字符的间隔时间不一定,具有不规则数据段传送特性的串行数据传输。

    异步通信数据帧的第一位是开始位,在通信线上没有数据传送时处于逻辑'1'状态。当发送设备要发送一个字符数据时,首先发出一个逻辑“0”信号,这个逻辑低电平就是起始位。起始位通过通信线传向接收设备,当接收设备检测到这个逻辑低电平后,就开始准备接收数据位信号。因此,起始位所起的作用就是表示字符传送开始。

    当接收设备收到起始位后,紧接着就会收到数据位。数据位的个数可以是5,6,7或8位的数据。在字符数据传送过程中,数据位从最低位开始传输。数据发送完之后,可以发送奇偶校验位。奇偶校验位用于有限差错检测,通信双方在通信时需约定一致的奇偶校验方式。就数据传送而言,奇偶校验位是冗余位,但它表示数据的一种性质,这种性质用于检错,虽有限但很容易实现。在奇偶位或数据位之后发送的是停止位,可以是1位、1.5位或2位,停止位一直为逻辑'1'状态。停止位是一个字符数据的结束标志。

    在异步通信中,字符数据以图所示的格式一个一个地传送。在发送间隙,即空闲时,通信线路总是处于逻辑“1”状态,每个字符数据的传送均以逻辑“0”开始。

    2. 通信协议

    通信协议是指通信双方对数据传送控制的一种约定。通信双方必须遵守。通信协议应该包含两部分内容:一是硬件协议,即是接口协议;二是软件协议,即通信协议。

    3. 串行通信数据接口标准

    最常用的是RS-232和RS-485串行接口标准。当通信双方需要进行数据通信时,必须有统一的通信数据接口标准。如果不一样,需要转换。例如三菱FX2N 通信接口是RS-422接口标准,而FR-E500变频器是RS-485接口标准。两者通信,PLC需要添加FX2N-485-BD通信板,这样就将RS-422转换为RS-485接口标准。

    4. 通信格式

    需要解决问题:

    a. 如何通知传送数据到了;

    b. 接受方如何知道一个字符串发送完毕,要区分上一个字符串与下一个字符串;

    c. 接受方接受到字符串后如何知道这个字串有没有错。

    解决的方式有起止式异步传送。

    22b2696693f5598fcb7237b521ccdb6a.png

    起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。其格式如图3 所示。每一个字符的前面都有一位起始位(低电平,逻辑值0),字符本身有5~7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一位,或意味半,或二位停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平(逻辑值),这样就保证起始位开始处一定有一个下跳沿。从图中可以看出,这种格式是靠起始位和停止位来实现字符的界定或同步的,故称为起始式协议。

    起/止位的作用:起始位实际上是作为联络信号附加进来的,当它变为低电平时,告诉收方传送开始。它的到来,表示下面接着是数据位来了,要准备接收。而停止位标志一个字符的结束,它的出现,表示一个字符传送完毕。这样就为通信双方提供了何时开始收发,何时结束的标志。传送开始前,发收双方把所采用的起止式格式(包括字符的数据 位长度,停止位位数,有无校验位以及是奇校验还是偶校验等)和数据传输速率作统一规定。传送开始后,接收设备不断地检测传输线,看是否有起始位到来。当收 到一系列的“1”(停止位或空闲位)之后,检测到一个下跳沿,说明起始位出现,起始位经确认后,就开始接收所规定 的数据位和奇偶校验位以及停止位。经过处理将停止位去掉,把数据位拼装成一个并行字节,并且经校验后,无奇偶错才算正确的接收一个字符。一个字符接收完毕,接收设备有继续测试传输线,监视“0”电平的到来和下一个字符的开始,直到全部数据传送完毕。

    由上述工作过程可看到,异步通信是按字符传输的,每传输一个字符,就用起始位来通知收方,以此来重新核对收发双方同步。若接收设备和发送设备两者的时钟频率 略有偏差,这也不会因偏差的累积而导致错位,加之字符之间的空闲位也为这种偏差提供一种缓冲,所以异步串行通信的可靠性高。但由于要在每个字符的前后加上 起始位和停止位这样一些附加位,使得传输效率变低了,只有约80%。因此,起止协议一般用在数据速率较慢的场合(小于19.2kbit/s)。在高速传送时,一般要采用同步协议。

    5. 通信数据格式(报文格式)

    把一个一个的字符串组织在一起,形成了一个字符串,这个由多个字符串组成的数据信息就是通信控制的具体内容,称为一帧信息。设计一个能够控制出错的数据信息帧结构是通信协议的主要内容。

    在PLC与变频器等智能设备中,其数据帧结构基本上是根据HDLC(高级数据链路控制)信息帧设计的。HDLC的完整的帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验序列字段(FCS)等组成。

    HDLC的数据信息帧结构:

    9e6f5129296675010028fb0a9f2a4a5d.png
    展开全文
  • 在用单片机开发各种嵌入式应用系统时,异步串行通信是经常要用到的一种通信模式,很多应用中还要求实现多路异步串行通信。本文主要介绍PIC 单片机软件异步串行口实现技巧。
  • 本文介绍了一种运用AT89C2051单片机实现异步串行数据再生,消除由于通信码速调整造成的异步串行数据波形畸变的方案,可应用于远程监控。
  • 摘要:为了适应全数字化自动控制更加广泛的应用,采用现场可编程门阵列(FPGA)对异步串行通信控制器(UART)进行多模块的系统设计的方法,使串口通信的集成度更高。  对UART系统结构进行了模块化分解,可分为三个...
  • 在用单片机开发各种嵌入式应用系统时,异步串行通信是经常要用到的一种通信模式,很多应用中还要求实现多路异步串行通 信。
  •  1、异步串行方式的特点  所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。异步串行通信的特点可以概括为:  ①以字符为单位传送信息。  ②相邻...
  • 在用单片机开发各种嵌入式应用系统时,异步串行通信是经常要用到的一种通信模式,很多应用中还要求实现多路异步串行通信。大家平时熟悉的各种厂家的单片机,绝大部分片上只提供一个硬件UART模块,利用它可以方便实现一路
  • 本文是基于VHDL的异步串行通信电路的设计。
  • 异步串行通信接口(SCI)因其结构简洁、使用方便,因而在各类MCU、DSP和MPU芯片设计中获得广泛的应用。本文给出一种以状态机为控制核心、以数据流为执行中心的异步串行通信接口IP核结构设计的通用方法。此方法已在...
  • 在用单片机开发各种嵌入式应用系统时,异步串行通信是经常要用到的一种通信模式,很多应用中还要求实现多路异步串行通信。大家平时熟悉的各种厂家的单片机,绝大部分片上只提供一个硬件UART模块,利用它可以方便实现...
  • 通用异步串行接口的VHDL实用化设计、电子技术,开发板制作交流
  • 8251异步串行通信实验

    2013-01-10 19:35:50
    8251异步串行通信实验
  • fpga异步串行收发器设计报告,其中包括设计思路详细框图,利用序列机实现,依据框图用verilog复述一遍即可完成所需功能。
  • 串行通信——异步串行通信

    千次阅读 2019-03-23 16:06:08
    II、异步串行通信详解 一、数据格式 1. 起始位 2. 数据位 3. 奇偶校验位 4. 停止位 二、通信制式 1. 单工 2. 半双工 3. 全双工 三、通信速率 I、串口通信简介 一、定义 在一条传输线上,数据以“位”...

    目录

    I、串口通信简介

    一、定义

    二、意义

    三、分类

    II、异步串行通信详解

    一、数据格式

    1. 起始位

    2. 数据位

    3. 奇偶校验位

    4. 停止位

    二、通信制式

    1. 单工

    2. 半双工

    3. 全双工

    三、通信速率


    I、串口通信简介

    一、定义

    一条传输线上,数据以“位”为单位进行逐个传输,即为串行通信。

    二、意义

    并行通信控制简单、相对传输速度快,但由于传输线较多,长距离传输时成本高,因此仅适合短距离的数据传输;

    相对的,在满足“传输速度 ≥ 最大需求速度”的前提下,使用串行通信便是大势所趋了。

    三、分类

    串行通信分为两种方式,异步串行通信同步串行通信

    异步串行通信,是指发送方与接收方,使用各自的时钟控制数据发送和接收过程(为使双方收发协调,要求双方时钟尽可能一致);

    同步串行通信,则是发送方时钟直接控制接收方时钟,使双方完全同步(同步方法有“外同步和自同步”两种)。

     

    串行通信的最小传输单位是“位”,一次完整的“接收/发送”的最小单位是“字符”(单独收发一个位的数据,通常没有意义)。

    • 使用异步串行通信时,由于收发双方时钟不严格一致,所以每个字符都要用到起始位和停止位来作为字符开始和结束的标志,从而保证数据传输的准确性(由于每个字符都有开始和停止位,因此字符之间的时间间隔是任意的);
    • 使用同步串行通信时,由于收发双方时钟严格一致,所以仅在数据块(有效数据)传输的一开始和结束时,用到了开始符和结束符,在有效数据传输完毕后,发送空闲字符。

    对比两种串行通信方式,同一数据块,后者仅在头尾处添加了开始与结束标记,因此后者的传输效率较高,但实现的硬件设备也更复杂,所以各设备之间,通常采用的还是异步串行通信方式。

    接下来将详细介绍异步串行通信。

    II、异步串行通信详解

    一、数据格式

    一次完整的“接收/发送”的最小单位是“字符”,我们将其称为一个字符帧,字符帧由四部分组成:起始位、数据位、校验位、停止位。

    1. 起始位

    起始位为0。

    • 通讯线在空闲状态时保持高电平,因此出现下降沿即可判定为数据传输开始;
    • 另外,由于数据位定长,且起始位在一次接收中只判定一次,所以不用担心数据位中的0误识别成起始位。

    2. 数据位

    数据位可以是5/6/7/8位,传输时低位在前、高位在后

    3. 奇偶校验位

    校验位可以省略,当需要使用校验位时:

    • 奇偶校验位为1或0;
    • 奇校验时,数据位、校验位中1的个数,应该是奇数;
    • 偶校验时,数据位、校验位中1的个数,应该是偶数。

    4. 停止位

    停止位为1。

    • 停止位可以是1位的长度、1.5位的长度、2位的长度(位数的本质含义是信号出现的时间,故可有分数位);
    • 另外,由于数据位定长,所以停止位位置固定可知,接收时只需判定停止位是否为1即可。

    二、通信制式

    1. 单工

    数据仅能沿一个方向传输,不能实现反向传输(只能A→B,不能B→A)。

    2. 半双工

    数据可以沿两个方向传输,但同一时刻,只能接收或者发送。

    3. 全双工

    数据可以沿两个方向传输,且可以同时进行。

    三、通信速率

    • 串口通讯的速率用波特率表示,定义为每秒传输二进制码的位数,单位是bps(位/秒);
    • 以9600bps为例,假设一个字符帧共有10位(1起始位、8数据位、1结束位),那么每秒钟能传输的最大字符数为“9600/10 = 960”;
    • 最大传输距离,与波特率成反比关系(9600bps,最大传输距离约为76m)。
    展开全文
  • 介绍了基于CPLD的异步串行收发器的设计方案,着重叙述了用混合输入(包括原理图和VHDL)实现该设计的思想,阐述了在系统可编程?穴ISP?雪开发软件的应用方法与设计流程,并给出了VHDL源文件和仿真波形...
  • AVR系列单片机都带有异步串行接口,而我们现在学习的ATmega64更是有两个串口。我们知道单片机的电平一般都是TTL电平(关于TTL电平与 CMOS电平等其他电平的区别,我们以后单独详解),而计算机的串口是RS-232电平,这...
  • 施耐德Premium和Atrium异步串行链路用户手册pdf,施耐德使用Unity Pro的Premium和Atrium异步串行链路用户手册:本手册介绍 Premium 和 Atrium PLC 的字符模式、Modbus 和 Uni-Telway 通讯的硬件和软件实施的原理。
  • 同步串行与异步串行

    千次阅读 2015-02-04 15:38:43
    串行通信是微机接口的一个重要组成部分,有着极其广泛的应用。...串行通信又分为同步串行通信和异步串行通信。本章将就串行通信进行详细讲述,末了还给出应用实例,力求反应目前串行通信的新技术和新发展。  串...

        串行通信是微机接口的一个重要组成部分,有着极其广泛的应用。随着微机特别是单片机的发展,其应用已从单机逐渐转向多机或联网,而多机应用的关键又在微机通信。微机通信有串行并行两种通信方式,并行通信可以提高数据交换速度而串行通信可以节省系统资源,降低系统成本。串行通信又分为同步串行通信异步串行通信。本章将就串行通信进行详细讲述,末了还给出应用实例,力求反应目前串行通信的新技术和新发展。

     串行通信的概念

      并行通信和串行通信

    在微机系统中,CPU 与外部的基本通信方式有两种:

    并行通信——数据各位同时传送;

    串行通信——数据一位位顺序传送。

    图1 是这两种方式的示意图。一般快速设备之间采用并行通信,譬如CPU 与存储设备、存储器与存储器、主机与打印机等都采用并行通讯。并行通讯,有多少位数据就必须有多少根数据线,如下图是11 位数据就有11 根数据线。串行通信最少可以只需一根通信线,只发或只收。因而大大节省了系统资源,降低了系统成本。由于只用一根数据线,所以是以降低传送速度来换取资源的,它常用在传送距离远,速度要求不高的场合。

    串行通信的传送方式

    串行通信的传送方式通常有3 种:

    一种为单向(或单工)配置,只允许数据向一个传送;

    另一种是半双工配置,允许数据向两个方向中的任一方向传送,但每次只能有一个站发送;

    第三种传送方式是全双工配置,允许同时双向传送数据,因此,全双工配置是一对单向配置,它要求两端的通信设备具有完整和独立的发送和接收能力。

    图7-2 所示为串行通信中的数据传送方式。

    异步通信和同步通信

     

    串行通信进行数据传送时是将要传送的数据按二进制位,依据一定的顺序逐位发送到接收方。其有两种通信方式:

    1、 异步通信

    异步通信是我们最常采用的通信方式,我们后面的例子都是采用的异步通信方式。异步通信采用固定的通信格式,数据以相同的帧格式传送。如图7-3 所示,每一帧由始位数据位奇偶校验位停止位组成。

    在通信线上没有数据传送时处于逻辑“1”状态。当发送设备发送一个字符数据时,首先发出一个逻辑“0”信号,这个逻辑低电平就是起始位。起始位通过通信线传向接收设备,当接收设备检测到这个逻辑低电平后,就开始准备接收数据信号。因此,起始位所起的作用就是表示字符传送开始。

          起始位后面紧接着的是数据位,它可以是位、位、位、或数据传送时,低位在前。

     

    奇偶校验位用于数据传送过程中的数据检错,数据通信时通信双方必须约定一致的奇偶校验方式。就数据传送而言,奇偶校验位是冗余位,但它表示数据的一种性质。也有的不要校验位。

    在奇偶校验位或数据位后紧接的是停止位,停止位可以是一位、也可以是1.5 。接收端收到停止位后,知道上一字符已传送完毕,同时,也为接收下一字符作好准备。若停止位后不是紧接着传送下一个字符,则让线路保持为“1”。“1”表示空闲位,线路处于等待状态。存在空闲位是异步通信的特性之一。

    2、 同步通信

    同步通信时,通信双方共用一个时钟,这是同步通信区分于异步通信的最显著的特点。在异步通信中,每个字符要用起始位和停止位作为字符开始和结束的标志,以致占用了时间。所以在数据块传送时,为提高通信速度,常去掉这些标志,而采用同步通信。同步通信中,数据开始传送前用同步字符来指示(常约定1),并由时钟来实现发送端和接收端的同步,即检测到规定的同步字符后,下面就连续按顺序传送数据,直到一块数据传送完毕。同步传送时,字符之间没有间隙,也不要起始位和停止位,仅在数据开始时用同步字符SYNC来指示,其数据格式见图7-4。

     

    同步通信和异步通信相比有以下特点:

     

    1. 以同步字符作为传送的开始,从而使收发双方取得同步。

    2. 每位占用的时间相等。

    3. 字符数据之间不允许有空位,当线路空闲或没字符可发时,发送同步字符

    同步字符的插入可以是单同步字符或双同步字符,如图7-4 所示同步字符也可以由用户约定,当然也可以采用ASCII 码中规定的SYN 代码,即16H。

    在同步传送时,要求用时钟来实现发送端和接收端之间的同步。为了保证接收正确无误,发送方除了传送数据外,还要传送同步时钟。

    同步通信虽然可以提高传送速度,可达56Kb/s 或更高,但实现起来颇为复杂,因此实际较少使用。

     波特率和接收发送时钟

    1. 波特率(Baud rate)

    波特率是指数据传送时,每秒传送数据二进制代码的位数,它的单位是位/秒(b/s)。1波特就是一位每秒。假设数据传送速率是每秒120 字符,而每个字符格式包括10 个代码位(1个起始位、一个终止位、8 个数据位),这时传送的波特率为:

    10 × 120 = 1200b/s

    位传送时间宽度Td=波特率的倒数,则上式中的Td=1/1200s=0.883ms。

    在异步串行通信中,接收设备和发送设备保持相同的传送波特率,并以每个字符数据的起始位与发送设备保持同步。起始位。数据位。奇偶位和停止位的约定,在同一次传送过程中必须保持一致,这样才能成功的传送数据。

    2.接收/发送时钟

    二进制数据系列在串行传送过程中以数字信号波形的形式出现。不论接收还是发送,都必须有时钟信号对传送的数据进行定位。接收/发送时钟就是用来控制通信设备接收/发送字符数据速度的,该时钟信号通常由外部时钟电路产生。

    在发送数据时,发送器在发送时钟的下降沿将移位寄存器的数据串行移位输出;在接收数据时,接收器在接收时钟的上升沿对接收数据采样,进行数据位检测,

    接收/发送时钟频率与波特率有如下关系:

     

    收/发时钟频率 = × 收/发波特率

    n11664

    在同步传送方式,必须取n=1,即接收/发送时钟的频率等于收/发波特率。在异步传送方式,n=1,16,64,即可以选择接收/发送时钟频率是波特率的1,16,64 倍。因此可由要求的传送波特率及所选择的倍数n 来确定接收/发送时钟的频率。

    例如,若要求数据传送的波特率为300Baud,则

    接收/发送时钟频率=300Hz (n=1)

    接收/发送时钟频率=4800Hz (n=16)

    接收/发送时钟频率=19.2kHz (n=64)

    接收/发送时钟的周期Tc 与传送的数据位宽之间的关系是:

    Tc = Td / n

    若取n=16,那么异步传送接收数据实现同步的过程如下:接收器在每一个接收时钟的上升沿采样接收数据线,当发现接收数据线出现低电平时就认为是起始位的开始,以后若在连续撤8 个时钟周期(因n=16,故Td=16Tc)内检测到接收数据线仍保持低电平,则确定它为起始位(不是干扰信号)。通过这种方法,不仅能够排除接收线上的噪声干扰,识别假起始位,而且能够相当精确的确定起始位的中间点,从而提供一个正确的时间基准。从这个基准算起,每隔16Tc 采样一次数据线,作为输入数据。一般来说,从接收数据线检测到一个下降沿开始,若其低电平能保持n/2Tc(半位时间),则确定为起始位,其后每隔nTc 时间(一个数据时间)在每个数据位的中间点采样。

    由此可见,接收/发送时钟对于收/发双方之间的数据传输达到同步是至关重要的。

     

    展开全文
  • 异步串行通信的数据格式如图所示。  图 异步串行通信的数据格式  异步通信数据帧的第一位是开始位,在通信线上没有数据传送时处于逻辑“1”状态。当发送设备要发送一个字符数据时,首先发出一个逻辑“0”信号...
  • 用VHDL语言设计的异步串行通信收发模块。采样方法时序配合及数据存储方式有创新。
  • 你所查询的《异步串行口-以太设备服务器 》应用笔记提供Acrobat PDF格式: /异步串行口-以太设备服务器 .pdf (PDF, 461kB) 免费Acrobat PDF阅读软件可从以下网站获得: ...马雅历
  • 异步串行接口

    千次阅读 2016-11-30 23:35:41
    第10章 异步串行接口  1、 串行通信与并行通信的概念、特点。 数据通信的基本方式可分为并行通信与串行通信两种。 并行通信:是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快,适用于短...
  • 摘 要:介绍了计算机异步串行接口键盘的特殊设计要求和工作原理,结合开发过程,讨论分析了89C51芯片的结构、功能特点以及应用中需要注意的问题,并给出了计算机串行接口键盘的硬件原理图及软件流程图。 关键词:...
  • 通用异步串行通讯(UART,以下简称:串口通讯),是一般嵌入式工程控制系统中使用非常普遍的一种通讯方式,又主要是以TTL电平、RS232、RS485或RS422总线方式为最多。所以,一般从事工控行业的IT工程师,需撑握串口...
  • 摘要:当PIC单片机不具备片上硬件USART或USART不够用时,可以利用软件模拟实现异步串行通信。论述了异步串行通信的基本概念,根据中断驱动的软件模拟异步串行通信的要求,设计了PIC单片机与PC机之间的接口电路和通信...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,876
精华内容 2,350
关键字:

异步串行