精华内容
下载资源
问答
  • 串行通讯

    2011-03-25 17:46:00
    串行通讯

    1. 基本的通讯方式有并行通讯和串行通讯两种.

    一条信息的各位数据被同时传送的通讯方式称为并行通讯。并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯。

        一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。

        根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。

     MCS_51单片机有一个全双工串行口。全双工的串行通讯需要一根输出线和一根输入线。串行通讯中主要有两个技术问题,一个是数据传送、另一个是数据转换。数据传送主要解决传送中的标准、格式及工作方式等问题。数据转换是指数据的串并行转换。具体说,在发送端,要把并行数据转换为串行数据;而在接收端,要把接收到的串行数据转换为并行数据。

        单工目前已很少采用。

        全双工方式(full duplex)

        在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传送。全双工方式无需进行方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。这种方式要求通讯双方均有发送器和接收器,同时,需要2根数据线传送数据信号。(可能还需要控制线和状态线,以及地线)。

     

    2. http://iask.sina.com.cn/b/6709964.html

       串口叫做串行接口,现在的PC 机一般有两个串行口COM 1 和COM 2 。串行口不同于并行口之处在于它的数据和控制信息是一位接一位地传送出去的。 虽然这样速度会慢一些,但传送距离较并行口更长,因此若要进行较长距离的通信时,应使用串行口。通常 COM 1 使用的是9 针D 形连接器,也称之为RS-232接口,而COM 2 有的使用的是 老式的DB25 针连接器,也称之为RS-422接口,这种接口目前已经很少使用。
       并口又称为并行接口。目前,并行接口主要作为打印机端口,采用的是25 针D 形接头。所谓“并行”,是指8 位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错。目前计算机基本上都配有并口。

    展开全文
  • 一张图串行,并行,并发

    千次阅读 2019-05-12 22:12:01
    一次只能干一件事,挨个按顺序执行(串行): 一会儿吃口馒头,一会儿吃口菜(并发): 多条流水线同时工作(并行): 竞争问题: A和B线程都对同一个内存位置进行读写,就会容易出现竞争问题。 Thread...

    一次只能干一件事,挨个按顺序执行(串行):

     一会儿吃口馒头,一会儿吃口菜(并发):

     多条流水线同时工作(并行):

    竞争问题:

    A和B线程都对同一个内存位置进行读写,就会容易出现竞争问题。

    Thread1先读取42,Thread2也读取42。Thread1写入变成43,Thread2也写入变成43. 期望结果应该是44(42 +1 + 1).

     

    通过互斥锁达到数据同步读写的问题,但也会带来死锁问题:

    两个线程都在等待对方释放资源。

     

     

    展开全文
  • SPI串行总线

    2019-03-30 22:57:46
    原理介绍: SPI是同步串行通信接口。英文是serial peripheral interface的缩写,也就是串行外围设备接口。 SPI是一种高速的、全双工、同步通信...SPI通信的速度很容易达到好几兆bps,所以可以用SPI总线传输一些未压...

    原理介绍:

    SPI是同步串行通信接口。英文是serial
    peripheral interface的缩写,也就是串行外围设备接口。

    SPI是一种高速的、全双工、同步通信总线,标准的SPI也仅仅使用4个引脚,广泛用于EEPROM、Flash、RTC(实时时钟)、ADC(数模转换器)、DSP(数字信号处理器)以及数字信号解码器上。SPI通信的速度很容易达到好几兆bps,所以可以用SPI总线传输一些未压缩的音频以及压缩的视频。SPI通信原理比I2C要简单,它主要是主从方式通信,这种模式通常只有一个主机和一个或者多个从机,标准的SPI是4根线,分别是SSEL(片选,也写作SCS)、SCLK(时钟,也写作SCK)、MOSI(主机输出从机输入Master Output/Slave Input)和MISO(主机输入从机输出Master Input/Slave Output)。

    SSEL:从设备片选使能信号。如果从设备是低电平使能的话,当拉低这个引脚后,从设备就会被选中,主机和这个被选中的从机进行通信。

    SCLK:时钟信号,由主机产生,和I2C通信的SCL有点类似。

    MOSI:主机给从机发送指令或者数据的通道。

    MISO:主机读取从机的状态或者数据的通道。

    在某些情况下,我们也可以用3根线的SPI或者2根线的SPI进行通信。比如主机只给从机发送命令,从机不需要回复数据的时候,那MISO就可以不要;而在主机只读取从机的数据,不需要给从机发送指令的时候,那MOSI可以不要;当一个主机一个从机的时候,从机的片选有时可以固定为有效电平而一直处于使能状态,那么SSEL可以不要;此时如果再加上主机只给从机发送数据,那么SSEL和MISO都可以不要;如果主机只读取从机送来的数据,SSEL和MOSI都可以不要。 3线和2线的SPI大家要知道怎么回事,实际使用也是有应用的,但是当我们提及SPI的时候,一般都是指标准SPI,都是指4根线的这种形式。

    先来学习两个名词:

    CPOL: Clock Polarity,就是时钟的极性。通信的过程分为空闲时刻和通信时刻,SCLK在数据发送之前和之后的空闲状态是高电平那么CPOL,那么CPOL = 1,如果空闲状态SCLK是低电平,那么CPOL = 0;如果空闲状态SCLK是低电平,那么CPOL = 0;

    CPHA: Clock Phase,就是时钟的相位。

    CPHA=1,就表示数据的输出是在一个时钟周期的第一个沿上,至于这个沿是上升沿还是下降沿,这要是CPOL的值而定,CPOL=1那就是下降沿,反之就是上升沿。那么数据的采样自然就是在第二个沿上了。

    CPHA=0,就表示数据的采样是在一个时钟周期的第一个沿上,同样它是什么沿由CPOL决定。那么数据的输出自然就在第二个沿上了。

    主机和从机要交换数据,就牵涉到一个问题,即主机在什么时刻输出数据到MOSI上而从机在什么时刻采样这个数据,或者从机在什么时刻输出数据到MISO上而主机什么时刻采样这个数据。同步通信的一个特点就是所有数据的变化和采样都是伴随着时钟沿进行的,也就是说数据总是在时钟的边沿附近变化或被采样。而一个时钟周期必定包含了一个上升沿和一个下降沿,这是周期的定义所决定的,只是这两个沿的先后并无规定。又因为数据从产生的时刻到它的稳定是需要一定时间的,那么,如果主机在上升沿输出数据到MOSI上,从机就只能在下降沿去采样这个数据了。反之如果一方在下降沿输出数据,那么另一方就必须在上升沿采样这个数据。

    每个clock周期内,SPI设备都会发送并接收1 bit数据,相当于有1 bit数据被交换了。数据传输高位在前,低位在后(MSB
    first)。SPI主从结构内部数据传输示意图如下图所示
    在这里插入图片描述

    下面是4种模式:

    模式0:CPOL = 0,CPHA = 0。SCK串行时钟线空闲是为低电平,数据的采样是在第一个沿上,也就是上升沿,数据的输出是在第二个沿上,也就是下降沿。
    在这里插入图片描述

    模式1:CPOL = 0,CPHA =
    1。SCK串行时钟线空闲是为低电平,数据的输出是在第一个沿上,也就是上升沿,所以数据的采样是在下降沿。
    在这里插入图片描述

    模式2:CPOL = 1,CPHA =
    0。SCK串行时钟线空闲是为高电平,数据的采样是在第一个沿上,也就是下降沿,所以数据的输出是在下降沿。
    在这里插入图片描述

    模式3:CPOL = 1,CPHA =
    1。SCK串行时钟线空闲是为高电平,数据的输出是在第一个沿上,也就是下降沿,所以数据的采样是在上升沿。
    在这里插入图片描述
    仿真程序后面补上

    展开全文
  • 串行通信 相关概念

    2010-07-17 15:43:38
    毕业设计时容易用到的串行通信概念文档下载
  • 异步串行通信

    千次阅读 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

    展开全文
  • 并行与串行传输,串行高速传输

    千次阅读 2018-03-24 17:17:05
    串行只有一根数据线,不存在信号线之间的串扰,而且串行还可以采用低压差分信号,可以大大提高它的抗干扰性,所以可以实现更高的传输速率,尽管并行可以一次传多个数据位,但是时钟远远低于串行,所以目前串行传输...
  • 同步串行通信和异步串行通信

    千次阅读 2014-08-19 16:27:40
    原文地址:同步串行通信和异步串行通信作者:SUN_403  串行通信的数据是逐位传送的,发送方发送的每一位都具有因定的时间间隔,这就要求接收方也要按照发送方同样的时间间隔来接收每一位。不仅如此,接收方还要确定...
  • 串行与并行

    千次阅读 2016-09-16 21:18:45
    串行与并行程序或程序段在系统中有两种执行方式。一种是顺序执行,一种是并发执行。但是很多时候我们写的是串行的程序,而操作系统确实又要并发执行程序,这往往会产生一些让程序员感到“很奇怪”的错误。本文就...
  • 串行端口实用程序 该项目已集成回
  • 文章探讨了一种多CPU共享串行EEPROM的模块化设计方法,使得系统设计简单可靠,软件编制容易
  • 8051单片机串行口及串行通信

    千次阅读 2010-10-07 10:19:00
    <br />8051单片机串行口及串行通信   一、串行通信的基础知识 CPU与其他外部设备要进行信息交换,一台计算机与其他计算机之间有时也要交换信息,这些信息交换就称为通信。通信有并行通信和...
  • 串行绘图 串行绘图仪 作为检测器... 使用 Qt 的优点是代码可以很容易地转换到其他操作系统(我们使用的是 Windows 8.1)。 QCustumPlot 是由 Emanuel Eichhammer(德国)开发的用于绘图和数据可视化的 Qt C++ 小部件
  • 串行化技术

    2010-02-07 17:06:00
    串行化(serialization)是指将一个对象的当前状态转换成字节流(a stream of bytes)的过程,而反串...而且它的读取也很容易,只要进行反串行化就可以恢复原来的数据。在.net上有个专门的用来串行化对象的方法下面引用MSDN
  • 串行通信技术SERDES

    千次阅读 2009-08-10 10:29:00
    串行通信技术SERDES 随着对信息流量需求的不断增长,传统并行接口技术成为进一步提高数据传输速率的瓶颈。过去主要用于光纤通信的串行通信技术——SERDES正在取代传统并行总线而成为高速接口技术的主流。本文阐述了...
  • textview图文混排不串行,例子清晰,非常容易理解。
  • 串行性与“严格”可串行化区别 多年来,“可串行化/序列化”(serializability)被称为数据库隔离级别的“ 黄金标准 ”。它是绝大多数商业数据库系统中提供的最高隔离级别,一些高度广泛部署的系统甚至无法提供...
  • 初探QT串行数据

    2017-11-07 12:14:43
    在处理网络通信串行数据过程中(这里主要指socket通信)串行数据的发送和解析是一个重要的环节,对于socket通信常用的传输格式为字节流,所以通信时数据的串行化处理十分重要。这里首先说明下对串行数据解析的两种...
  • 在单片机应用系统中,经常...尤其是Visual C++这种可视化面向对象的编程环境中,可以真正把串口看作一个对象,编程时只需简单的设置,理解起来也很容易。下面详细讨论Microsoft提供的串行通信ActiveX控件的使用方法。
  • UART串行通信

    千次阅读 2017-06-24 11:36:18
    什么是串行通信? 将数据字节分成一位一位的形式在一条传输线上逐位地发送。 优点:成本低,控制复杂。 什么是异步通信? 异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方...
  • 并行传输VS串行传输

    千次阅读 2013-06-21 10:45:31
    众人拾柴火焰高”是句老话,但电脑领域却发生了...从技术发展的情况来串行传输方式大有彻底取代并行传输方式的势头,USB取代IEEE 1284,SATA取代PATA,PCI Express取代PCI……从原理来,并行传输方式其实优于串行
  • 意法半导体(STMicro)日前针对数据和参数存储应用推出一个新系列的高速、低压、SPI标准引线的串行闪存,新的M25PE的优点是在引线上保持与串行EEPROM的连贯性,产品升级十分灵活,这意味着系统实现容易,节省设计...
  • VC 串行

    千次阅读 2008-08-08 17:02:00
    串行化是微软提供的用于对对象进行文件I/O的一种机制,该机制在框架(Frame)/文档(Document)/视图(View) 模式中得到了很好的应用。很多人对什么是串行化、怎么使对象具有串行化能力和如何使用串行化功能等问题都不甚...
  • 判断冲突可串行

    万次阅读 多人点赞 2018-03-18 22:21:01
    只有串行调度才是正确的结果。并发过程的结果只有与串行调度结果一样的才是正确的。这种并发调度被称为可串行化调度。 可串行化是并发事务正确调度的基本准则。对于一个并发调度,当且仅当它是可串行化的时候,才被...
  • 在计算机网络和工业控制系统中,经常需要采用串行通信来实现远程数据传输。目前,有多种接口标准可用于串行通信,...但是,RS232通信存在着传输速度慢、传输距离短、信号容易受到干扰等不足,其应用局限性已日益突出。
  • 双机串行通信 单片机单片机课程设计 容易的东西你懂得
  • 一说起接口,就不得不提到串行和并行,而且近几年主要看到的接口一般都是串行接口,似乎并行接口已经成为明日黄花。那么,串行和并行究竟有什么区别,串行比并行好在哪里呢? 首先让我们了解一下常见的并行接口有...
  • 串行差分传输

    千次阅读 2019-04-17 22:02:18
    并行接口速度比串行接口速度快,这是若干年前的情况了。 在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。 但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰越来越...
  • 串行口通信原理

    2018-06-09 11:55:50
    串行口的基本通信方式: 它 主要分为并行通信和串行通信。 并行通信从 字意上就可以理解,就是将数据字节的各位用多条数据线同时进行传送,每一位数据都需要一条传输线,此外,还需要一条信号线和若干控制信号线。...
  • 串口UART串行总线协议

    千次阅读 2018-09-14 20:13:30
    了下我的博客阅读量最大的文章,竟然是这篇文章,所以想重新整理下 正文 1 串口UART 1.1硬件连接 UART可以理解为可以用一线总线就可以完成数据的传输,连接图如下 VCC 用来给设备提供电源的,如果设备有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 99,237
精华内容 39,694
关键字:

容易看串行