娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年09月02日(星期一)

正在發生

2021年09月02日 | 關于51單片機中的幾種通信模式與總結

發布者:幸福如意 來源: eefocus關鍵字:51單片機  通信模式  全雙工 手機看文章 掃描二維碼
隨時隨地手機看文章

前言


在硬件傳輸過程中少不了各模塊的通信,就近來學習到的知識做一個簡單的梳理與總結


通信的基本概念

通信的方式分為多種,按照數據傳送方式可以分為串行通信與并行通信,按照通信的數據同步方式,可以分為異步通信與同步通信,按照數據的傳輸方向可以分為單工,半雙工和全雙工通信。


串行通信與并行通信


串行通信

使用一條數據線,一位一位進行傳輸,適合于遠距離通信

傳輸特點:傳輸線少,長距離傳送成本低,

并行通信

將數據字節的各位用多條數據線同時進行傳送,通常是8位,16位,32等數據一起傳輸

特點:控制簡單,傳輸速度快,長距離傳輸成本高,抗干擾ability差。


異步通信與同步通信


異步通信

發送與接收設備使用各自的時鐘控制數據的發送與接收過程,異步通信以字符為單位進行傳輸

特點:不要求收發雙方時鐘嚴格一致,傳輸效率不高


同步通信

要建立發送方對于接收方時鐘的直接控制,使得雙方能夠達到完全同步,保持位同步關系,也保持字符同步關系,實現方式有兩種:外同步與自同步


單工,半雙工與全工


單工通信

是指數據傳輸只能沿一個方向,不能反傳輸,只能由發送向接收傳輸


半雙工通信

半雙工是指數據傳輸可以沿兩個方向,但需要分時進行


全雙工通信

數據可以同時進行雙向傳輸


串口通信(RS232)

全雙工點對點通信

RS232C通信協議 通常遵循96-N-8-1格式

“96”表示通信波特率為9600,通常使用的是異步串口通信,沒有時鐘線,

“N”表示無校驗位,用于校驗數據防止出現偏差,

“0”表示數據位數為8位

“1”表示1位停止位,可由0.5,1,1.5,或2個邏輯1的數據位表示


串口相關寄存器

(1) 串口控制寄存器SCON

在這里插入圖片描述

SM0與SM1為工作方式選擇位:

在這里插入圖片描述

SM2:多機通信控制位,主要用于方式 2 和方式 3。當 SM2=1 時可以利用收到的 RB8 來控制是否激活 RI(RB8=0 時不激活 RI,收到的信息丟棄;RB8=1 時收到的數據進入 SBUF,并激活 RI,進而在中斷服務中將數據從 SBUF 讀走)。當SM2=0 時,不論收到的 RB8 為 0 和1,均可以使收到的數據進入 SBUF,并激活 RI(即此時 RB8 不具有控制 RI 激活的功能)通過控制 SM2,可以實現多機通信。


REN:允許串行接收位。由軟件置 REN=1,則啟動串行口接收數據;若軟件置REN=0,則禁止接收。


TB8:在方式 2 或方式 3 中,是發送數據的第 9 位,可以用軟件規定其作用。

可以用作數據的奇偶校驗位,或在多機通信中,作為地址幀/數據幀的標志位。

在方式 0 和方式 1 中,該位未用到。


RB8:在方式 2 或方式 3 中,是接收到數據的第 9 位,作為奇偶校驗位或地址幀/數據幀的標志位。在方式 1 時,若 SM2=0,則 RB8 是接收到的停止位。


TI:發送中斷標志位。在方式 0 時,當串行發送第 8 位數據結束時,或在其它方式,串行發送停止位的開始時,由內部硬件使 TI 置 1,向 CPU 發中斷申請。在中斷服務程序中,必須用軟件將其清 0,取消此中斷申請。


RI:接收中斷標志位。在方式 0 時,當串行接收第 8 位數據結束時,或在其它方式,串行接收停止位的中間時,由內部硬件使 RI 置 1,向 CPU 發中斷申請。也必須在中斷服務程序中,用軟件將其清 0,取消此中斷申請

(2)電源控制寄存器 PCON

在這里插入圖片描述

SMOD:波特率倍增位。在串口方式 1、方式 2、方式 3 時,波特率與 SMOD 有關,當SMOD=1 時,波特率提高一倍。復位時,SMOD=0。


串口工作方式


(1)方式0

串行口為同步移位寄存器的輸入輸出方式,主要用于擴展并行輸入或輸出口。

(2)方式1

為10位異步通信口,1位起始位,8位數據位,1位停止位。

(3)方式2和方式3

11位數據的異步通信口,TXD為數據發送引腳,RXD為數據接收引腳,


串口的使用方法


1,計算波特率


方式0=fosc/12

方式2=(2SMOD/64)*fosc

方式 1 的波特率 =(2SMOD/32)·(T1 溢出率)

方式 3 的波特率 =(2SMOD/32)·(T1 溢出率)

其中 T1 溢出率 = fosc /{12×[256 -(TH1)]}


2,串口初始化的步驟:


確定T1的工作方式(TMOD 寄存器)

確定串口的工作方式(SCON寄存器)

計算T1的初值(設定波特率),裝載TH1,TL1;

啟動T1(TCON中的TR1位)

如果使用中斷,需開啟串口中斷控制位(IE寄存器)

RS485通信

為半雙工通信,兩線制,可以一對多點進行組網

RS485通信特點:

(1)接口電平低,不易損壞芯片。RS485 的電氣特性:邏輯“1”以兩線間的電壓差為+(2~6)V 表示;邏輯“0”以兩線間的電壓差為(2~6)V 表示。接口信號電平比 RS232 降低了,不易損壞接口電路的芯片,且該電平與 TTL 電平兼容,可方便與 TTL 電路連接。

(2)傳輸速率高。10 米時,RS485 的數據最高傳輸速率可達 35Mbps,在1200m 時,傳輸速度可達 100Kbps。

(3)抗干擾能力強。RS485 接口是采用平衡驅動器和差分接收器的組合,抗共模干擾能力增強,即抗噪聲干擾性好。

(4)傳輸距離遠,支持節點多。RS485 總線最長可以傳輸 1200m 以上(速率≤100Kbps)一般最大支持 32 個節點,如果使用特制的 485 芯片,可以達到128 個或者 256 個節點,最大的可以支持到 400 個節點


i2c通信

I2C(Inter-Integrated Circuit)總線是由 PHILIPS 公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。是微電子通信控制領域廣泛采用的

一種總線標準。它是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信速率較高等優點。I2C 總線只有兩根雙向信號線。一根是數據線 SDA,另一根是時鐘線 SCL。由于其管腳少,硬件實現簡單,可擴展性強等特點,因此被廣泛的使用在各大集成芯片內。


I2c物理層

物理層特點:

在這里插入圖片描述

(1)支持多設備總線,支持多個通訊主機及通訊從機

(2)只使用兩條總線線路,一條雙向串行數據線(SDA).一條串行時鐘線(SCL) 數據線用來表示數據,時鐘線用于數據收發同步

(3)每個連接到總線的設備都有一個獨立的地址,主機可以利用這個地址進行不同設備之間的訪問。

(4)總線通過上拉電阻接到電源,當I2C設備空閑時,會輸出高阻態,當所有設備都空閑輸出高阻態,上拉電阻把總線拉成高電平

(5)當多個主機使用總線時,防止數據沖突,會利用仲裁的方式決定哪個設備占用總線

(6)具有三種傳輸模式,標準模式傳輸速率為 100kbit/s,快速模式為400kbit/s,高速模式下可達 3.4Mbit/s,但目前大多 I2C 設備尚不支持高速模式

(7)連接到相同總線的 數量收到最大電容400pf的限制

常用的一些術語:

主機:啟動數據傳送并產生時鐘信號的設備

從機:被主機尋址的器件

多主機:同時有多于一個主機嘗試控制總線但不破壞傳輸,

主模式:用 I2CNDAT 支持自動字節計數的模式; 位 I2CRM,I2CSTT,I2CSTP控制數據的接收和發送

從模式:發送與接收操作都是由I2C模塊自動控制的

仲裁:是一個在有多個主機同時嘗試控制總線但只允許其中一個控制總線并使傳輸不被破壞的過程

同步:兩個或多個器件同步時鐘信號的過程;

發送器:發送數據到總線的器件

接收器:從總線接收數據的器件


I2C協議層

定義了通信的起始和停止信號,數據有效性,響應,仲裁,時鐘同步和地址廣播等環節

(1)數據有效性

I2C總線在進行數據傳送時,時鐘信號為高電平期間,數據線上的數據必須保持穩定,只有在時鐘線上的信號為低電平期間,數據線上的高電平與低電平狀態才允許變化

![)

數據傳輸以字節為單位,傳輸字節數不受限制

(2)起始和停止信號

SCL線為高電平期間,SDA由高電平向低電平的變化表示為起始信號,SCL線為高電平期間,SDA線由低電平向高電平的變化表示為終止信號

在這里插入圖片描述

(3)應答響應

在發送器件傳輸完一個字節的數據后,后邊必須跟一個校驗位,校驗位是接收端通過控制SDA(數據線)來實現,以提醒發送端數據我這邊已經

接收完成,數據傳送可以繼續進行。這個校驗位其實就是數據或地址傳輸過程中

的響應。響應包括“應答(ACK)”和“非應答(NACK)”兩種信號。作為數據接收端時,當設備(無論主從機)接收到 I2C 傳輸的一個字節數據或地址后,若希望對方繼續發送數據,則需要向對方發送“應答(ACK)”信號即特定的低電平脈沖,發送方會繼續發送下一個數據;若接收端希望結束數據傳輸,則向對方發送“非應答(NACK)”信號即特定的高電平脈沖,發送方接收到該信號后會產生一個停止信號,結束信號傳輸。

應答響應時序圖

每一個字節必須保證是 8 位長度。數據傳送時,先傳送最高位(MSB),每一個被傳送的字節后面都必須跟隨一位應答位(即一幀共有 9 位)。

這些信號中,起始信號是必須的,結束語應答信號可以不要


總線的尋址方式

7位尋址與10位尋址

10 位尋址和 7 位尋址兼容,而且可以結合使用。10 位尋址不會影響已有的 7 位尋址,有 7 位和 10 位地址的器件可以連接到相同的 I2C 總線。以 7 位尋址為例進行介紹。

當主機發送了一個地址后,總線上的每個器件都將頭 7 位與它自己的地址比較,如果一樣,器件會判定它被主機尋址,其他地址不同的器件將被忽略后面的數據信號。至于是從機接收器還是從機發送器,都由 R/W 位決定的。從機的地址由固定部分和可編程部分組成。在一個系統中可能希望接入多個相同的從機,從機地址中可編程部分決定了可接入總線該類器件的最大數目。如一個從機的 7 位尋址位有 4 位是固定位,3 位是可編程位,這時僅能尋址 8 個同樣的器件,即可以有 8 個同樣的器件接入到該 I2C 總線系統中。


SPI通信

SPI是串行外設接口,是 Motorola 公司推出的一種同步串行接口技術,是一種高速的,全雙工,同步的通信總線。

SPI優點:支持全雙工通信 通信簡單 數據傳輸速率快

缺點:沒有指定的流控制,沒有應答機制確認是否接受到數據,所以與IIC總線協議比較在數據可靠性上有一定的缺陷

特點:

(1):高速,同步,全雙工 非差分,總線式

(2):主從式通信模式(一個SPI通訊系統需要包含一個(只有一個)主設備,一個或多個從設備,SPI的接口讀寫操作,都是由主設備發起,當存在多個從設備時,通過各自的片選信號進行管理)

SPI的物理層

以主從方式工作,通常有一個主設備和一個或多個從設備,需要至少四根線,MISO,MOSI,SCLK,CS

在這里插入圖片描述
在這里插入圖片描述

SPI通信模式


SPI的四種通信模式,不同從設備在出廠時就配置為某種模式,只能改變主設備的SPI并進行配置,通過CPOL(時鐘極性)和CPHA(時鐘相位)來控制我們主設備的通信模式

時鐘極性CPOL用來配置SCLK的電平處于何種狀態(空閑態還是有效態),時鐘相位CPHA用來配置數據采樣是在第幾個邊沿;

CPOL=0,表示當SCLK=0時處于空閑態,所以有效狀態就是SCLK處于高電平時;


CPOL=1,表示當SCLK=1時處于空閑態,所以有效狀態就是SCLK處于低電平時;


CPHA=0,表示數據采樣是在第1個邊沿,數據發送在第2個邊沿;


CPHA=1,表示數據采樣是在第2個邊沿,數據發送在第1個邊沿。

在高電平有效狀態時,第一邊沿為上升沿,第二邊沿為下降沿;在低電平有效狀態時,第一邊沿為下降沿,第二邊為上升沿

關鍵字:51單片機  通信模式  全雙工 引用地址:關于51單片機中的幾種通信模式與總結

上一篇:51單片機—使用PWM對直流電機調速
下一篇:51單片機串口通信(UART)

推薦閱讀

正是經過數十年如一日的技術積累,國外工業機器人企業積累了豐富的行業經驗和技術,這是其在當今國際機器人市場叱咤風云的原因所在。相比之下,國內在工業機器人產業上的發展就要晚很多,在20世紀70年代初期才起步,自然在技術上和國外存在一定差距。工業機器人行業落后于西方的關鍵是在于基礎工業,而基礎工業要進步就必須有賴于鼓勵國有企業自主研發,并...
VIAVI Solutions公司將攜旗下重點網絡及光纖測試解決方案亮相第21屆中國國際光電博覽會(CIOE 2019),與業界領袖、專家學者共同探索光電技術新潛力。本屆光博會聚焦光通信全產業鏈,旨在展示光通信領域的最新產品和技術進展。VIAVI憑借領先的測試、監控與保障解決方案以及數十年的經驗積累,為光傳輸系統開發的各階段提供支持,助力光網絡性能的提升。...
1、您需要多少帶寬  我們已經處于數字示波器時代,與僅考慮模擬放大器的帶寬相比,應更多的考慮示波器的帶寬,為了保證示波器為應用提供足夠的帶寬,您必需考慮示波器將要考察的信號帶寬。  帶寬是示波器最重要的特點,因為它決定這顯示的信號范圍,它在很大程度上還決定著用戶需要支付的價格。在制定帶寬決策時,您必需把當前有限的預算與實驗室中示...
時鐘樹的概念:我們可以把MCU的運行比作人體的運行一樣,人最重要的是什么?是心跳! 心臟的周期性收縮將血液泵向身體各處。心臟對于人體好比時鐘對于MCU,微控制器(MCU)的運行要靠周期性的時鐘脈沖來驅動,而這個脈沖的始源往往是由外部晶體振蕩器提供時鐘輸入,最終轉換為多個外部設備的周期性運作。這種時鐘“能量”的傳遞路徑猶如大樹的養分由主干...

史海拾趣

問答坊 | AI 解惑

請看一下這段程序錯在哪里?

我想編一段產生如上圖波形的程序,程序如下:運行后PORTB.0上的燈沒有反應。不知錯在哪里?請指教。謝謝。 #include <mega16.h> #include<delay.h> unsigned int a=3,b=5,c=8, i; void main(void) { PORTB ...…

查看全部問答∨

庫房、機房溫濕度、漏水、電源掉電監測典型系統方案

在信息化程度越來越高的今天,擔當信息處理與交換重任的機房是整個信息網絡工程的數據傳輸中心、數據處理中心和數據交換中心。為保證機房設備正常運行及工作人員有一個良好的工作環境,對機房溫濕度的監測是必不可少的,合理正常的溫濕度環境是機 ...…

查看全部問答∨

用萬用表怎樣進行PCB抄板!!!!

請問有誰用萬用表抄過PCB電路板,不是用抄板軟件!如果有的話,能否告知小弟,可以把經驗分享一下嗎?…

查看全部問答∨

大家來討論一下今年的全國大學生電子設計大賽吧

本帖最后由 paulhyde 于 2014-9-15 09:35 編輯 聽說NEC公司送了芯片,可是為什么有的學校拿到了,有的學校沒拿到呢?  …

查看全部問答∨

急求!BoeBot.h

HELLO.C(5): 警告 C206: \'uart_Init\': missing function-prototype HELLO.C(10): 警告 C206: \'DELAY\': missing function-prototype HELLO.C(10): 錯誤 C267: \'DELAY\': requires ANSI-style prototype 這是用Keil編譯程序時出現的錯誤,應 ...…

查看全部問答∨

測量皮膚某處的溫度用什么傳感器比較好?接觸or非接觸?

如果需要測量皮膚某處的溫度,用什么溫度傳感器比較好呢?紅外的?還是其他什么? 如果是用接觸的,測量結果會不會因為身體皮膚出汗或者其他什么受到影響?如果用紅外的,精度怎么樣?我的測量距離大概也就1厘米!測某一點或者直徑為1厘米的區域都可以!我需 ...…

查看全部問答∨

請教WinCE6.0開發中關于Emulator的問題(如何自制SDK,Emulator)

我剛剛接觸WinCE,我需要做的事情是在一般WinCE設備上開發應用程序,我打算自己在PB6.0上導出一個一般的WinCE6.0的SDK并安裝,然后在VS2005上寫代碼,通過WinCE6.0仿真器看到代碼的效果。 現在我按照網上的文章“WinCE6.0安裝順序”依次安裝了下列 ...…

查看全部問答∨

CSR藍牙開發:Bluelab 3.6.2

我剛開始接觸藍牙開發,現在在學習Bluelab 3.6.2提供的Demo code,有做過相關藍牙開發的嗎,提供一下學習方法,適合入門,謝謝!…

查看全部問答∨

怎么實現PWM信號五分頻

各位高手,幫幫小弟吧!怎么才能實現占空比可變的PWM信號五分頻。單片機輸出的最低頻率是3.9KHz,現在需要降低到500Hz左右,怎么樣才能實現呢?不勝感激…… [ 本帖最后由 daijianguo28 于 2011-7-10 12:23 編輯 ]…

查看全部問答∨

2010山東省大學生電子設計大賽優秀論文

本帖最后由 paulhyde 于 2014-9-15 09:25 編輯 2010山東省大學生電子設計大賽優秀論文  …

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 栖霞市| 陈巴尔虎旗| 永新县| 门头沟区| 黑河市| 安溪县| 建德市| 常宁市| 密云县| 涿鹿县| 外汇| 政和县| 信宜市| 砚山县| 获嘉县| 吉水县| 丹东市| 永福县| 沙田区| 盐源县| 故城县| 逊克县| 七台河市| 东莞市| 湾仔区| 方山县| 五大连池市| 海林市| 高平市| 丹棱县| 信宜市| 阿拉善盟| 株洲县| 满洲里市| 长泰县| 通江县| 左云县| 阜平县| 庄河市| 偃师市| 尚义县|