【嵌入式開發-RS-485】

嵌入式開發-RS-485

  • ■ RS-485 連接方式
  • ■ RS-485 半雙工通訊
  • ■ RS-485 的特點
  • ■ UART硬流控
  • ■ RS-485
    • 1. 全雙工、半雙工接線
    • 2. 拓撲結構
    • 3. RS-485收發器
      • 3.1 發送模式(TX)
      • 3.2 接收模式(RX)
    • 4. RS-485數據鏈路
    • 5. RS-485常用電路
    • 6. CH340芯片USB轉RS485參考電路

■ RS-485 連接方式

在這里插入圖片描述

■ RS-485 半雙工通訊

一線定義為A
一線定義為B
RS-485傳輸方式:半雙工通信、(邏輯1:+2V ~ +6V 邏輯0:-6V ~ -2V)這里的電平指AB 兩線間的電壓差。

■ RS-485 的特點

  • 電氣特性:邏輯“1”通常由兩線間的電壓差為+(2-6)V表示,而邏輯“0”由兩線間的電壓差為-(2-6)V表示。
  • 傳輸速率:數據最高傳輸速率可達10Mbps。
  • 抗干擾性:采用平衡驅動器和差分接收器的組合,增強了抗共模干擾能力。
  • 傳輸距離:最大傳輸距離可達1200米。
  • 多點通信:允許在總線上連接多達32個設備,實現多點通信。

■ UART硬流控

如果有RX,TX,CTS,RTS 四個信號,則多半是支持硬流控的UART;

RTSCTS
RTS (Require ToSend,發送請求) :為輸出信號,用于指示本設備準備好可接收;發送請求低電平有效,低電平說明本設備可以接收數據。
CTS (Clear ToSend,發送清除):為輸入信號,有效時停止發送。 發送允許 用于判斷是否可以向對方發送數據,低電平有效,低電平說明本設備可以向對方發送數據。

在這里插入圖片描述
編程思路

編號說明
1模塊與MCU之間的串口是用硬件流控CTS、RTS兩個IO口進行發送接收的通知和控制。
2這兩個IO常態高位,置低觸發。
3當模塊可以接收數據時,模塊會置低本機RTS(MCU為CTS)信號通知MCU可以發送數據。
4當MCU可以接收數據時,MCU要置低其RTS(模塊為CTS)信號通知模塊可以發送數據

■ RS-485

1. 全雙工、半雙工接線

DB9輸出信號RS-422全雙工接線RS-485半雙工接線
1T/R+發(A+)RS-485(A+)
2T/R-發(B-)RS-485(B-)
3RXD+收(A+)
4RXD-收(B-)
5GND地線地線

2. 拓撲結構

在這里插入圖片描述

3. RS-485收發器

在這里插入圖片描述
RO 一 接收器輸出
RE 一 接收器輸出使能(低電平有效)
DE — 驅動器輸出使能(高電平有效)
DI 一 驅動器輸入

3.1 發送模式(TX)

DE:發送器輸出使能(高電平有效)
引腳DE為邏輯高時,差分輸出A和B遵循數據輸入DI 處的邏輯狀態。

數據流向: MCU_TX -> DI -> 內部驅動器 -> A/B差分輸出
在這里插入圖片描述

3.2 接收模式(RX)

RE:接收器輸出使能(低電平有效)

數據流向: A/B差分信號 -> 內部接收器 -> RO -> MCU_RX

在這里插入圖片描述

4. RS-485數據鏈路

在這里插入圖片描述

當DIR=0時,接收電路使能,發送電路禁止DE=0,對總線而言相當于高阻;
當DIR=1時,接收電路使能,發送電路禁止DE=1,對總線A/B信號取決于DI的信號。

5. RS-485常用電路

在這里插入圖片描述

1)使能信號RE和DE可采用一個GPIO控制,節省資源,
GPIO25 輸出高電平,RE=DE=0V, 進入接收模式;
GPIO25 輸出低電平,RE=DE=3.3V,進入發送模式。

2)有一些電路中會在A上加上拉,B上加下拉電阻,
主要原因是:RS-485總線在idle狀態,電平是不固定的,即電平在-200mV~+200mV之間,收發器可能輸出高也可能輸出低,UART在空閑時需要保持高電平的,如果此時收發器輸出一個低電平,對UART來說是一個start bit,會導致通信異常,

6. CH340芯片USB轉RS485參考電路

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/80228.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/80228.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/80228.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[硬件電路-18]:MCU - LPC1765FBD100是恩智浦(NXP)半導體推出的一款基于ARM Cortex-M3內核的高性能32位微控制器

LPC1765FBD100是恩智浦(NXP)半導體推出的一款基于ARM Cortex-M3內核的高性能32位微控制器,具備高集成度、低功耗、豐富的外設接口和強大的處理能力,適用于工業控制、消費電子、醫療設備、通信系統等嵌入式應用場景。 以下從核心特…

MyBatis(進階)(xml標簽)

本節?標 1. 學習MyBatis的動態SQL查詢 2. 掌握MyBatis在項?中的應?, 可以使?Spring MVC完成?些基礎的功能 1. 動態SQL(XML) 動態 SQL 是Mybatis的強?特性之?,能夠完成不同條件下不同的 sql 拼接 可以參考官??檔: M…

QT QList容器及行高亮

總結QList是一個泛型/模板鏈表,可以自己定義數據類型,ExtraSelection是一種“數據類型”

【Python】Python項目中的依賴與配置:requirements.txt、setup.py、pyproject.toml 詳解

在昨天的文章【Python】通過Editable Install模式詳解,解決Python開發總是import出錯的問題 中, 我們提到了Python項目的配置文件requirements.txt、setup.py、pyproject.toml。在昨天的解決方案中, 我們同時維護了這三個文件。 由同學就問&a…

詳細聊聊 Synchronized,以及鎖的升級過程

在Java中,synchronized關鍵字是用于實現線程同步的重要機制,它通過內置鎖(Monitor)確保多個線程對共享資源的安全訪問。 1. synchronized 的基本使用與實現原理 使用方式 修飾實例方法:鎖是當前對象實例。public syn…

vue3的深入組件-組件 v-model

組件 v-model 基本用法? v-model 可以在組件上使用以實現雙向綁定。 從 Vue 3.4 開始&#xff0c;推薦的實現方式是使用 defineModel() 宏&#xff1a; <script setup> const model defineModel()function update() {model.value } </script><template>…

15.thinkphp的上傳功能

一&#xff0e;上傳功能 1. 如果要實現上傳功能&#xff0c;首先需要建立一個上傳表單&#xff0c;具體如下&#xff1a; <form action"http://localhost/tp6/public/upload"enctype"multipart/form-data" method"post"><input type&…

word文檔基本操作: 編輯頁眉頁腳和插入目錄

文章目錄 引言I 編輯頁眉頁腳II 插入目錄III 知識擴展基于axure畫架構圖基于Knife4j導出接口文檔基于PDManer導出數據庫設計文檔引言 背景: 信息安全認證需要準備相關文件用于審核 一般的開發設計包含總體設計、概要設計、詳細設計、接口設計、數據庫設計、部署結構設計、原型…

Qt 通過控件按鈕實現hello world + 命名規范(7)

文章目錄 使用編輯框來完成 hello world通過編輯圖形化界面方式通過純代碼方式 通過按鈕的方式來創建 hello world通過編輯圖形化界面方式通過純代碼方式 總結Qt Creator中的快捷鍵如何使用文檔命名規范 簡介&#xff1a;這篇文章著重點并不在于創建hello world程序&#xff0c…

實時網絡流量監控與防御:Python實現DDoS攻擊檢測

1. 需求分析 DDoS攻擊通過海量請求耗盡服務器資源。本文使用 Python Scapy 實時監控流量&#xff0c;自動觸發IP封禁。 2. 核心代碼實現 2.1 依賴安裝 pip install scapy psutil2.2 流量監控腳本&#xff08;ddos_detector.py&#xff09; import time from scapy.all im…

電賽經驗分享——模塊篇

1、前言 打算在這一個專欄中&#xff0c;分享一些本科控制題電賽期間的經驗&#xff0c;和大家共同探討&#xff0c;也希望能幫助剛剛參加電賽的同學&#xff0c;了解一些基本的知識。一些見解和看法可能不同或有錯誤&#xff0c;歡迎批評指正。 在本文中&#xff0c;主要介紹筆…

【LLM】Open WebUI 使用指南:詳細圖文教程

Open WebUI 是一個開源的、可擴展且用戶友好的自托管 AI 平臺,專為生成式人工智能模型交互而設計。 Open WebUI 旨在為用戶提供一個簡單易用、功能強大且高度定制化的界面,使其能夠輕松與各種 AI 模型(如文本生成、圖像生成、語音識別等)進行交互。 一、安裝與初始化配置 擴…

HarmonyOS Next~HarmonyOS應用測試全流程解析:從一級類目上架到二級類目專項測試

HarmonyOS Next&#xff5e;HarmonyOS應用測試全流程解析&#xff1a;從一級類目上架到二級類目專項測試 引言&#xff1a;HarmonyOS生態下的質量保障挑戰 在萬物互聯的智能時代&#xff0c;HarmonyOS作為分布式操作系統&#xff0c;為開發者帶來了前所未有的創新空間&#x…

一種機載掃描雷達實時超分辨成像方法——論文閱讀

一種機載掃描雷達實時超分辨成像方法 1. 專利的研究目標與產業意義1.1 研究目標與實際問題1.2 產業意義2. 專利的創新方法:滑窗遞歸優化與實時更新2.1 核心模型與公式2.2 與傳統方法對比優勢3. 實驗設計與驗證3.1 仿真參數3.2 實驗結果4. 未來研究方向與挑戰4.1 學術挑戰4.2 技…

滾筒洗衣機拆解學習

本文圖片來自于B站視頻&#xff0c;鏈接在文末&#xff0c;不涉及任何公司及實驗室產品 對小米滾筒洗衣機進行拆解&#xff0c;并收集了用戶對這款產品的評價&#xff0c;認識了關鍵部件。下一步重點學習對各個電機的控制邏輯和供電系統。 整機拆解學習&#xff1a; 功能面板…

【金倉數據庫征文】金倉數據庫 KingbaseES 在電商平臺數據庫遷移與運維中深入復現剖析

【金倉數據庫征文】金倉數據庫 KingbaseES 在電商平臺數據庫遷移與運維中深入復現剖析 前言 在當今數字化商業蓬勃發展的時代&#xff0c;電商平臺的數據量呈爆發式增長&#xff0c;對數據庫性能、穩定性和擴展性提出了極高要求。本文章基于大型電商平臺原本采用 MySQL 數據庫&…

iPhone手機連接WiFi異常解決方法

iPhone手機連接WiFi異常解決方法 一、問題現象二、iPhone連不上可能的原因三、基礎排查與快速修復第一步:重啟大法第二步:忽略網絡,重新認證第三步:關閉“私有無線局域網地址”第四步:修改DNS服務器第五步:還原網絡設置四、路由器端排查及設置關閉MAC地址過濾或添加到白名…

Android NDK版本迭代與FFmpeg交叉編譯完全指南

在Android開發中&#xff0c;使用NDK(Native Development Kit)進行原生代碼開發是一項常見需求&#xff0c;特別是當我們需要集成FFmpeg這樣的多媒體處理庫時。本文將深入分析Android NDK的版本迭代分界線&#xff0c;詳細講解FFmpeg交叉編譯的注意事項&#xff0c;并提供完整的…

typecho中的Widget設計文檔

組成系統的最基本元素 什么是Widget Widget是組成Typecho的最基本元素&#xff0c;除了已經抽象出來的類庫外&#xff0c;其它幾乎所有的功能都會通過Widget來完成。在實踐中我們發現&#xff0c;在博客這種小型但很靈活的系統中實施一些大型框架的思想是不合適的&#xff0c…

Python序列Day3

序列 序列是一種數據存儲方式&#xff0c;用方括號標注&#xff0c;逗號分隔的一組值。在內存中&#xff0c;序列就是一塊用來存放多個值的連續的內存空間。 常見序列結構有&#xff1a;字符串、列表、元組、字典、集合 列表 用于存儲任意數目&#xff0c;任意類型的數據集…