前段時(shí)間,幫朋友設(shè)計(jì)了個(gè)小玩意。需求比較簡(jiǎn)單,就是用STM32模擬讀卡器,通過(guò)TF卡讀寫(xiě)一些文件,然后再有一些別的功能就可以了。
當(dāng)時(shí)我覺(jué)得,這個(gè)不難啊,之前做過(guò)類似的東西。如果你看過(guò)我之前寫(xiě)的關(guān)于STM32的USB的那幾篇文章,復(fù)雜了不敢說(shuō),鼠標(biāo)、鍵盤、讀卡器這些還是玩過(guò)的。
對(duì)成本不算太敏感,于是翻了翻手里還有什么庫(kù)存,選了個(gè)STM32F4的芯片,USB選用芯片上的USB全速2.0接口,SDIO接口驅(qū)動(dòng)TF卡,再加上其它的一些外設(shè)。畫(huà)板子加焊接,加調(diào)程序,業(yè)余時(shí)間搞的,兩周不到弄完了。
USB寫(xiě)入的時(shí)候,速度能到800KB左右。朋友說(shuō)了,操作的都是幾十KB的小文件,所以我感覺(jué)夠了。
于是寄過(guò)去后,安心摸魚(yú)…
哪知道,朋友那邊收到后測(cè)了一下說(shuō)不好用!??!
需求沒(méi)有溝通清楚
電話溝通一番,終于搞清楚了。他之前說(shuō)文件大小只有幾十KB,但是數(shù)量多,可能有幾十個(gè)。而且這個(gè)讀卡器接入的不是我們常用的電腦,是一種工業(yè)上用的機(jī)器,可以理解為特制的工控機(jī)。
顯示器也不是常用的顯示器,只能顯示幾個(gè)特定的界面。而讀卡器接入工控機(jī)后,工控機(jī)會(huì)一次性把TF卡里的文件全都拷入機(jī)器內(nèi)部的存儲(chǔ)空間,這個(gè)時(shí)間不能太長(zhǎng),太常的話會(huì)被判別為讀卡器故障。
那幾十個(gè)文件的拷入時(shí)間預(yù)計(jì)有幾十秒,太慢了….
我暈,最煩這種事前需求不說(shuō)清,事后來(lái)補(bǔ)充的….
方案調(diào)整+第三方工具驗(yàn)證
改方案吧,USB2.0全速就不行了,要換成高速。
簡(jiǎn)單說(shuō)下USB2.0支持的三種傳輸速度:
1、低速模式,1.5Mbps,換算成字節(jié):187KB/S;
2、全速模式,12Mbps,換算成字節(jié):1.5MB/S;
3、高速模式,480Mbps,換算成字節(jié):60MB/S,實(shí)際不超過(guò)25MB/S。
STM32F407雖然支持高速模式,但是不能獨(dú)立工作,需要外接一個(gè)高速的USB PHY芯片,這里選的是USB3300。它是美國(guó)microchip公司生產(chǎn)的一款高速USB PHY芯片,外設(shè)簡(jiǎn)單,價(jià)格合適,主要是資料多~~~
既然想要速度快,USB的差分線也要注意下,要考慮90Ω的阻抗匹配。祭出我的工具:華秋DFM!
![pYYBAGPZ3fWAKtLRAAC-N4Aw_2E741.png](https://file.elecfans.com/web2/M00/8C/83/pYYBAGPZ3fWAKtLRAAC-N4Aw_2E741.png)
找到工具里的阻抗計(jì)算,打開(kāi),輸入線寬與間距,算出阻抗:
![poYBAGPZ3iuAXaBAAAMSf4pmaW0768.png](https://file.elecfans.com/web2/M00/8B/FE/poYBAGPZ3iuAXaBAAAMSf4pmaW0768.png)
再來(lái)一遍:導(dǎo)入PCB、布局、布線、鋪銅、調(diào)整絲印,因?yàn)橄啾壬弦淮巫隽艘恍└膭?dòng),所以盡量用華秋DFM工具檢查一遍,避免出現(xiàn)一些問(wèn)題。
![pYYBAGPZ3mKACpGxAAGo-LbRnLA603.png](https://file.elecfans.com/web2/M00/8C/83/pYYBAGPZ3mKACpGxAAGo-LbRnLA603.png)
導(dǎo)入GERBER文件后,直接“一鍵DFM分析”,還是比較省事的,綜合評(píng)分92,湊合吧。有警告的那幾項(xiàng)挨個(gè)看一下,確認(rèn)沒(méi)問(wèn)題,就可以確認(rèn)打板…
等下,他們又新添了個(gè)小工具:字符上焊盤分析。有點(diǎn)意思,試一下…還真有點(diǎn)小問(wèn)題:
![pYYBAGPZ3omARXa1AAChTra7zBw134.png](https://file.elecfans.com/web2/M00/8C/83/pYYBAGPZ3omARXa1AAChTra7zBw134.png)
改一下,發(fā)出制板。等待的這幾天,調(diào)整了下程序。兩個(gè)地方,一個(gè)是MSC_MEDIA_PACKET,默認(rèn)是512,改大一些,另外就是堆棧,也改大一些,否則速度上不去。
![pYYBAGPZ3riATRyaAACSmJjjnOI687.png](https://file.elecfans.com/web2/M00/8C/84/pYYBAGPZ3riATRyaAACSmJjjnOI687.png)
項(xiàng)目干貨資料下載
最后,因?yàn)樯婕暗脚笥训睦妫こ淘次募筒环窒砹耍窒硪粋€(gè)USB3300的模塊的原理圖和PCB,以及檢測(cè)工具的下載鏈接。
華秋DFM和AD、阿貍狗一樣,也是電腦端使用的哈。
下載地址(請(qǐng)復(fù)制到電腦端瀏覽器下載):
https://dfm.elecfans.com/up?loads/software/promoter/hqdfm_fsyzlh.zip
其他的資料已經(jīng)放在華秋DFM客戶端的D分商城專區(qū),下載登錄華秋DFM軟件,點(diǎn)擊“訂單管理” - “D分商城”就能看到。
![pYYBAGPZ3x6AYsibAAdbUsMkMCo946.png](https://file.elecfans.com/web2/M00/8C/84/pYYBAGPZ3x6AYsibAAdbUsMkMCo946.png)
-
阻抗
+關(guān)注
關(guān)注
17文章
961瀏覽量
46294 -
PCB設(shè)計(jì)
+關(guān)注
關(guān)注
394文章
4702瀏覽量
86405 -
焊盤
+關(guān)注
關(guān)注
6文章
558瀏覽量
38238
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
液顯ID讀卡器C#小程序開(kāi)發(fā)
![液顯ID<b class='flag-5'>讀卡器</b>C#小程序開(kāi)發(fā)](https://file1.elecfans.com/web3/M00/05/85/wKgZPGeAw16AYHH-AAPCP23Pv_M129.png)
TUSB8041是否支持將USB2.0通道的數(shù)據(jù)編碼到USB3.0通道去?
TUSB121x USB2.0電路板指南
![TUSB121x <b class='flag-5'>USB2.0</b>電路板指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
ARK3399 USB2.0 PC攝像頭控制器規(guī)格書(shū)
德州儀器USB2.0設(shè)備用晶體的選擇和規(guī)格
![德州儀器<b class='flag-5'>USB2.0</b>設(shè)備用晶體的選擇和規(guī)格](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
二代身份證識(shí)別儀身份證閱讀器讀卡器
FPGA + USB2.0 PHY USB3300 實(shí)現(xiàn)高速USB2UART
請(qǐng)問(wèn)ESP32-S3 USB HOST是否支持USB2.0?
矽力杰USB2.0接口ESD保護(hù)方案
![矽力杰<b class='flag-5'>USB2.0</b>接口ESD保護(hù)方案](https://file.elecfans.com/web2/M00/44/F1/poYBAGKIQICAEGYpAAA2Yp6YtLw763.jpg)
源碼系列:基于 FPGA 的 USB2.0 設(shè)計(jì)
網(wǎng)絡(luò)讀卡器_產(chǎn)品手冊(cè)
USB2.0型號(hào)模擬轉(zhuǎn)換USB3.0輸出
stm32f302在調(diào)試USB的時(shí)候發(fā)現(xiàn)USB只支持USB2.0的高速設(shè)備,為什么?
![](https://file1.elecfans.com/web2/M00/DB/3E/wKgZomYrUIWATP9DAAJ1L42KCrM570.png)
評(píng)論