[硬件]單片機下載電路講解-以ch340為例

首先我們明確要實現的效果:

實現 CH340 通過 Type - C 接口下載程序到單片機

1、前置知識

首先我們要知道 ch340 和typec的作用分別是什么

CH340 作用(usb-ttl)

CH340 是一種 USB 轉串口芯片 。其主要作用是實現 USB 總線與異步串行接口之間的轉換,充當 USB 轉串口或 USB 轉打印口的橋接器。通過它,計算機能利用 USB 接口與外部串行設備(如單片機開發板、嵌入式系統、工業自動化設備、老式串行設備等 )進行通信。具體表現為:

將設備的串口信號轉換為 USB 信號,使沒有串口的計算機能通過 USB 與串口設備相連,拓展計算機的連接能力。比如為沒有內置 USB 功能的微控制器添加 USB 接口,方便編程和調試 。

Type - C 是一種新一代的 USB 接口標準,是物理層面的。

2、電源接線

略,注意共地就行。

3、數據線連接

3.1? ?CH340與主機(如電腦 )之間的數據交互

D + 和 D - 差分信號和主機電腦進行交互

CH340 芯片的 D+(一般是 5 號腳 )和 D-(一般是 6 號腳 )引腳,對應連接到 Type - C 接口中的 D + 和 D - 引腳。這兩根線用于 USB 數據信號傳輸,實現芯片與主機(如電腦 )之間的數據交互。

3.2? ?CH340 芯片和單片機MCU進行通信

CH340 芯片的 TXD和 RXD和主控MCU的串口連接進行通信

TXD 和 RXD 引腳:CH340 芯片的 TXD(串行數據輸出,一般是 2 號腳 )和 RXD(串行數據輸入,一般是 3 號腳 )引腳,連接到目標設備(如單片機 )對應的串口接收和發送引腳。比如在 STM32 單片機下載程序場景中,若通過串口 1 下載,CH340 的 TXD 連到 STM32 的 PA10(RX ),RXD 連到 PA9(TX ) 。

3.3自動下載電路引腳

RTS# 和 DTR#?

不使用 RTS# 和 DTR# 引腳的情況

手動操作燒錄以一些簡單的單片機開發板為例,在燒錄程序時,你需要手動按下復位按鍵,讓目標設備進入燒錄模式,接著再借助上位機軟件把程序燒錄進去。在這個過程中,數據的傳輸通過 D+、D - 、TXD 和 RXD 引腳來完成,RTS# 和 DTR# 引腳不發揮作用。

使用 RTS# 和 DTR# 引腳的情況

實現自動下載功能:當你期望實現自動下載功能時,RTS# 和 DTR# 引腳就非常關鍵了。在燒錄程序前,上位機可以通過控制 RTS# 和 DTR# 引腳的電平,自動控制目標設備進入燒錄模式并完成復位操作。例如,在使用 CH340 芯片給 STM32 單片機燒錄程序時,借助 RTS# 和 DTR# 引腳的配合,上位機能夠自動控制 STM32 單片機進入系統存儲器引導模式,從而實現程序的自動下載,這極大地提高了燒錄效率,特別是在需要頻繁燒錄程序的開發過程中優勢明顯。

3.4??RTS# 和 DTR#?引腳的接線

所需器件

為了實現自動下載功能,通常需要用到三極管、電阻等元件,三極管常被用作電子開關,來控制目標設備(如單片機)的復位引腳和啟動模式選擇引腳。

接線原理

RTS# 引腳:一般用于控制目標設備進入下載模式。通過改變 RTS# 引腳的電平,經過三極管等組成的電路,控制目標設備的啟動模式選擇引腳(如 BOOT 引腳)的電平,從而使目標設備進入下載模式。

DTR# 引腳:主要用于控制目標設備的復位。當 DTR# 引腳的電平發生變化時,通過三極管等電路,控制目標設備的復位引腳(如 RST 引腳),實現目標設備的復位操作。

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

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

相關文章

linux入門六:Linux Shell 編程

一、Shell 概述 1. 什么是 Shell? Shell 是 Linux 系統中用戶與內核之間的橋梁,作為 命令解析器,它負責將用戶輸入的文本命令轉換為計算機可執行的機器指令。 本質:Shell 是一個程序(如常見的 Bash、Zsh&#xff09…

用shell腳本實現自動監控并封禁連接數超過閾值的IP

寫一個 shell 腳本,創建腳本文件 /usr/local/bin/check_conn.sh #!/bin/bash if [[ $EUID -ne 0 ]]; thenecho "This script must be run as root." >&2exit 1 fi # 連接數閾值 THRESHOLD50# 白名單 IP(空格分隔) WHITELIS…

VS 中Git 中本地提交完成,沒有推送,修改的內容如何還原

在 Visual Studio 中撤銷本地提交但未推送的修改,可以通過以下方法實現: 一、保留修改內容(僅撤銷提交記錄) 使用 git reset --soft 在 VS 的 Git 終端中執行: git reset --soft HEAD~1作用:撤銷最后一次提…

qt中的正則表達式

問題: 1.在文本中把dog替換成cat,但可能會把dog1替換成cat1,如果原本不想替換dog1,就會出現問題 2文本中想獲取某種以.txt為結尾的多有文本,普通的不能使用 3如果需要找到在不同的系統中尋找換行符,可以…

Linux命令-vim編輯

用vi或vim命令進入vim編輯器。 基礎: u 撤銷上一次操作。x剪切當前光標所在處的字符。yy復制當前行。dd剪切當前行。p粘貼剪貼板內容到光標下方。i切換到輸入模式,在光標當前位置開始輸入文本。:wq保存并退出Vim 編輯器。:q!不保存強制退出Vim 編輯器。 拓展: w光…

VS 基于git工程編譯版本自動添加版本號

目錄 概要 實現方案 概要 最近在用visual Studio 開發MFC項目時,需要在release版本編譯后的exe文件自動追加版本信息。 由于我們用的git工程管理,即需要基于最新的git 提交來打版本。 比如: MFCApplication_V1.0.2_9.exe 由于git 提交信…

nginx入門,部署靜態資源,反向代理,負載均衡使用

Nginx在linux上部署靜態資源 概念介紹 Nginx可以作為靜態web服務器來部署靜態資源。這里所說的靜態資源是指在服務端真實存在,并且能夠直接展示的一些文件,比如常見的html頁面、css文件、js文件、圖片、視頻等資源。 相對于Tomcat,Nginx處理…

【字節跳動AI論文】Seaweed-7B:視頻生成基礎模型的高成本效益培訓

摘要:本技術報告介紹了一種經濟有效的視頻生成基礎模型訓練策略。 我們提出了一種中等規模的研究模型,大約有70億個參數(7B),稱為Seaweed-7B,使用665,000個H100 GPU小時從頭開始訓練。 盡管使用適度的計算資…

Java單例模式:實現全局唯一對象的藝術

精心整理了最新的面試資料和簡歷模板,有需要的可以自行獲取 點擊前往百度網盤獲取 點擊前往夸克網盤獲取 一、什么是單例模式? 單例模式(Singleton Pattern)是一種創建型設計模式,確保一個類只有一個實例&#xff0c…

Oracle 復制表結構(含索引、主鍵)操作指南

Oracle 復制表結構(含索引、主鍵)操作指南 1. 復制基礎表結構 -- 創建空表結構(不復制數據) CREATE TABLE new_table AS SELECT * FROM old_table WHERE 10;2. 復制主鍵約束 -- 查詢原表主鍵信息 SELECT constraint_name, co…

React 更新state中的對象

更新 state 中的對象 state 中可以保存任意類型的 JavaScript 值,包括對象。但是,你不應該直接修改存放在 React state 中的對象。相反,當你想要更新一個對象時,你需要創建一個新的對象(或者將其拷貝一份)…

基于 GoFrame 框架的電子郵件發送實踐:優勢、特色與經驗分享

1. 引言 如果你是一位有1-2年Go開發經驗的后端開發者,可能已經熟悉了Go語言在性能和并發上的天然優勢,也曾在項目中遇到過郵件發送的需求——無論是用戶注冊時的激活郵件、系統異常時的通知,還是營銷活動中的批量促銷郵件,郵件功…

AndroidStudio編譯報錯 Duplicate class kotlin

具體的編譯報錯信息如下: Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and kotlin-stdlib-jdk8-1.6.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21) D…

后端面試問題收集以及答案精簡版

思路 不要問什么答什么 要學會擴充 比如問你go map的原理 map 是什么 數據結構,字典,k/v 結構map的應用場景有哪些 快速查找、計數器、配置管理、去重、緩存實現map有哪些限制 無序性、非線程安全的讀寫map的key的訪問 v: mp[key] v,ok : mp[key] for…

MicroPython 開發ESP32應用教程 之 I2S、INMP441音頻錄制、MAX98357A音頻播放、SD卡讀寫

本課程我們講解Micropython for ESP32 的i2s及其應用,比如INMP441音頻錄制、MAX98357A音頻播放等,還有SD卡的讀寫。 一、硬件準備 1、支持micropython的ESP32S3開發板 2、INMP441數字全向麥克風模塊 3、MAX98357A音頻播放模塊 4、SD卡模塊 5、面包板及…

UE5 物理模擬 與 觸發檢測

文章目錄 碰撞條件開啟模擬關閉模擬 多層級的MeshUE的BUG 觸發觸發條件 碰撞 條件 1必須有網格體組件 2網格體組件必須有網格,沒有網格雖然可以開啟物理模擬,但是不會有任何效果 注意開啟的模擬的網格體組件會計算自己和所有子網格的mesh范圍 3只有網格…

微信小程序 - swiper輪播圖

官方文檔&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html <swiper indicator-color"ivory" indicator-active-color"#d43c33" indicator-dots autoplay><swiper-item><image src"/images/banner…

深入探究C#官方MCP:開啟AI集成新時代

一、引言 在當今數字化時代&#xff0c;.NET 開發領域不斷演進&#xff0c;而 C# 官方 MCP&#xff08;Model Context Protocol&#xff0c;模型上下文協議&#xff09;的出現&#xff0c;無疑為開發者們帶來了全新的機遇與挑戰。隨著人工智能技術的迅猛發展&#xff0c;將 AI…

二分查找法

使用二分查找法的前提&#xff1a;&#xff08;1&#xff09;數組為有序數組. &#xff08;2&#xff09;數組中無重復元素. 二分的兩種寫法&#xff1a; 方法一&#xff1a;[left&#xff0c;right] class Solution { public:int search(vector<int>& nums, int …

HarmonyOS:頁面滾動時標題懸浮、背景漸變

一、需求場景 進入到app首頁或者分頁列表首頁時&#xff0c;隨著頁面滾動&#xff0c;分類tab要求固定懸浮在頂部。進入到app首頁、者分頁列表首頁、商品詳情頁時&#xff0c;頁面滾動時&#xff0c;頂部導航欄&#xff08;菜單、標題&#xff09;背景漸變。 二、相關技術知識點…