91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文解讀MCU與電腦的通訊方式-串口

工控論壇 ? 來源:工控論壇 ? 2025-01-13 09:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

你這個(gè)小板子和電腦通訊,做個(gè)上位機(jī),最常用的接口是什么?我想大家閉眼說-串口!

串口是什么?

串行接口(Serial port),也稱串行接口或串行端口,串行通信接口,COM接口,簡稱串口。

就字面意思,一根線就可以傳輸,也就是說,其實(shí)傳輸?shù)氖菐瑪?shù)據(jù),那不免得就要說一幀里面有什么?

21ac1862-ce93-11ef-9310-92fbcf53809c.png

我在之前的文章里面說,一個(gè)協(xié)議最重要的就是抓住01到底是怎么傳輸?shù)?,以及我們?nèi)绾卧O(shè)計(jì)一些東西,可以找到這個(gè)幀數(shù)據(jù)的頭和尾如何把數(shù)據(jù)載荷取出來。

你看這個(gè)就是頭+尾+8bit數(shù)據(jù),不就是一個(gè)字節(jié),這就是包裝出來的一幀數(shù)據(jù)。

21c591b6-ce93-11ef-9310-92fbcf53809c.png

更加詳細(xì)的是這樣

當(dāng)兩個(gè)設(shè)備需要通過UART協(xié)議進(jìn)行通訊時(shí),它們需要同時(shí)約定好以下內(nèi)容:

每一位信號的時(shí)間長度T(波特率 = 1/T)

幀結(jié)構(gòu)中每一項(xiàng)的具體位數(shù)

是否有校驗(yàn)位,以及校驗(yàn)位的機(jī)制(奇/偶/..)

有了這些約定,接收設(shè)備只需要等待起始位的到來,再對之后的波形進(jìn)行固定間隔的采樣即可獲得傳輸?shù)木唧w信息。以字符‘D‘的波形為例:

21d704dc-ce93-11ef-9310-92fbcf53809c.png

取樣的波形

波特率是UART協(xié)議,或者說所有異步串行協(xié)議,非常重要的一個(gè)概念,即單位時(shí)間內(nèi)(1秒)可表示的bit位個(gè)數(shù),或者也可以表述為bit位寬的倒數(shù)。例如一個(gè)波特率為115200的UART波形表示1秒可容納115200個(gè)bit位,也就是說每一位bit數(shù)據(jù)占大約8.68uS的時(shí)長。

21eb66c0-ce93-11ef-9310-92fbcf53809c.png

UART等異步串行協(xié)議,為了簡化信號物理連接,降低通訊成本,一般只有一根信號線,無法同時(shí)傳輸數(shù)據(jù)和時(shí)鐘信號。

收/發(fā)設(shè)備為了正確解析波形就需要在相同的波特率設(shè)置下。而相同的波形使用不同的波特率獲取的信息可能會完全不同。對于接收設(shè)備來講,只有起始位可以作為一幀數(shù)據(jù)的同步點(diǎn),其它數(shù)據(jù)都是通過波特率來確定具體的取樣位置。

22079e76-ce93-11ef-9310-92fbcf53809c.png

波特率錯(cuò)誤

221746d2-ce93-11ef-9310-92fbcf53809c.png

空閑時(shí)持續(xù)的高電平

222848d8-ce93-11ef-9310-92fbcf53809c.png

UART接收端會一直檢測信號線上的電平變化,開始傳輸數(shù)據(jù)時(shí),發(fā)送端將信號線從高電平拉到低電平結(jié)束空閑狀態(tài),并保持一個(gè)bit位的時(shí)長。

接收器檢測到高低電平轉(zhuǎn)換時(shí),開始接收信號。

22415850-ce93-11ef-9310-92fbcf53809c.png

而我們現(xiàn)代的協(xié)議其實(shí)是分層的

我們關(guān)心的是具體數(shù)據(jù)的意思,但是物理層走的確實(shí)高高低低的電平。物理層就是數(shù)據(jù)手冊里面的東西,這個(gè)電平范圍什么的,IO的速度什么的,因?yàn)橐环D(zhuǎn)就是一個(gè)01出來了。然后這么多的01,交給協(xié)議層,就是01如何分配,把里面的頭尾校驗(yàn)這些都分離出來。然后把我們感興趣的數(shù)據(jù)再傳一層,擁有著實(shí)際意義的應(yīng)用層。

為什么我這一次說了這個(gè)協(xié)議分層?因?yàn)榇诘奈锢韺佑悬c(diǎn)多。

針對不同的通訊需求,便可以使用不同的物理層實(shí)現(xiàn)。例如簡單的板內(nèi)通訊,或者常見的設(shè)備調(diào)試場景,使用簡單的LVTTL/TTL電平即可在兩個(gè)設(shè)備間進(jìn)行UART協(xié)議通訊。

225ce3f4-ce93-11ef-9310-92fbcf53809c.png

夢源的圖

通用的串口則使用的是RS232電平,可以增加傳輸距離,并且抵抗一定程度的信號干擾。 付出的成本則是在物理層需要對應(yīng)的電平轉(zhuǎn)換芯片來實(shí)現(xiàn),發(fā)送端需要將內(nèi)部的高低電平信號轉(zhuǎn)換成電壓更高的+/-電壓信號,接收端需要將+/-電壓信號轉(zhuǎn)換成內(nèi)部的高低電平信號。

2277a00e-ce93-11ef-9310-92fbcf53809c.png

這里使用這個(gè)芯片,就好像是一個(gè)外置的RF芯片,01還是哪個(gè)01,但是物理層做了一些更改。

22925e26-ce93-11ef-9310-92fbcf53809c.png

電壓大了,這個(gè)傳輸?shù)臅r(shí)候,其實(shí)能量也強(qiáng)了

在工業(yè)通訊的場景下,為了進(jìn)一步提高傳輸距離,以及增強(qiáng)信號的可靠性,一般會采用RS485的電平標(biāo)準(zhǔn)。 在發(fā)送端將普通的高低電平信號轉(zhuǎn)換成一對差分信號,在接收端將差分信號再轉(zhuǎn)換成普通的高低電平信號。另外,RS485允許總線上連接多達(dá)128收發(fā)器,而TTL或者RS232則是點(diǎn)對點(diǎn)的連接。

22a83c50-ce93-11ef-9310-92fbcf53809c.png

也就是說,工業(yè)設(shè)備要追求抗干擾和穩(wěn)定,一個(gè)節(jié)點(diǎn)數(shù)據(jù)量不大,但是又需要通訊,那這個(gè)RS485就大顯身手了。

22d8377a-ce93-11ef-9310-92fbcf53809c.png

可以看到,就是AB兩個(gè)線就可以傳輸了

22f80172-ce93-11ef-9310-92fbcf53809c.png

甩來甩去

2307a370-ce93-11ef-9310-92fbcf53809c.png

我們使用的最多的是TTL電平

231a70b8-ce93-11ef-9310-92fbcf53809c.png

還是夢源的圖

234065d4-ce93-11ef-9310-92fbcf53809c.png

我們看這些MCU的特性里面一定會有,這個(gè)支持的模式

同步通訊是有時(shí)鐘的,大家在一個(gè)線上面采集。

236d2d76-ce93-11ef-9310-92fbcf53809c.png

也就是要三個(gè)線

2391102e-ce93-11ef-9310-92fbcf53809c.png

高級功能

23b02536-ce93-11ef-9310-92fbcf53809c.png

還可以設(shè)置時(shí)鐘

串口同步通信:在約定的通信速率下,發(fā)送端和接收端的時(shí)鐘信號頻率和相位始終保持同步,以保證通信雙方在發(fā)送和接收數(shù)據(jù)時(shí)具有完全一樣的定時(shí)關(guān)系。

串口異步通信:也稱為起止式異步通信,是以字符為單位進(jìn)行傳輸?shù)模址g沒有固定的時(shí)間間隔要求,每個(gè)字符中的各位則以固定的時(shí)間傳送。

后者也叫字符同步,大家一般都是選這個(gè)的多。 上面就是咱們的基礎(chǔ)知識了,來看看具體在MCU,SOC里面的樣子

我這里選了英偉達(dá) Jetson Nano:

23bd8122-ce93-11ef-9310-92fbcf53809c.png

可以看到,直接給了3個(gè)串口

23d6d4d8-ce93-11ef-9310-92fbcf53809c.png

不愧是說SOC,性能就是好,時(shí)鐘200M,還有FIFO

23f5a70a-ce93-11ef-9310-92fbcf53809c.png

三組

2406aa64-ce93-11ef-9310-92fbcf53809c.png

可以看到,再牛逼也得用串口調(diào)試

那其實(shí)我們的電腦只有USBType-C接口了,根本沒有串口?。。∧钦k?

所以就需要一個(gè)USB轉(zhuǎn)串口的芯片!

24184954-ce93-11ef-9310-92fbcf53809c.png

CP2102,明星產(chǎn)品,也是貴族了

2438b734-ce93-11ef-9310-92fbcf53809c.png

中規(guī)中矩的異步串口功能

245d6980-ce93-11ef-9310-92fbcf53809c.png

這里

247bf440-ce93-11ef-9310-92fbcf53809c.png

虛擬串口,全平臺適配

2494c164-ce93-11ef-9310-92fbcf53809c.png

框圖也簡單,如果異步通訊的話,就TX和RX就行了

24b01054-ce93-11ef-9310-92fbcf53809c.png

這也簡單,電源就是濾波,然后USB就是保護(hù),RST是上拉

24d004cc-ce93-11ef-9310-92fbcf53809c.png

還有一個(gè)2104

1. CP2104更便宜。

2. CP2104體積更小,占地面積不同。CP2104是QFN24(4x4mm); CP2102是QFN28(5x5mm)。

24e56ca4-ce93-11ef-9310-92fbcf53809c.png

會小一點(diǎn)

3. CP2104具有 I/O 電源引腳,可通過外部電阻承受VDD至5V的電壓。

4. CP2104支持RS-485; CP2102沒有。

5. CP2104具有GPIO引腳; CP2102沒有。

6. CP2104具有一次性可編程存儲器(OTP); 只能自定義一次CP2104。CP2102具有可重新編程的閃存; 可以多次自定義CP2102。

24f44472-ce93-11ef-9310-92fbcf53809c.png

一模一樣,無所謂

2503d752-ce93-11ef-9310-92fbcf53809c.png

還有咱們的WCH

2523c5f8-ce93-11ef-9310-92fbcf53809c.png

就是它的封裝不好看,有點(diǎn)大

2551136e-ce93-11ef-9310-92fbcf53809c.png

微小型的 10 腳貼片-MSOP-10,這個(gè)好

257d2cf6-ce93-11ef-9310-92fbcf53809c.png

這個(gè)是什么畫的?PADS?

就和我不出油的筆有一拼。

259efeee-ce93-11ef-9310-92fbcf53809c.png

還有下載電路,數(shù)據(jù)手冊里面介紹了不少應(yīng)用例子,不錯(cuò)

反正就是這三個(gè)吧!

MCU還是要說一下:

25b053b0-ce93-11ef-9310-92fbcf53809c.png

CW32還有個(gè)好玩的,就是TX和RX互換功能,再也不怕連錯(cuò)了

25d55ec6-ce93-11ef-9310-92fbcf53809c.png

在CR2這個(gè)寄存器這里改

25f4e0c0-ce93-11ef-9310-92fbcf53809c.png

這個(gè)也值得一看,別的MCU也可以用的上

除了MCU有串口,需要一個(gè)USB橋以外,還有自己帶MCU USB IP的。

哈哈哈哈,沒想到吧?每次買東西湊單的貨,有這種好玩的東西。也就是說可以不使用額外的芯片,就直接一個(gè)USB線就可以通訊了。

25ff74f4-ce93-11ef-9310-92fbcf53809c.png

直接這樣就ok

26106e8a-ce93-11ef-9310-92fbcf53809c.png

推薦這本書

STM32F103 自帶的 USB 符合 USB2.0 規(guī)范,不過 STM32F103 的 USB 都只能用來做設(shè)備,而不能用作主機(jī)。 標(biāo)準(zhǔn) USB 共四根線組成,除 VCC/GND 外,另外為 D+,D-; 這兩根數(shù)據(jù)線采用的是差分電壓的方式進(jìn)行數(shù)據(jù)傳輸?shù)摹?在 USB 主機(jī)上,D-和 D+都是接了 15K 的電阻到低的,所以在沒有設(shè)備接入的時(shí)候,D+、D-均是低電平。而在 USB 設(shè)備中,如果是高速設(shè)備,則會在 D+上接一個(gè) 1.5K 的電阻到 VCC,而如果是低速設(shè)備,則會在 D-上接一個(gè) 1.5K 的電阻到 VCC。這樣當(dāng)設(shè)備接入主機(jī)的時(shí)候,主機(jī)就可以判斷是否有設(shè)備接入,并能判斷設(shè)備是高速設(shè)備還是低速設(shè)備。 STM32F103 的 MCU 自帶 USB 從控制器,符合 USB 規(guī)范的通信連接;PC 主機(jī)和微控制器之間的數(shù)據(jù)傳輸是通過共享一專用的數(shù)據(jù)緩沖區(qū)來完成的,該數(shù)據(jù)緩沖區(qū)能被 USB 外設(shè)直接訪問。 這塊專用數(shù)據(jù)緩沖區(qū)的大小由所使用的端點(diǎn)數(shù)目和每個(gè)端點(diǎn)最大的數(shù)據(jù)分組大小所決定,每個(gè)端點(diǎn)最大可使用 512 字節(jié)緩沖區(qū)(專用的 512 字節(jié),和 CAN 共用),最多可用于 16 個(gè)單向或 8 個(gè)雙向端點(diǎn)。USB 模塊同 PC 主機(jī)通信,根據(jù) USB 規(guī)范實(shí)現(xiàn)令牌分組的檢測,數(shù)據(jù)發(fā)送/接收的處理,和握手分組的處理。整個(gè)傳輸?shù)母袷接捎布瓿桑渲邪?CRC 的生成和校驗(yàn)。

26491578-ce93-11ef-9310-92fbcf53809c.png

這個(gè)是設(shè)置頁面

Speed:Full Speed 12MBit/s(固定為全速)

Low Power:默認(rèn) Disabled(在任何不需要使用usb模塊的時(shí)候,通過寫控制寄存器總可以使USB模塊置于低功耗模式(low power mode ,suspend模式)。在這種模式下,不產(chǎn)生任何靜態(tài)電流消耗,同時(shí)USB時(shí)鐘也會減慢或停止。通過對USB線上數(shù)據(jù)傳輸?shù)臋z測,可以在低功耗模式下喚醒USB模塊。也可以將一特定的中斷輸入源直接連接到喚醒引腳上,以使系統(tǒng)能立即恢復(fù)正常的時(shí)鐘系統(tǒng),并支持直接啟動(dòng)或停止時(shí)鐘系統(tǒng)。)

USB 的 DP 引腳必須上拉 1.5K 歐的電阻,電腦才能檢測到 USB,否則檢測不到。

266e48e8-ce93-11ef-9310-92fbcf53809c.png

如果USB端口出現(xiàn)感嘆號設(shè)備無法啟動(dòng)的問題,可適當(dāng)將堆改大,如0x400。

就是這么多了。

IIC支持熱拔插嗎?(附有詳細(xì)CW32 IIC協(xié)議解讀)

SPI協(xié)議,這篇就夠了!

夢源邏輯分析儀分析IIC,SPI協(xié)議

這樣看就低速協(xié)議全面了。

https://blog.csdn.net/qq_36347513/article/details/127404464https://blog.csdn.net/qq_36347513/article/details/127404464https://dreamsourcelab.cn/logic-analyzer/uart/https://zh.wikipedia.org/wiki/%E4%B8%B2%E8%A1%8C%E7%AB%AF%E5%8F%A3https://www.silabs.com/documents/public/data-sheets/CP2102-9.pdf

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18925

    瀏覽量

    398249
  • 電腦
    +關(guān)注

    關(guān)注

    16

    文章

    1811

    瀏覽量

    72013
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1619

    瀏覽量

    82831

原文標(biāo)題:細(xì)嗦MCU與電腦的通訊方式-串口

文章出處:【微信號:gkongbbs,微信公眾號:工控論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    串口調(diào)試助手跟變頻器怎么通訊

    串口調(diào)試助手與變頻器的通訊是工業(yè)自動(dòng)化領(lǐng)域中常見的技術(shù)操作,其核心在于通過串口協(xié)議實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸與控制。本文將圍繞硬件連接、參數(shù)配置、協(xié)議解析及常見問題排查等方面展開詳細(xì)說明,幫助讀者掌握這
    的頭像 發(fā)表于 03-03 17:05 ?455次閱讀
    <b class='flag-5'>串口</b>調(diào)試助手跟變頻器怎么<b class='flag-5'>通訊</b>

    微型LORA數(shù)傳模塊:六種傳輸方式,5KM無線通訊

    微型LORA數(shù)傳模塊主打無線透明傳輸、遠(yuǎn)距離穩(wěn)定通信的LORA物聯(lián)智能網(wǎng)關(guān),支持多種通訊模式,兼具易部署、低功耗、高安全等優(yōu)勢,可輕松解決工業(yè)場景下串口設(shè)備布線難、抗干擾弱等痛點(diǎn)。 、功能特點(diǎn) 1
    的頭像 發(fā)表于 02-03 17:17 ?156次閱讀

    解讀CRC校驗(yàn)

    CRC也就逐漸興盛起來,直接靠硬件就可以知道此數(shù)據(jù)是否錯(cuò)誤,大大增加了檢驗(yàn)效率,這也是此前所有硬件檢驗(yàn)的基礎(chǔ),當(dāng)然軟件也是樣的,只不過需要自己去計(jì)算。 芯源的MCU普遍都有CRC硬件校驗(yàn),這樣就大大減少了程序員進(jìn)行檢驗(yàn)的編程難度,提高了編程效率。
    發(fā)表于 01-26 07:20

    串口通信協(xié)議簡介

    串口通訊(SerialCommunication)是種設(shè)備間非常常用的串行通訊方式,因?yàn)樗唵伪憬荩虼舜蟛糠蛛娮釉O(shè)備都支持該
    的頭像 發(fā)表于 10-17 09:39 ?3259次閱讀
    <b class='flag-5'>串口</b>通信協(xié)議簡介

    串口到底是個(gè)啥?#串口通訊 #電路知識 #RS485 #工業(yè)以太網(wǎng)

    串口通訊
    西安阿爾泰電子科技發(fā)展有限公司
    發(fā)布于 :2025年10月16日 18:02:50

    rtstudio是否可像keil加載ini解決虛擬串口mcu串口通訊?

    Keil可使用虛擬串口工具,比如VSPD,創(chuàng)建了兩個(gè)虛擬串口COM1和COM2,然后在Debug時(shí)加載INI配置,使得串口助手連接到COM1,而Keil中的Uvision模擬的MCU使
    發(fā)表于 10-09 06:23

    串口通信有哪些方式

    串口通信(Serial Communication)是種通過串行方式逐位傳輸數(shù)據(jù)的通信方式,廣泛應(yīng)用于嵌入式系統(tǒng)、工業(yè)控制、儀器儀表等領(lǐng)域。其通信
    的頭像 發(fā)表于 09-28 18:02 ?1096次閱讀

    又短又好用:單片機(jī)就個(gè)串口,如何和多個(gè)從機(jī)串口通信?串口如何實(shí)現(xiàn)主多從?

    即可實(shí)現(xiàn)總線。 但是有時(shí)候由于些原因不得不也想到另種設(shè)計(jì),即讓串口實(shí)現(xiàn)主多從這種總線設(shè)計(jì)。比如板內(nèi)主MCU只有
    的頭像 發(fā)表于 09-17 11:49 ?1477次閱讀
    又短又好用:單片機(jī)就<b class='flag-5'>一</b>個(gè)<b class='flag-5'>串口</b>,如何和多個(gè)從機(jī)<b class='flag-5'>串口</b>通信?<b class='flag-5'>串口</b>如何實(shí)現(xiàn)<b class='flag-5'>一</b>主多從?

    通用MCU語音芯片支持串口+AT指令485通訊

    文檔簡單介紹AD24N的性能參數(shù)、串口通訊指令、應(yīng)用方向、等內(nèi)容
    的頭像 發(fā)表于 07-24 11:35 ?708次閱讀
    通用<b class='flag-5'>MCU</b>語音芯片支持<b class='flag-5'>串口</b>+AT指令485<b class='flag-5'>通訊</b>

    PLC之間跨區(qū)域通訊!無線通訊方案全解析

    。 在這種情況下,可以給PLC配備相應(yīng)的無線通訊模塊來實(shí)現(xiàn) PLC與PLC無線通訊。 串口無線通訊模塊和以太網(wǎng)無線通訊模塊,都可以妥善地實(shí)現(xiàn)
    的頭像 發(fā)表于 07-21 16:57 ?819次閱讀
    PLC之間跨區(qū)域<b class='flag-5'>通訊</b>!無線<b class='flag-5'>通訊</b>方案全解析

    第十四章 USART——串口通訊

    本章介紹了USART串口通訊,含物理層(RS-232、TTL電平)、協(xié)議層(波特率、數(shù)據(jù)幀),及W55MH32的USART功能與應(yīng)用。
    的頭像 發(fā)表于 06-14 16:30 ?1798次閱讀
    第十四章 USART——<b class='flag-5'>串口</b><b class='flag-5'>通訊</b>

    聚徽解讀:國內(nèi)工控平板電腦使用中常遇的問題

    在工業(yè)自動(dòng)化進(jìn)程里,國內(nèi)工控平板電腦作為關(guān)鍵設(shè)備,廣泛應(yīng)用于各類復(fù)雜工業(yè)場景,承擔(dān)數(shù)據(jù)處理、設(shè)備控制與信息交互等重任。然而,實(shí)際使用中,用戶常遭遇系列棘手問題,影響生產(chǎn)效率與系統(tǒng)穩(wěn)定性。本文將深入
    的頭像 發(fā)表于 06-13 14:30 ?935次閱讀

    【高云GW5AT-LV60 開發(fā)套件試用體驗(yàn)】代碼解讀-串口通訊

    完FPGA板子讀代碼是很重要的,特別是對于學(xué)C語言的寶貝們,從編程轉(zhuǎn)來搞FPGA可能會對pipeline的編程比較不適應(yīng)。 上篇點(diǎn)燈的代碼解讀講了些特別基礎(chǔ)的代碼,這里的串口通訊如果
    發(fā)表于 05-26 02:18

    Labview串口通訊,使用SerialPort

    在項(xiàng)目開開發(fā)的時(shí)候難免需要使用到串口,那么有兩個(gè)選擇是使用VISA進(jìn)行串口通訊,二使用SerialPort進(jìn)行串口
    發(fā)表于 03-08 18:38