首页 > 其他分享 >S5PV210开发 -- 通信

S5PV210开发 -- 通信

时间:2023-04-03 20:08:58浏览次数:53  
标签:字符 传输 S5PV210 并行 通信 -- 串行 时钟


参看:串行通信基本原理

参看:【51单片机】(手把手教你)串口通信-基础篇

一、基本概念

首先,我们先看一下什么是 通信(communication)

随着计算机网络化和微积分级分布式应用系统的发展,通信的功能越来越重要。通信是指计算机与外界的信息传输,既包括计算机与计算机之间的传输,也包括计算机与外部设备,如终端、打印机和磁盘等设备之间的传输。在通信领域内,数据通信中按每次传送的数据位数,通信方式可分为:并行通信和串行通信。

二、串行通信

(1)基本概念

串行通信(英语:Serial communication):是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

S5PV210开发 -- 通信_串行通信

 

(2)串行通信架构的例子

然后,我们可以看一下都有哪些串行通信架构。参看:串行通信 -- 维基百科

 

 

(3)串行通信的分类

串行通信可以分为同步通信和异步通信两类。

 

《1》同步通信(Synchronous Data Transfer)

同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。
它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。

S5PV210开发 -- 通信_串行通信_02

具有时钟同步信号的传输,具有两条线:数据线和时钟线数据的每一位是按照时钟信号进行传输的。

如 : IIC通信, SPI通信

参看:I2C通信、SPI通信。  这两个稍后会详讲的。

《2》异步通信(Asynchronous Data Transfer)

异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。
接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。

S5PV210开发 -- 通信_串行通信_03

不具有时钟同步信号的传输,参与通信的双方需事先约定波特率(传输速度),发送方和接收方按照事先约定好的波特率发送和接收数据。

如:UART通信,单总线(18B20)

(4)单工、半双工、全双工

《1》单工(Simplex Communication)

 

在这种串行通信模式下,数据只能从发射机传输到接收机,不支持反向传输。

S5PV210开发 -- 通信_链路_04

《2》半双工(Half Duplex Communication)

这意味着数据传输一次只能在一个方向发生,即从主机到从机,或者从机到主机,而不是两者。

S5PV210开发 -- 通信_数据_05

《3》全双工(Full Duplex Communication)

全双工通信意味着数据可以同时从主机传输到从机,从机传输到主机。

S5PV210开发 -- 通信_串行通信_06

《4》例子

同步通信:I2C 半双工,SPI 全双工

异步通信:RS485 半双工、RS232 全双工

三、并行通信

(1)基本概念

如果一组数据的各数据位在多条线上同时被传输,这种传输方式称为并行通信。

S5PV210开发 -- 通信_数据_07

(2)并行接口

并行接口简称并口,也就是LPT接口,是采用并行通信协议的扩展接口。

S5PV210开发 -- 通信_链路_08

参看:并行端口

用途:

 

四、串行通信与并行通信比较

 

 

参看:Serial Communication – Introduction

(1)两种通信之间的差异

S5PV210开发 -- 通信_串行通信_09

这些是串行通信和并行通信的基本区别。 从以上的不同,显然可以认为并行通信远远好于串行通信。 但是等等,这些只是基本的区别。 在我们进一步讨论之前,我们需要熟悉一些术语:

比特率:每单位时间发送(发送/接收)的比特数。

时钟偏斜:在并联电路中,时钟偏差是两个顺序相邻寄存器到达的时间差。为了进一步解释,让我们再次拿机枪的例子。比如说,同时有5人左右的射击,第一射手和第二射手等子弹的射入肯定会有时间差。这个时间差就是我们所说的时钟歪斜。下图更好地说明了这一点:通过同一总线的不同通道在数据位中存在时间延迟。由于通道的物理条件的差异,如温度,电阻,路径长度等,时钟偏斜是不可避免的

串扰:在传输总线的一个信道上传输的信号在另一个信道中产生不希望的效应的现象。不需要的电容性,电感性或导电性耦合通常是所谓的串扰,从一个电路,一部分电路或通道到另一个电路。时钟偏斜和串扰是不可避免的。

 

(2)主要限制并行通信的因素:

速度:从表面上看,并行链路的速度等于 比特率*信道数量。 在实践中,时钟偏斜降低了所有链路中速度最慢的链路的速度。
电缆长度:串扰会在平行线之间产生干扰,效果只会随通信链路的长度而放大。 这限制了可以使用的通信电缆的长度。

 

(3)串行/并行的优点:

尽管串行通信可能看起来不如并行通信,但是由于每个时钟周期可以传输较少的数据,因此串行通信通常可以比并行通信快得多,以获得更高的数据速率。许多因素允许串行以更高的速率进行计时:
1、不同通道之间的时钟偏斜不是问题(对于非时钟异步串行通信链路)。
2、串行通信需要较少的互连电缆(例如电线/光纤),因此占用较少的空间。额外的空间可以更好地隔离通道与周围环境。
3、串扰不是一个非常重要的问题,因为接近的导体较少。
在许多情况下,串行是一个更好的选择,因为它实施起来更便宜。许多IC具有串行接口,而不是并行接口,所以它们具有较少的引脚,因此较便宜。正是由于这些因素,串行通信优于并行通信。

 


标签:字符,传输,S5PV210,并行,通信,--,串行,时钟
From: https://blog.51cto.com/u_15979522/6167157

相关文章

  • S5PV210开发 -- Linux dd命令
    昨天群里有人询问,为什么破坏BootLoader破坏不掉。出现错误:dd:writing'/dev/mtdblock0':Operationnotpermitted我说需要插着SD卡才可以。(这个也不对,不插SD卡也可以,那这个错误还是没有搞清楚)然后我们来看一下它操作指令:  busyboxddif=/dev/zeroof=/dev/mmcblk0bs=512......
  • POJ 2773 Happy 2006 二分+容斥原理(二进制枚举或dfs)
    Happy2006TimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 14003 Accepted: 4946DescriptionTwopositiveintegersaresaidtoberelativelyprimetoeachotheriftheGreatCommonDivisor(GCD)is1.Forinstance,1,3,5,7,9...areallrelativel......
  • 日常生活小技巧 -- 文件对比工具 Beyond Compare
    BeyondCompare,文件对比工具,应用还是挺广泛的。下面我们讲一下它的下载安装使用方法。其实很简单!!下载:DownloadBeyondCompare4安装:以管理员身份运行,然后按照提示一步一步的安装即可,没什么好说的。使用:双击new->FolderCompare然后点击Browsefor选择要对比的文件然后进行比较然......
  • LIVE555再学习 -- testOnDemandRTSPServer 源码分析
    一、简介先看一下官网上的介绍:testOnDemandRTSPServer createsaRTSPserverthatcanstream,viaRTPunicast,fromvarioustypesofmediafile,ondemand.(Supportedmediatypesinclude:MPEG-1or2audioorvideo(elementarystream),includingMP3audio;MPEG-4......
  • LIVE555再学习 -- 单播、多播、广播、直播、点播 都是个啥?
    上一篇文章提到单播、多播。但是这是什么意思?接下来我们看一下。参看:搜狗--单播参看:维基百科——单播一、单播简介    Unicast,是客户端与服务器之间的点到点连接。“点到点”指每个客户端都从服务器接收远程流。仅当客户端发出请求时,才发送单播流。Unicast(单播):在客......
  • LIVE555再学习 -- testRTSPClient 实例
    上一篇文章简单看了一遍 testRTSPClient 的源码,接下来举几个应用实例加深一下。首先什么都不做修改,先执行一遍,看一下。一、执行 testRTSPClient 特么,上面的东西我没看明白。。。a=、b=、c=等等这是什么?还有我看别人分析的好像用到什么网络抓包工具,我不知道是什么工具,可能是......
  • LIVE555再学习 -- testH264VideoStreamer 源码分析
    上一篇文章我们已经讲了一部分:testH264VideoStreamer重复从H.264基本流视频文件(名为“test.264”)中读取,并使用RTP多播进行流式传输。 该程序还具有内置的RTSP服务器。Apple的“QuickTime播放器”可用于接收和播放此音频流。要使用它,让玩家打开会话的“rtsp://”URL(程序在......
  • LIVE555再学习 -- testRTSPClient 源码分析
    现在开讲 testRTSPClient。在官网这这样一段介绍,参看:RTSPclient翻译下来就是:testRTSPClient是一个命令行程序,显示如何打开和接收由RTSPURL指定的媒体流,即以rtsp://开头的URL在这个演示应用中,接收到的音频/视频数据什么也没有。但是,您可以在自己的应用程序中使用和调整此代码(......
  • LIVE555再学习 -- Windows 下编译
    然后开始下载编译,其中包含,Windows、Linux和交叉编译三种形式。首先来讲Windows下编译参看:Live555研究之一源代码编译一、下载源码下载:Indexof/liveMedia/public参看:LIVE555StreamingMedia选择下载live555-latest.tar.gz二、文件介绍我的开发环境为win1064位+VS2017将上面......
  • RTSP再学习 -- RTSP协议分析(转载)
    最近一直在看RTSP,但是RTSP协议是个啥?还没有搞清楚。首先流媒体百度百科上有这样一段,从基本的名字上或多或少可以理解一下这些传输协议的区别。这很重要!!传输协议1、RSVP:资源预留协议2、RTP:实时传输协议3、RTCP:实时传输控制协议4、MMS:微软流媒体服务协议5、RTSP:实时流传输协议6、MIM......