rainit2006 / Anything

0 stars 0 forks source link

通信知识 #18

Open rainit2006 opened 4 years ago

rainit2006 commented 4 years ago
rainit2006 commented 4 years ago

シリアル通信方式を分かりやすくまとめてみた

https://qiita.com/Gri_Gra/items/b6f901b35d3917ffc580

RS485 (EIA-485)

https://zh.wikipedia.org/wiki/EIA-485

全二重通信 ( full duplex ) : 送信と受信にそれぞれ伝送路があり、送受信を同時に行うことができる方式です。 半二重通信 ( half duplex ) : 1つの伝送路を用いて送信と受信を切り替えながら通信する方式です。そのため、同時に通信を行うことはできません。

同期式通信: 相手装置から発生するクロック、もしくは自分から発生したクロックに同期してデータの送受信を行う方式です。送信側から1ビット毎に付加された同期信号をもとに通信を行います。データの転送効率は良いですが、通信手順が複雑になるデメリットがあります。

非同期式通信・調歩同期式通信: 互いに自ら発生したクロックに同期してデータの送受信を行う方式です。伝送速度の設定が一致していないと、正常な通信ができません。すなわち、送信側・受信側ともに1秒間に何ビットずつ通信するかを最初に取り決め、その通信速度にあった周波数の同期信号をそれぞれが作り出します。非同期通信では、1本のデータ線上で1ビットずつデータを送受信するため、最初にお互いの通信条件設定を合わせなければ正常に通信できません。周辺装置側の設定にパソコン(コントローラ)側の設定をあわせるのが通常の設定方法です。

シリアル通信(シリアルつうしん、英: Serial communication)は、 電気通信において伝送路上を一度に1ビットずつ、逐次的にデータを送ることをいう。また、コンピュータにおいては、バス上を一度に1ビットずつ、逐次的にデータを送ることをいう。 対照的にパラレル通信では、何らかの文字や記号を表すビット群が一度に送られる。

浅谈串口通信(232,485,422)以及常见问题 https://zhuanlan.zhihu.com/p/87400956

modbus

https://ja.wikipedia.org/wiki/Modbus image

rainit2006 commented 4 years ago

同期方式: Synchronization

https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/network/asynch_synchronization.html https://www.japansensor.co.jp/faq/939/index.html

Synchronous transmission

The term synchronous is used to describe a continuous and consistent timed transfer of data blocks. 同期式通信: 相手装置から発生するクロック、もしくは自分から発生したクロックに同期してデータの送受信を行う方式です。送信側から1ビット毎に付加された同期信号をもとに通信を行います。データの転送効率は良いですが、通信手順が複雑になるデメリットがあります。

Asynchronous transmission

The term asynchronous is used to describe the process where transmitted data is encoded with start and stop bits, specifying the beginning and end of each character. 互いに自ら発生したクロックに同期してデータの送受信を行う方式です。伝送速度の設定が一致していないと、正常な通信ができません。すなわち、送信側・受信側ともに1秒間に何ビットずつ通信するかを最初に取り決め、その通信速度にあった周波数の同期信号をそれぞれが作り出します。非同期通信では、1本のデータ線上で1ビットずつデータを送受信するため、最初にお互いの通信条件設定を合わせなければ正常に通信できません。周辺装置側の設定にパソコン(コントローラ)側の設定をあわせるのが通常の設定方法です。

独立同期方式(SYNC synchronous communication)

独立同期方式は、文字単位にではなくメッセージ単位に同期をとる方式です。

After the syn characters are received by the remote device, they are decoded and used to synchronize the connection. After the connection is correctly synchronized, data transmission may begin. ### フレーム同期方式(frame synchronization) ### 調歩同期方式(ちょうほどうきほうしき)、(Asynchronous) シリアル通信において、一文字分の文字情報を送るたびに、データの先頭にデータ送信開始の情報 (スタートビット)と、データ末尾にデータ送信終了の信号(ストップビット)を付け加えて 送受信を行う方式です。 > パソコンのCOMポート(RS-232C)などで利用される最も一般的なデータ通信です。送受信のタイミングを合わせることから「調歩同期」と呼ばれていますが、同期信号を送るための制御信号線を持たないので、「非同期」とも呼ばれます。 > > 調歩同期では、まずスタートビットを送り、その後キャラクタービット(7または8ビット)、最後にストップビットを送ります(パリティビットを含む場合もある)。データがないときにはストップビットを送り続けます。 調歩同期は簡易な構造でデータの信頼性も高いですが、7または8ビットのキャラクタを送るごとにスタートビット、ストップビットを付加する必要があるので伝送効率が悪く、高速転送には適していません。同期方式では他にもキャラクタ同期、フレーム同期などがあります。インターフェースとしてはシリアル通信規格のRS-232C/RS-422/RS-485が使われます。
rainit2006 commented 4 years ago

https://zhuanlan.zhihu.com/p/62308161

在同步通讯中,收发设备双方会使用一根信号线表示时钟信号,在时钟信号的驱动下 双方进行协调,同步数据。通讯中通常双方会统一规定在时钟信号的上升沿或 下降沿对数据线进行采样。 如下图: ![image](https://user-images.githubusercontent.com/12871721/68067202-ce4b5800-fd86-11e9-8c4d-57b489b92f9d.png) 在异步通讯中不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些同步用 的信号位,或者把主体数据进行打包,以数据帧的格式传输数据,某些通讯中 还需要双方约定数据的传输速率,以便更好地同步。 根据通讯使用的电平标准不同,串口通讯可分为 TTL 标准及 RS-232 标准.
rainit2006 commented 4 years ago

同步通信原理 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。 采用同步通信时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应5~8位。当然,对同一个传输过程,所有字符对应同样的数位,比如说n位。这样,传输时,按每n位划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符。 同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始,一般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制发送端的发送和空字符用同一个代码。接收端当然是应该能识别同步字符的,当检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的数位作为实际传输信息来处理。

异步通信原理 异步通信是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。

同步通信与异步通信区别: 1.同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信时不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。 2.同步通信效率高;异步通信效率较低。 3.同步通信较复杂,双方时钟的允许误差较小;异步通信简单,双方时钟可允许一定误差。 4.同步通信可用于点对多点;异步通信只适用于点对点。

rainit2006 commented 4 years ago

UART 通用异步收发传输器(Universal Asynchronous Receiver Transmitter) 发送数据时,CPU将并行数据写入UART,UART按照一定的格式在一根电线上串行发出。 接收数据时,UART检测另一根电线上的信号,将串行收集放在缓冲区中,CPU即可读取UART获取这些数据。 UART以全双工方式传输数据,最精简的连接方法只有3根线:

TxD:发送数据 RxD:接收数据 Gnd:给双方提供参考电平 ———————————————— 原文链接:https://blog.csdn.net/zhangxuechao_/article/details/72936323

rainit2006 commented 4 years ago

TCP/UDP

通信识别,TCP/IP,UDP/IP通信中通过五个信息来识别一个通信,“源IP地址”,“目标IP地址”,“源端口号”,“目标端口号”,“传输协议(TCP/UDP)”。这五个只要有一个不同, 就可认为是两个不同的通信。

UDP是一种面向无连接的传输协议,不检查对端是否存在就直接把数据发送出去;TCP是面向有连接的传输协议,在进行数据传输之前,会先建立通信两端的连接。 image

https://cloud.tencent.com/developer/article/1014560

![image](https://user-images.githubusercontent.com/12871721/68084257-ab986c80-fe76-11e9-848d-0ca7a3140add.png)
rainit2006 commented 4 years ago

UART(TTL电平),232,485都是串口,它们都是在同一时间发送一位,区别是它们的传输协议不同。

UART: 特指单片机的UART端口,使用TTL电平:标准TTL输入高电平最小2V,输出高电平最小2.4V,典型值3.4V,输入低电平最大0.8V,输出低电平最大0.4V,典型值0.2V。

RS232:逻辑1(MARK)=-3V~-15V,逻辑0(SPACE)=+3~+15V

RS485:采用差分方式传输:逻辑"1”以两线间的电压差为+(2~6)V表示;逻辑"0"以两线间的电压差为-(2~6)V表示。差動信号のためノイズに強い。 RS-485の電気的特性:ロジック "1"は2本のライン間の電圧差+ 2V~ + 6Vで表され、ロジック "0"は2本のライン間の電圧差で表されます。 -2V。インターフェース信号レベルはRS-232-Cより低く、インターフェース回路チップを損傷することは容易ではなく、TTLレベルと互換性があり、TTL回路との接続に便利です。

RS485 vs RS232

http://www.softelectro.ru/rs485_en.html

rainit2006 commented 4 years ago

MQTT モノのインターネット (IoT) デバイスでは、インターネットに接続することが要件となります。IoT 通信では TCP/IP スタックをベースに作成された MQTT (Message Queue Telemetry Transport) が標準的な通信プロトコルとなっています。

他のネットワーク・プロトコルが IoT に向かない理由:

MQTT パブリッシュ・サブスクライブ・モデル: image