上次我們說(shuō)了RC延時(shí)電路。這次我們來(lái)看看另外一個(gè)重要的電路部分,也就是我們?cè)鯓訉⒊绦蛏蟼鞯侥=M上的問(wèn)題。
本篇文章已在B站發(fā)布了視頻,不想看字想看視頻的,可以復(fù)制BV號(hào)到APP觀看,也可以直接在B站里搜索BV號(hào)觀看??赐暧浀藐P(guān)注和點(diǎn)贊哦。
BV1L24y1q7E3
在我們講USB芯片燒錄之前我們先把一個(gè)工作給做了,就是給開(kāi)發(fā)板加倆按鈕。
一個(gè)是EN引腳放一個(gè)輕觸開(kāi)關(guān),這個(gè)開(kāi)關(guān)是那種,你按下去打開(kāi),不按關(guān)閉,類似于鼠標(biāo)的按鍵。EN按鈕的主要作用就是重啟,按一下按鈕,我們的開(kāi)發(fā)板就重啟了。怎樣重啟呢就是把這個(gè)引腳置為低電平,也就是接地。
這個(gè)高電平,低電平,之后我們會(huì)經(jīng)常遇到,高電平就是有電壓,低電平就是沒(méi)有電壓,那為啥不是正負(fù)極就好了呢,因?yàn)楦叩碗娖奖磉_(dá)更加準(zhǔn)確一些。高電平是一個(gè)范圍,上期我介紹過(guò)一張圖
其實(shí)電壓達(dá)到了0.75個(gè)3.3V電壓,其實(shí)就已經(jīng)是高電平了,也就意味著開(kāi)發(fā)板已經(jīng)知道了你這個(gè)引腳是高電平了。而低電平,在0.25個(gè)3.3V就已經(jīng)是低電平了。
比較講究的還會(huì)在這個(gè)開(kāi)關(guān)上加一個(gè)消抖電路,也就是加個(gè)小電容,一般是加一個(gè)0.1μF的電容。不過(guò)你不加應(yīng)該不會(huì)有什么影響,我看很多都是沒(méi)有加的。也用不出區(qū)別。
還有一個(gè)是IO0引腳也需要一個(gè)輕觸開(kāi)關(guān),這個(gè)輕觸開(kāi)關(guān)的作用是,切換啟動(dòng)模式,在燒錄固件的時(shí)候我們會(huì)用到。這里的IO0引腳其實(shí)是Strapping引腳,可以對(duì)一些模式進(jìn)行設(shè)置。
45引腳可以調(diào)節(jié)模組的工作電壓,我想大部分人都是用不到的。主要用到的就是系統(tǒng)啟動(dòng)模式。默認(rèn)是SPI啟動(dòng)模式其實(shí)就是我們?nèi)粘J褂玫哪J?,下載啟動(dòng)模式就是固件燒錄模式。
46引腳是控制打開(kāi)關(guān)閉ROM Code功能的。默認(rèn)打開(kāi),我們也不用操作。
最后一項(xiàng)是選擇JTAG信號(hào)源,這個(gè)是我們?cè)谡{(diào)試的時(shí)候會(huì)用到,但是除非你已經(jīng)玩的很深入了,不然不要去動(dòng)這個(gè)。
我們選了一個(gè)最常用的啟動(dòng)模式切換按鈕,這個(gè)電路也很簡(jiǎn)單
0引腳接輕觸開(kāi)關(guān),再接地就可以了。我們一般叫這個(gè)按鈕叫Boot按鈕。使用方式一般是要和RESET按鈕配合使用,按住Boot按鈕,然后按一下RESET重啟開(kāi)發(fā)板,最后松Boot按鈕,就能切換到下載啟動(dòng)模式了。
下面我們?cè)賮?lái)看看該怎么上傳程序。
我們上傳程序一般有三種方式
一個(gè)是直接連接模組上的USB,和電腦進(jìn)行通訊。也就是使用ESP32S3模組自帶的USB串口來(lái)進(jìn)行通訊。這也是我最推薦的方式。
首先它比較省錢(qián),省事兒。燒錄芯片便宜的12塊,貴的10多塊。不但得加芯片,還得加不少外圍電路,麻煩。
而自帶USB,在功能使用上和別的方式?jīng)]太大區(qū)別,在開(kāi)發(fā)環(huán)境上,不管是樂(lè)鑫官方的ESP-IDF,還是Arduino,MicroPython都可以正常使用,甚至在MicroPython環(huán)境下,帶燒錄芯片完全就是個(gè)累贅,可以說(shuō)幾乎沒(méi)用。在MicroPython下ESP32S3的使用幾乎和樹(shù)莓派Pico一模一樣,就是個(gè)高配樹(shù)莓派Pico。
而在Arduino和ESP-IDF下,唯一的區(qū)別是需要選一下模式,別的沒(méi)有區(qū)別。固件燒錄也不需要用到燒錄芯片。
但是在以下情況下,可能需要用到燒錄芯片,一個(gè)是你的電腦系統(tǒng)版本,不支持CDC驅(qū)動(dòng),這個(gè)你到時(shí)候查到電腦上試一下就知道了。大部分系統(tǒng)現(xiàn)在都是支持的了。但是如果你的系統(tǒng)是windows8.1以下可能會(huì)有問(wèn)題。
其實(shí)系統(tǒng)不支持的情況也不只是這種方式的問(wèn)題。使用燒錄芯片你還需要先安裝驅(qū)動(dòng)才能用呢,比這個(gè)還要麻煩。個(gè)人認(rèn)為作為一個(gè)通用協(xié)議,之后支持程度大概率要比燒錄芯片更好。
如果你需要一些特殊需求,比如你需要用USB占用的19,20端口。
你要用到燒錄芯片的一些功能,比如串口硬件流控之類的功能,那你也需要用到燒錄芯片。
或者USB在使用的時(shí)候有一些問(wèn)題,不得不用UART傳輸。否則我覺(jué)得燒錄芯片已經(jīng)沒(méi)必要存在了。
而USB的電路,那就更簡(jiǎn)單了
USB線連好就行了。甚至你引出接口,然后線連接都可以,當(dāng)然方便點(diǎn)的還是用USB接口,這個(gè)我們到選型的時(shí)候再說(shuō)。
如果你還是需要燒錄芯片,下面兩種方案,就是帶燒錄芯片的。
一種是開(kāi)發(fā)板上集成USB轉(zhuǎn)UART接口芯片
這樣我們直接就可以連接開(kāi)發(fā)板通訊。
燒錄芯片,型號(hào),品牌,都挺多的,最常用的就是沁恒的,其中用的最多的就是CH340系列。還有一些使用的國(guó)外的芯片CP2102,F(xiàn)T232。使用上我覺(jué)得沁恒是最方便的,特別是最新的CH343系列
需要的外圍電路很少
價(jià)格也不貴。之前我擔(dān)心的問(wèn)題幾乎不存在。
還有一種方式,就是通過(guò)USB轉(zhuǎn)UART燒錄器
你可以理解為就是把本來(lái)在開(kāi)發(fā)板上的USB轉(zhuǎn)串口這塊給剝離出來(lái)。這種燒錄器一般還會(huì)包含一個(gè)電壓轉(zhuǎn)換模塊,等于是之前我們講的電路畫(huà)好之后,我們已經(jīng)不用再畫(huà)了,直接這個(gè)燒錄器完事兒。而這個(gè)燒錄器還可以給別的沒(méi)有自帶USB轉(zhuǎn)UART的開(kāi)發(fā)板燒錄程序
不到十塊錢(qián)的價(jià)格,我覺(jué)得也不錯(cuò)。這種方式更適合想要開(kāi)發(fā)板尺寸小巧,使用開(kāi)發(fā)板的量大,且電路都是3.3V的情況。
在一般情況下,我建議你選擇直接使用模組自帶USB,不但節(jié)省工作量,還省錢(qián)。而如果之后你需要用到燒錄芯片,購(gòu)買(mǎi)燒錄器連接到UART接口上就行了。
如果你有燒錄器需求的,而且很常用的,那你可以這樣去解決,一個(gè)是很多開(kāi)發(fā)板的選擇,放兩個(gè)USB接口。
一個(gè)是UART通道,一個(gè)USB通道。
樂(lè)鑫官方的開(kāi)發(fā)板就是這樣。
還有一種解決辦法,放一個(gè)USB接口。然后通過(guò)一個(gè)開(kāi)關(guān)來(lái)切換通道。這個(gè)方案是我最近拿到手的合宙ESP32S3的方案。
有興趣的,可以看看屏幕上的圖,也可以自己去找他們的資料看。這個(gè)方案的問(wèn)題是那個(gè)芯片焊接起來(lái)比較麻煩,如果想要用這個(gè)方案可以看看有沒(méi)有類似的芯片方案。
但是非常不建議只有一個(gè)USB接口,但是把USB接口連到燒錄器上,如果你要用MicroPython會(huì)非常不方便。而MicroPython其實(shí)對(duì)燒錄芯片基本沒(méi)什么依賴?,F(xiàn)在甚至都發(fā)展到可以Wi-Fi網(wǎng)頁(yè)傳程序。雖然還在初級(jí)階段,但是感覺(jué)很方便。
好了今天我就先說(shuō)到這里,有啥問(wèn)題,可以下面討論,我們下期見(jiàn)。
聯(lián)系客服