前段時間,幫朋友設(shè)計了個小玩意。需求比較簡單,就是用STM32模擬讀卡器,通過TF卡讀寫一些文件,然后再有一些別的功能就可以了。
當(dāng)時我覺得,這個不難啊,之前做過類似的東西。如果你看過我之前寫的關(guān)于STM32的USB的那幾篇文章,復(fù)雜了不敢說,鼠標(biāo)、鍵盤、讀卡器這些還是玩過的。
對成本不算太敏感,于是翻了翻手里還有什么庫存,選了個STM32F4的芯片,USB選用芯片上的USB全速2.0接口,SDIO接口驅(qū)動TF卡,再加上其它的一些外設(shè)。畫板子加焊接,加調(diào)程序,業(yè)余時間搞的,兩周不到弄完了。
USB寫入的時候,速度能到800KB左右。朋友說了,操作的都是幾十KB的小文件,所以我感覺夠了。
于是寄過去后,安心摸魚…
哪知道,朋友那邊收到后測了一下說不好用?。。?/strong>
(⊙o⊙)納尼?
需求沒有溝通清楚
電話溝通一番,終于搞清楚了。他之前說文件大小只有幾十KB,但是數(shù)量多,可能有幾十個。而且這個讀卡器接入的不是我們常用的電腦,是一種工業(yè)上用的機(jī)器,可以理解為特制的工控機(jī)。
顯示器也不是常用的顯示器,只能顯示幾個特定的界面。而讀卡器接入工控機(jī)后,工控機(jī)會一次性把TF卡里的文件全都拷入機(jī)器內(nèi)部的存儲空間,這個時間不能太長,太常的話會被判別為讀卡器故障。
那幾十個文件的拷入時間預(yù)計有幾十秒,太慢了….
我暈,最煩這種事前需求不說清,事后來補(bǔ)充的….
方案調(diào)整+第三方工具驗證
改方案吧,USB2.0全速就不行了,要換成高速。
簡單說下USB2.0支持的三種傳輸速度:
1、低速模式,1.5Mbps,換算成字節(jié):187KB/S;
2、全速模式,12Mbps,換算成字節(jié):1.5MB/S;
3、高速模式,480Mbps,換算成字節(jié):60MB/S,實際不超過25MB/S。
STM32F407雖然支持高速模式,但是不能獨立工作,需要外接一個高速的USB PHY芯片,這里選的是USB3300。它是美國microchip公司生產(chǎn)的一款高速USB PHY芯片,外設(shè)簡單,價格合適,主要是資料多~~~
既然想要速度快,USB的差分線也要注意下,要考慮90Ω的阻抗匹配。祭出我的工具:HQDFM!
找到工具里的阻抗計算,打開,輸入線寬與間距,算出阻抗:
再來一遍:導(dǎo)入PCB、布局、布線、鋪銅、調(diào)整絲印,因為相比上一次做了一些改動,所以盡量用HQDFM工具檢查一遍,避免出現(xiàn)一些問題。
導(dǎo)入GERBER文件后,直接“一鍵DFM分析”,還是比較省事的,綜合評分92,湊合吧。有警告的那幾項挨個看一下,確認(rèn)沒問題,就可以確認(rèn)打板…
等下,他們又新添了個小工具:字符上焊盤分析。
有點意思,試一下…還真有點小問題:
改一下,發(fā)出制板。等待的這幾天,調(diào)整了下程序。兩個地方,一個是MSC_MEDIA_PACKET,默認(rèn)是512,改大一些,另外就是堆棧,也改大一些,否則速度上不去。
編輯:黃飛
-
顯示器
+關(guān)注
關(guān)注
21文章
4970瀏覽量
139925 -
usb
+關(guān)注
關(guān)注
60文章
7936瀏覽量
264472
原文標(biāo)題:【經(jīng)驗干貨】一個略有坎坷的USB2.0高速讀卡器(文末有資料)
文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論