精华内容
下载资源
问答
  • 1 ADSL主要技术特点 ADSL(Asymmetric Digital Subscriber Line),称为非对称数字用户线路。当在电话线两端分别放置ADSL Modem时,在这段电话线上便产生了3个信息通道:一个速率为1.5-9Mb/s高速下行通道,...
  • 串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息...

    串行通讯

    一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。 串行通讯又分为异步通讯和同步通讯两种方式。在单片机中,主要使用异步通讯方式。

    串行通讯中,两个设备之间通过一对信号线进行通讯,其中一根为信号线,另外一根为信号地线,信号电流通过信号线到达目标设备,再经过信号地线返回,构成一个信号回路。

    初级读者会产生疑问:为何不让信号电流从电源地线返回?答案:公共地线上存在各种杂乱的电流,可以轻而易举地把信号淹没。因此所有的信号线都使用信号地线而不是电源地线,以避免干扰。

    这一对信号线每次只传送1bit(比特)的信号,比如1Byte(字节)的信号需要8次才能发完。传输的信号可以是数据、指令或者控制信号,这取决于采用的是何种通讯协议以及传输状态。串行信号本身也可以带有时钟信息,并且可以通过算法校正时钟。因此不需要额外的时钟信号进行控制。

    并行通讯中,基本原理与串行通讯没有区别。只不过使用了成倍的信号线路,从而一次可以传送更多bit的信号。

    并行通讯通常可以一次传送8bit、16bit、32bit甚至更高的位数,相应地就需要8根、16根、32根信号线,同时需要加入更多的信号地线。比如传统的PATA线路有40根线,其中有16根信号线和7根信号地线,其他为各种控制线,一次可以传送2Byte的数据。并行通讯中,数据信号中无法携带时钟信息,为了保证各对信号线上的信号时序一致,并行设备需要严格同步时钟信号,或者采用额外的时钟信号线。

    通过串行通讯与并行通讯的对比,可以看出:串行通讯很简单,但是相对速度低;并行通讯比较复杂,但是相对速度高。更重要的是,串行线路仅使用一对信号线,线路成本低并且抗干扰能力强,因此可以用在长距离通讯上;而并行线路使用多对信号线(还不包括额外的控制线路),线路成本高并且抗干扰能力差,因此对通讯距离有非常严格的限制。

    历史

    最早的计算机设备之间全部采用串行接口,比如硬盘接口、打印机接口、通讯端口等等。那时候都是分立元件的电路设计,如果采用并行接口,元件的数量和占用的空间将成倍增长。比如一个8bit并行线路的接口元件数量将是串行线路的8倍(你得为每根信号线配置一套接收电路)。这个时期的数据通讯只能是非常简单而低速的。

    但是集成电路技术的出现带来了一个转变,当大量元件可以集成到一个小小的芯片上时,并行通讯变得廉价而方便了。不论是8bit、16bit还是更高位数的并行线路,只需要一个并行接口芯片就可以处理,这比一个处理串行通讯的芯片成本高不到哪里去。与串行通讯相比,并行通讯在同样的工作频率下,通讯速度就可以整倍提高。因此适应了当时计算机设备发展的需要,硬盘、打印机等速度较快的设备开始使用并行通讯,PATA、SCSI、Parallel Port成为最为流行的并行通讯接口,被大众所熟知。不过并行线路固有的一些缺点仍然限制了并行通讯的应用范围,至于超高速通讯和长距离通讯方面,由于线路成本比接口成本要重要得多,因此一直都是串行通讯的应用领域。

    除了并行通讯具有速度优势以外,串行通讯自身也有一个问题。在计算机内部,数据往往都是并行方式传送的,当采用串行方式与外界通讯时必须经过串/并转换处理。在早期集成电路规模较小的时代,串/并转换电路的处理能力十分有限,因此串行通讯的速度无法提高。随着如今集成技术的发展,逻辑电路的集成能力大大提高,甚至超过了IO连接单元的集成水平,从而逐步解决了串/并转换速度的限制。另一方面,现在集成逻辑处理电路的成本也比IO连接单元更便宜,因此串行通讯再次显示出它的优势。如果说集成电路技术一度帮助并行通讯流行起来,那么现在的高度集成水平则帮助串行通讯重返主流应用领域。

    展开全文
  • 什么是数字通信数字通信原理数字通信特点2.数字通信方式传送方式并行通信:串行通信:串行通信---同步传送串行通信---异步传送传送方向单工通信半双工通信全双工通信通信协议三要素1.什么是通信协议2.通信接口标准3....

    1.什么是数字通信

    数字通信是指用数字信号(二进制脉冲信号)作为载体来传输信息,或者用数字信号对载波进行数字调制后再传输的通信方式。

    数字通信原理

    在模拟通信中,原始信号(如话音的音频信号、电视的视频信号)直接用来对载波信号进行调制。在数字通信中,发信端原始信号必须先经过模拟-数字转换器(简称数字化器),转换成数字信号(通常以“1”和“0”形式)序列后代替原始信号,再对载波信号进行调制。在收信端,对接收到的载波信号经解调后,得到的仍是数字信号序列。但数字信号序列还必须经过数字-模拟转换器才能恢复原始模拟信号。对模拟信号进行数字化有多种方法,最基本的方法是脉码调制,还有各种类型的增量调制,后者在电路实现上更为简单。为了减少传输话音所必需的脉码率,声码器正逐步得到推广应用。声码器也是最可靠的数字电话保密终端。声码技术中较有发展前途的是线性预测编码。如何以更高的精度、更低的脉码率使信号数字化,仍然是数字通信技术的主要研究课题。用数字信号代替模拟信号后,模拟通信中的载频供给系统亦应相应改变,将被时钟所代替。为了正确判别收发两端数字码元,收发时钟之间必须同步,这要靠码元同步和帧同步技术达到;如果数字通信设备连成通信网,还必须用网同步技术(见同步技术)。数字通信还有一系列特有的技术。为使各种传输信道适应数字信号的传输,避免各种频率成分的振幅和时延特性上的不均匀性,避免码间干扰,需要采用均衡技术。为了便于在收信端提取同步信号,通常采用双极性码、高密度双极性码(HDB3码)、四比三进码(4B3T码)和部分响应码等。为了发现和自动纠正传输中出现的误码,需要采用差错控制技术。差错控制已发展成为一种独立的技术。

    数字通信特点

    1. 抗干扰能力强、无噪声积累:模拟信号在传输过程中与叠加的噪声很难分离,噪声会随着信号被传输、放大,严重影响通信质量。数字通信中的信息是包含在脉冲的有无之中的,只要噪声绝对值不超过某一门限值,接收端便可判别脉冲的有无,以保证通信的可靠性。

    2. 远距离传输仍能保证质量:因为数字通信采用再生中继方式,能够消除噪音,再生的数字信号和原来的数字信号一样,可继续传输下去,这样通信质量便不受距离的影响,可高质量地进行远距离通信。

    3. 能适应各种通信业务要求(如电话、电报、图像、数据等),便于实现统一的综合业务数字网。

    4. 便于采用大规模集成电路,便于实现加密处理,便于实现通信网的计算机管理等。

    5. 便于存储、处理和交换。

    6. 占用信道频带较宽:一路模拟电话的频带为4kHz带宽,而一路数字电话约占64kHz带宽。

    2.数字通信方式

    按传送方式分类:并行,串行
    按传送方向分类:单工,半双工,全双工
    按是否进行调制分类:基带,频带
    按通信介质分类:双绞线,同轴电缆,光纤

    传送方式

    并行通信:

    并行通信按字或字节作为单位整体进行传送,n位就必须要n根线。
    特点:传送速度快,通信线多,成本高。
    用途:用于计算机活PLC内部总线,PLC和扩展模块、智能模块之间的通信。

    串行通信:

    串行通信是以二进制的位(bit)为单位的数据传输方式,每次只传送一个bit位,串行通信需要的信号线少,适于距离较远的场合。
    工业上控制一般使用串行通信。
    同步:串行通信中接收方和发送方的速率应相同。分为同步传送异步传送

    串行通信—同步传送

    同步传送以字节为单位,每次传送1-2个同步字符、若干个数据字节(数据包)和校验字符。
    同步传送传输效率高,但是对于硬件的要求较高,一般用于高速通信。

    串行通信—异步传送

    在数据传送过程中,发送方可以随时传送字符,两个字符之间的时间间隔是不固定的。接收方必须随时准备好接收数据。但是在传送一个字符(一帧),所有bit位是连续发送的。
    传输速率低,通信方式简单可靠,成本低,易实现。但是其附加的非有效信息较多,传输效率较低,一般用于低速通信。
    这种通信方式广泛的应用在工业通信控制系统中。

    例如:
    传送数据 01001001 10000111
    在这里插入图片描述
    同步通信
    字符间是没有间隔的。01001001发完紧接着发10000111。

    异步通信
    两个字符之间是可以有间隔的。

    传送方向

    单工通信

    在这里插入图片描述

    半双工通信

    在这里插入图片描述

    全双工通信

    在这里插入图片描述

    通信协议三要素

    1. 通信接口标准
    2. 通信格式
    3. 通信数据格式

    1.什么是通信协议

    通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。这个规则就是通信协议。

    2.通信接口标准

    通信的硬件协议,提供机械的,电气的,功能性的特性和规程。同时,定义了传输介质与网络接口的连接方式以及数据发送与接收方式。
    在串行数据接口标准中,最常用的是RS232、RS422和RS485串行接口标准。

    3.通信格式

    在异步通信中,双方必须就通信数据传送方式,传送的数据长度校验方法传输速率 进行统一设置,这样才能保证双方通信的正确。这种双方设置统一的参数,称为通信格式。

    4.通信的数据格式(报文格式)

    通信协议必须对信息的传输内容作出规定。如: 传输的数据信息帧的结构,设备的地址,功能代码,所发送的数据校验方式,错误检测,信息传输中字符的制式等。这些数据信息规定称为通信的数据格式。

    展开全文
  • 支持全双工通信 通信简单 数据传输速率块 缺点 没有指定流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据 可靠性上有一定缺陷。 特点 ①:高速、同步、全双工、非差分、总线式 ②...

    串口通信协议之SPI通信协议

    SPI通信协议

    什么是SPI?

    SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一

    种同步串行接口技术,是一种高速的,全双工,同步的通信总线。

    SPI优点

    支持全双工通信

    通信简单

    数据传输速率块

    缺点

    没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据

    可靠性上有一定的缺陷。

    特点

    ①:高速、同步、全双工、非差分、总线式

    ②:主从机通信模式

    SPI通信协议的应用

    SPI 主要应用在 EEPROM, Flash, 实时时钟(RTC), 数模转换器(ADC), 数字信号处理器(DSP) 以及数字信号解码器之间. 它在芯片中只占用四根管脚 (Pin) 用来控制以及数据传输, 节约了芯片的 pin 数目, 同时为 PCB 在布局上节省了空间. 正是出于这种简单易用的特性, 现在越来越多的芯片上都集成了 SPI技术.

    SPI通信协议内容

    工作原理

    上图只是对 SPI 设备间通信的一个简单的描述, 下面就来解释一下图中所示的几个组件(Module):

    ①SSPBUF, 是Synchronous Serial Port Buffer的缩写, 泛指 SPI 设备里面的内部缓冲区, 一般在物理上是以 FIFO 的形式, 保存传输过程中的临时数据;

    ②SSPSR, 是Synchronous Serial Port Register的缩写, 泛指 SPI 设备里面的移位寄存器(Shift Regitser), 它的作用是根据设置好的数据位宽(bit-width) 把数据移入或者移出 SSPBUF;

    ③Controller, 泛指 SPI 设备里面的控制寄存器, 可以通过配置它们来设置 SPI 总线的传输模式.

    ④SCK, 是Serial Clock的缩写, 主要的作用是 Master 设备往 Slave 设备传输时钟信号, 控制数据交换的时机以及速率;

    ⑤SS/CS, 是Slave Select/Chip Select的缩写, 用于 Master 设备片选 Slave 设备, 使被选中的 Slave 设备能够被 Master 设备所访问;

    ⑥SDO/MOSI, 是Serial Data Output/Master Out Slave In的缩写, 在 Master 上面也被称为 Tx-Channel, 作为数据的出口, 主要用于 SPI 设备发送数据;

    ⑦SDI/MISO, 是Serial Data Input/Master In Slave Out的缩写, 在 Master 上面也被称为 Rx-Channel, 作为数据的入口, 主要用于SPI 设备接收数据;

    注:

    ①SPI 设备在进行通信的过程中, Master 设备和 Slave 设备之间会产生一个数据链路回环(Data Loop), 就像上图所画的那样, 通过 SDO 和 SDI 管脚, SSPSR 控制数据移入移出 SSPBUF, Controller 确定 SPI 总线的通信模式, SCK 传输时钟信号;

    ②通常情况下, 我们只需要对上图所描述的四个管脚(pin) 进行编程即可控制整个 SPI 设备之间的数据通信。

    重点:时钟timer控制着 SPI 协议的工作机制

    首先,  在这里解释一下两个概念:

    ① CPOL: 时钟极性, 表示 SPI 在空闲时, 时钟信号是高电平还是低电平. 若 CPOL 被设为 1, 那么该设备在空闲时 SCK 管脚下的时钟信号为高电平. 当 CPOL 被设为 0 时则正好相反.

     

            CPOL = 0: SCK引脚空闲时处于低电平;

            CPOL = 1: SCK引脚空闲时处于高电平。

     

    ② CPHA: 时钟相位, 表示 SPI 设备是在 SCK 管脚上的时钟信号变为上升沿时触发数据采样, 还是在时钟信号变为下降沿时触发数据采样. 若 CPHA 被设置为 1, 则 SPI 设备在时钟信号变为下降沿时触发数据采样, 在上升沿时发送数据. 当 CPHA 被设为 0 时也正好相反.

     

            CPHA = 0: 时钟脉冲下降沿触发主从设备数据交换

            CPHA = 1: 时钟脉冲上升沿触发主从设备数据交换

     

    时钟脉冲图说明了本例所使用的 SPI 数据传输模式被设置成 CPOL = 1, CPHA = 1. 这样, 在一个 Clock 周期内, 每个单独的 SPI 设备都能以全双工(Full-Duplex) 的方式, 同时发送和接收 1 bit 数据, 即相当于交换了 1 bit 大小的数据. 如果 SPI 总线的 Channel-Width 被设置成 Byte, 表示 SPI 总线上每次数据传输的最小单位为 Byte, 那么挂载在该 SPI 总线的设备每次数据传输的过程至少需要 8 个 Clock 周期(忽略设备的物理延迟). 因此, SPI 总线的频率越快, Clock 周期越短, 则 SPI 设备间数据交换的速率就越快.

    重点:SSPSR移位寄存器

    SSPSR 是 SPI 设备内部的移位寄存器(Shift Register). 它的主要作用是根据 SPI 时钟信号状态, 往 SSPBUF 里移入或者移出数据, 每次移动的数据大小由 Bus-Width 以及 Channel-Width 所决定.

    注:

    Bus-Width 的作用是指定地址总线到 Master 设备之间数据传输的单位.

    例如, 我们想要往 Master 设备里面的 SSPBUF 写入 16 Byte 大小的数据: 首先, 给 Master 设备的配置寄存器设置 Bus-Width 为 Byte; 然后往 Master 设备的 Tx-Data 移位寄存器在地址总线的入口写入数据, 每次写入 1 Byte 大小的数据(使用 writeb 函数); 写完 1 Byte 数据之后, Master 设备里面的 Tx-Data 移位寄存器会自动把从地址总线传来的1 Byte 数据移入 SSPBUF 里; 上述动作一共需要重复执行 16 次。

    Channel-Width 的作用是指定 Master 设备与 Slave 设备之间数据传输的单位. 与 Bus-Width 相似,  Master 设备内部的移位寄存器会依据 Channel-Width 自动地把数据从 Master-SSPBUF 里通过 Master-SDO 管脚搬运到 Slave 设备里的 Slave-SDI 引脚, Slave-SSPSR 再把每次接收的数据移入 Slave-SSPBUF里。

    通常情况下, Bus-Width 总是会大于或等于 Channel-Width, 这样能保证不会出现因 Master 与 Slave 之间数据交换的频率比地址总线与 Master 之间的数据交换频率要快, 导致 SSPBUF 里面存放的数据为无效数据这样的情况.

    重点:数据缓冲器——数据暂时寄存器

    我们知道, 在每个时钟周期内, Master 与 Slave 之间交换的数据其实都是 SPI 内部移位寄存器从 SSPBUF 里面拷贝的. 我们可以通过往 SSPBUF 对应的寄存器 (Tx-Data / Rx-Data register) 里读写数据, 间接地操控 SPI 设备内部的 SSPBUF.

    重点:数据缓冲器SSPBUF与移位寄存器SSPSR协同工作实现数据的读入输出

    在发送数据之前, 我们应该先往 Master 的 Tx-Data 寄存器写入将要发送出去的数据, 这些数据会被 Master-SSPSR 移位寄存器根据 Bus-Width 自动移入 Master-SSPBUF 里, 然后这些数据又会被 Master-SSPSR 根据 Channel-Width 从 Master-SSPBUF 中移出, 通过 Master-SDO  管脚传给 Slave-SDI 管脚,  Slave-SSPSR 则把从  Slave-SDI 接收到的数据移入 Slave-SSPBUF 里.  与此同时, Slave-SSPBUF 里面的数据根据每次接收数据的大小(Channel-Width), 通过 Slave-SDO 发往 Master-SDI, Master-SSPSR 再把从 Master-SDI 接收的数据移入 Master-SSPBUF.在单次数据传输完成之后, 用户程序可以通过从 Master 设备的 Rx-Data 寄存器读取 Master 设备数据交换得到的数据。

    重点:控制寄存器controller实现特定主从设备之间的数据交换

    Master 设备里面的 Controller 主要通过时钟信号(Clock Signal)以及片选信号(Slave Select Signal)来控制 Slave 设备. Slave 设备会一直等待, 直到接收到 Master 设备发过来的片选信号, 然后根据时钟信号来工作.

    Master 设备的片选操作必须由程序所实现. 例如: 假设“SS/CS引脚为低电平时,master设备开始于slave设备交换数据;SS/CS引脚为高电平时,master设备不于slave设备交换数据”。由程序把 SS/CS 管脚的时钟信号拉低电平, 完成 SPI 设备数据通信的前期工作; 当程序想让 SPI 设备结束数据通信时, 再把 SS/CS 管脚上的时钟信号拉高电平。

    工作特点

    1. 采用主-从模式(Master-Slave) 的控制方式

    SPI 规定了两个 SPI 设备之间通信必须由主设备 (Master) 来控制次设备 (Slave). 一个 Master 设备可以通过提供 Clock 以及对 Slave 设备进行片选 (Slave Select) 来控制多个 Slave 设备, SPI 协议还规定 Slave 设备的 Clock 由 Master 设备通过 SCK 管脚提供给 Slave 设备, Slave 设备本身不能产生或控制 Clock, 没有 Clock 则 Slave 设备不能工作,因此,clock就相当于一个选通脉冲。

    2. 采用同步方式(Synchronous)传输数据

    Master 设备会根据将要交换的数据来产生相应的时钟脉冲(Clock Pulse), 时钟脉冲组成了时钟信号(Clock Signal) , 时钟信号通过时钟极性 (CPOL) 和 时钟相位 (CPHA) 控制着两个 SPI 设备间何时数据交换以及何时对接收到的数据进行采样, 来保证数据在两个设备之间是同步传输的.

    3. 数据交换(Data Exchanges)

    SPI 设备间的数据传输之所以又被称为数据交换, 是因为 SPI 协议规定一个 SPI 设备在数据通信过程中充当"发送者(Transmitter)" 和 "接收者(Receiver)". 在每个 Clock 周期内, SPI 设备都会发送并接收一个 bit 大小的数据, 相当于该设备有一个 bit 大小的数据被交换了.

    但是前提是slave设备在此时已经被master设备的clock触发可以与master设备进行数据交换。一个 Slave 设备要想能够接收到 Master 发过来的控制信号, 必须在此之前能够被 Master 设备进行访问 (Access). 所以, Master 设备必须首先通过 SS/CS pin 对 Slave 设备进行片选, 把想要访问的 Slave 设备选上.

    4. 数据存储必须是等时间间隔的不相互冲突的

    在数据传输的过程中,  每次接收到的数据必须在下一次数据传输之前被采样. 如果之前接收到的数据没有被读取, 那么这些已经接收完成的数据将有可能会被丢弃,  导致 SPI 物理模块最终失效. 因此, 在程序中一般都会在 SPI 传输完数据后, 去读取 SPI 设备里的数据, 即使这些数据(Dummy Data)在我们的程序里是无用的.

    什么是波特率?

    简单解释

    波特率通常单位是bit/s,也就是 二进制位/秒。所以:9600的波特率的信道,理论上每秒可以传输9200 bits的数据。

    正规解释

    波特率是什么意思

     

    1、波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示;

    2、在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。波特率是传输通道频宽的指标;

    什么是奇偶校验?

    理论介绍

    奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代du码的数位中"1"的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中"1"的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验"1"的个数是否为奇数,从而确定传输代码的正确性。

    奇偶校验需要一位校验位,即使用串口通信的方式2或方式3(8位数据位+1位校验位)。奇校验(odd parity):让传输的数据(包含校验位)中1的个数为奇数。即:如果传输字节中1的个数是偶数,则校验位为“1”,奇数相反。以发送字符:10101010为例

    偶校验(even parity):让传输的数据(包含校验位)中1的个数为偶数。即:如果传输字节中1的个数是偶数,则校验位为“0”,奇数相反。还是以发送字符:10101010为例

    数据和校验位发送给接受方后,接收方再次对数据中1的个数进行计算,如果为奇数则校验通过,表示此次传输过程未发生错误。如果不是奇数,则表示有错误发生,此时接收方可以向发送方发送请求,要求重新发送一遍数据。

    优缺点

    ①奇偶校验的检错率只有50%,因为只有奇数个数据位发生变化能检测到,如果偶数个数据位发生变化则无能为力了╮(╯﹏╰)╭

    ②奇偶校验每传输一个字节都需要加一位校验位,对传输效率影响很大。

    ③奇偶校验只能发现错误,但不能纠正错误,也就是说它只能告诉你出错了,但不能告诉你怎么出错了,一旦发现错误,只好重发。

    ④虽然奇偶校验有很多缺点,但因为其使用起来十分简单,故目前仍被广泛使用。

    简介:为什么说增加一位奇偶矫正位会影响通信网络中数据传输速度?

    传递信息必须要占用一定的带宽,而且通信信道最大传输速率与信道带宽之间存在着明确的反比关系。因此当我们增大数据传输量的同时最大传输速度也被限制了,因此高传输速度与大容量传输是不可兼得的。

    应用

    如何用编程确定一个字节中“1”个数的奇偶性?我们可以利用二进制数相加的特点:

    0+0=0、1+0=1、1+1=0,从中可以看出,如果我们将一个字节的所有位相加,其中结果为:有奇数个“1”的字节的和为1;有偶数个“1”的字节的和为0。

    由此即可通过编程完成判断。实际应用中,实现方法很多,但这是相对简单的一种,这里不再赘述。

    单工、半双工及全双工之间的区别

    1、单工数据传输只支持数据在一个方向上传输;在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播。

    2、半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送信息,可以实现双向通信。举例:对讲机。

    3.全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力;在同一时间可以同时接受和发送信息,实现双向通信,举例:电话通信。

    展开全文
  • SPI通信协议

    2019-05-26 10:22:43
    1、什么是SPI?...支持全双工通信 通信简单 数据传输速率块 3、缺点 没有指定流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据 可靠性上有一定缺陷。 4、特点 1):高速、同...

    1、什么是SPI?

    SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一
    种同步串行接口技术,是一种高速的,全双工,同步的通信总线。

    2、SPI优点
    支持全双工通信
    通信简单
    数据传输速率块

    3、缺点
    没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据
    可靠性上有一定的缺陷。

    4、特点
    1):高速、同步、全双工、非差分、总线式
    2):主从机通信模式

    5、协议通信时序详解
    1):SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多
    个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共
    有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。
    (1)SDO/MOSI – 主设备数据输出,从设备数据输入;
    (2)SDI/MISO – 主设备数据输入,从设备数据输出;
    (3)SCLK – 时钟信号,由主设备产生;
    (4)CS/SS – 从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设
    备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需
    要将从设备对应的片选引脚电平拉低或者是拉高。
    在这里插入图片描述

    2):需要说明的是,我们SPI通信有4种不同的模式,不同的从设备可能在出厂是就是配
    置为某种模式,这是不能改变的;但我们的通信双方必须是工作在同一模式下,所以我们
    可以对我们的主设备的SPI模式进行配置,通过CPOL(时钟极性)和CPHA(时钟相位)来
    控制我们主设备的通信模式,具体如下:

    Mode0:CPOL=0,CPHA=0
    Mode1:CPOL=0,CPHA=1
    Mode2:CPOL=1,CPHA=0
    Mode3:CPOL=1,CPHA=1

    时钟极性CPOL是用来配置SCLK的电平出于哪种状态时是空闲态或者有效态,时钟相位CPHA
    是用来配置数据采样是在第几个边沿:

    CPOL=0,表示当SCLK=0时处于空闲态,所以有效状态就是SCLK处于高电平时
    CPOL=1,表示当SCLK=1时处于空闲态,所以有效状态就是SCLK处于低电平时
    CPHA=0,表示数据采样是在第1个边沿,数据发送在第2个边沿
    CPHA=1,表示数据采样是在第2个边沿,数据发送在第1个边沿

    例如:
    CPOL=0,CPHA=0:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,也就是
    SCLK由低电平到高电平的跳变,所以数据采样是在上升沿,数据发送是在下降沿。

    CPOL=0,CPHA=1:此时空闲态时,SCLK处于低电平,数据发送是在第1个边沿,也就是
    SCLK由低电平到高电平的跳变,所以数据采样是在下降沿,数据发送是在上升沿。

    CPOL=1,CPHA=0:此时空闲态时,SCLK处于高电平,数据采集是在第1个边沿,也就是
    SCLK由高电平到低电平的跳变,所以数据采集是在下降沿,数据发送是在上升沿。

    CPOL=1,CPHA=1:此时空闲态时,SCLK处于高电平,数据发送是在第1个边沿,也就是
    SCLK由高电平到低电平的跳变,所以数据采集是在上升沿,数据发送是在下降沿。
    在这里插入图片描述

    需要注意的是:我们的主设备能够控制时钟,因为我们的SPI通信并不像UART或者IIC通信 那样有专门的通信周期,有专门的通信起始信号,有专门的通信结束信号;所以我们的 SPI协议能够通过控制时钟信号线,当没有数据交流的时候我们的时钟线要么是 保持高电平要么是保持低电平。

    6、内部工作机制

    在这里插入图片描述
     SSPSR 是 SPI 设备内部的移位寄存器(Shift Register). 它的主要作用是根据 SPI
    时钟信号状态, 往 SSPBUF 里移入或者移出数据, 每次移动的数据大小由 Bus-Width 以
    及 Channel-Width 所决定.

    7.3线SPI的用法
    有些外设只有三根 SPI 总线,一根 CS,一根 CLK,一根 MOSI/MISO,就是数据的输入和输出是同一个数据线。这样的外设如何使用普通的MCU内置的SPI来驱动呢?

    其实很简单,改一下电路就OK。即在MCU的 SPI_MOSI(数据输出口) 上接 4.7K 的电阻,SPI_MISO(数据输入口)接 1K 的电阻,然后两个电阻的另一端连到一起,再与外设的数据口相连。软件中设置成读写分离就可以了。
    在这里插入图片描述
    8.内部结构
    在这里插入图片描述
    SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,上升沿一位数据被存入移位寄存器。
    在这里插入图片描述
    SPI接口没有指定的流控制,没有应答机制确认是否接收到数据。

    9.总结发送或接收数据的位操作

    // Send------------(Lsb-Msb)

    SDIO = data & 0X01;
    data >>= 1;

    //------------(Msb-Lsb)
    SDIO = data >> 7;
    data <<= 1;

    // Recv ------------(Lsb Msb)
    data1 = SDIO;
    data = (data >> 1) | (data1 << 7);

    // ------------(Msb Lsb)
    data <<= 1; //data初值为0
    data |= SDIO;

    展开全文
  • 浅谈总线通信机制---I2C总线接口

    千次阅读 2017-11-12 01:04:15
    上一篇文章,我们介绍了总线的基本概念以及通信相关的基础知识,还举了一个串口协议的例子... 数据通信的传输方向又有:单工、半双工、全双工。它们之间各有什么的特点,我举了车辆过道的实例,通俗易懂的跟大家讲
  • SPI协议通信时序详解

    2020-08-30 20:04:11
    支持全双工通信 通信简单 数据传输速率块 3、缺点 没有指定流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据 可靠性上有一定缺陷。 4、特点 1):高速、同步、全双工、非差分、总线式 2...
  • SPI通信协议详解

    2019-05-07 09:49:18
    1、什么是SPI?...支持全双工通信、通信简单、数据传输速率块 3、缺点 没有指定流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据可靠性上有一定缺陷。 4、特点 1)...
  • 通信(二) SPI

    2019-12-24 15:55:48
    1、什么是SPI?...支持全双工通信 通信简单 数据传输速率块 3、缺点 没有指定流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据 可靠性上有一定缺陷。 4、特点 1):...
  • WebSocket 是什么? WebSocket是一种网络通信协议。RFC6455定义了它的通信标准。 WebSocket 是 HTML5 开始提供一种在单个 TCP 连接上进行全双工通讯协议。 为什么需要 WebSocket ? 这里有一个疑问,既然...
  • 支持全双工通信 通信简单 数据传输速率块 3、缺点 没有指定流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据 可靠性上有一定缺陷。 4、特点 1):高速、同步、全双工、非差分、总线式 2)...
  • 通信方式(二)——SPI

    千次阅读 2019-08-26 16:26:02
    1、什么是SPI SPI串行外设接口(Serial Peripheral Interface)缩写。...它优点支持全双工通信、通信简单、数据传输速率块、协议支持字长不限于8bits,可根据应用特点灵活选择消息字长;缺点...
  • 支持全双工通信 通信简单 数据传输速率块 3、缺点 没有指定流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据 可靠性上有一定缺陷。 4、特点 1):高速、同步、全双工、非差分、总线式 2...
  • SPI通信协议(SPI总线)学习

    千次阅读 2019-08-19 16:31:09
    1、什么是SPI? SPI串行外设接口...支持全双工通信 通信简单 数据传输速率块 3、缺点 没有指定流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据 可靠性上有一定缺陷。 4、特点 1...
  • 支持全双工通信 通信简单 数据传输速率块 3、缺点 没有指定流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据 可靠性上有一定缺陷。 4、特点 1):高速、同步、全双工、非差分、总线式 2...
  • TCP协议-TCP服务特点和头部结构

    千次阅读 2017-02-20 02:22:13
    TCP面向连接是什么意思?通信双方都必须先建立连接,然后才能开始数据读写,双方都必须为该连接分配必要内核资源,以管理连接状态和连接上数据传输。 同时,TCP连接是全双工的,就是说,双方数据读写,...
  • 进程间通信(管道)

    2015-04-12 09:05:56
    管道有什么的特点呢? 1,管道传递数据单向性的,又称之为半双工管道。就是要么只能读,要么只能写。要想全双工通信,就需要建立两个管道。 2,管道只能用于具有亲缘关系的进程间通信,无亲缘关系的进程能否用...
  • 2.移动通信的主要特点和工作方式? 3.移动通信系统的组成和常用的移动通信系统? 4.移动通信的多址方式和常用技术? 5.移动通信如何发展的? 6.代表性的标准化组织?二、概念整理: 1、移动通信:通信双方至少有...
  • 进程间通信简称IPC(interprocess ...具有固定读写端、一种单双工的通信模式 只能用于有亲缘关系进程(父进程和子进程) 只存在内核当中 命名管道: 可以在无关进程之间进行通信 以一种特殊...
  • SPI串行外设接口(Serial Peripheral Interface),一种高速、全双工、同步的通信总线。 由于没有应答机制确认是否接收到数据,因此SPI总线与IIC总线相比,在数据可靠性上有一定缺陷。 2、时序特点 ...
  • 1.什么是共享内存 在物理空间申请一块内存,这块内存通过页表映射到对个进程共享存储映射区,一进城可通过页表向这个内存里写数据,一进城可通过...(1)共享内存双向通信(全双工)。 (2)共享内存IPC...
  • SpringBoot + WebSocket实现简单消息推送

    千次阅读 2018-04-19 11:20:59
    WebSocket一种双工通信的网络协议,所谓双工就是浏览器可以给服务器发送消息,服务器也可以向浏览器发送消息,那么,有了HTTP协议,为什么还要使用它呢?假设我们需要每天定时需要服务器给客户端推送消息,那么...
  • Pxxx-本地套接字通信

    2021-03-28 12:34:30
    UNIX Domain Socket的特点 1.UNIX Domain Socket为什么比TCP/IP在本地上通信更加快 因为UNIX Domain Socket不经过网络协议栈 / 不需要打包拆包 / 计算校验和 / 维护序号和应答,只是将应用层数据从一个进程拷贝到另...

空空如也

空空如也

1 2 3 4 5 6
收藏数 112
精华内容 44
热门标签
关键字:

双工通信的特点是什么