前段時間,幫朋友設計了個小玩意。需求比較簡單,就是用STM32模擬讀卡器,通過TF卡讀寫一些文件,然后再有一些別的功能就可以了。
當時我覺得,這個不難啊,之前做過類似的東西。如果你看過我之前寫的關于STM32的USB的那幾篇文章,復雜了不敢說,鼠標、鍵盤、讀卡器這些還是玩過的。
對成本不算太敏感,于是翻了翻手里還有什么庫存,選了個STM32F4的芯片,USB選用芯片上的USB全速2.0接口,SDIO接口驅動TF卡,再加上其它的一些外設。畫板子加焊接,加調程序,業余時間搞的,兩周不到弄完了。
USB寫入的時候,速度能到800KB左右。朋友說了,操作的都是幾十KB的小文件,所以我感覺夠了。
于是寄過去后,安心摸魚…
哪知道,朋友那邊收到后測了一下說不好用!!!
需求沒有溝通清楚
電話溝通一番,終于搞清楚了。他之前說文件大小只有幾十KB,但是數量多,可能有幾十個。而且這個讀卡器接入的不是我們常用的電腦,是一種工業上用的機器,可以理解為特制的工控機。
顯示器也不是常用的顯示器,只能顯示幾個特定的界面。而讀卡器接入工控機后,工控機會一次性把TF卡里的文件全都拷入機器內部的存儲空間,這個時間不能太長,太常的話會被判別為讀卡器故障。
那幾十個文件的拷入時間預計有幾十秒,太慢了….
我暈,最煩這種事前需求不說清,事后來補充的….
方案調整+第三方工具驗證
改方案吧,USB2.0全速就不行了,要換成高速。
簡單說下USB2.0支持的三種傳輸速度:
1、低速模式,1.5Mbps,換算成字節:187KB/S;
2、全速模式,12Mbps,換算成字節:1.5MB/S;
3、高速模式,480Mbps,換算成字節:60MB/S,實際不超過25MB/S。
STM32F407雖然支持高速模式,但是不能獨立工作,需要外接一個高速的USB PHY芯片,這里選的是USB3300。它是美國microchip公司生產的一款高速USB PHY芯片,外設簡單,價格合適,主要是資料多~~~
既然想要速度快,USB的差分線也要注意下,要考慮90Ω的阻抗匹配。祭出我的工具:華秋DFM!
找到工具里的阻抗計算,打開,輸入線寬與間距,算出阻抗:
再來一遍:導入PCB、布局、布線、鋪銅、調整絲印,因為相比上一次做了一些改動,所以盡量用華秋DFM工具檢查一遍,避免出現一些問題。
導入GERBER文件后,直接“一鍵DFM分析”,還是比較省事的,綜合評分92,湊合吧。有警告的那幾項挨個看一下,確認沒問題,就可以確認打板…
等下,他們又新添了個小工具:字符上焊盤分析。有點意思,試一下…還真有點小問題:
改一下,發出制板。等待的這幾天,調整了下程序。兩個地方,一個是MSC_MEDIA_PACKET,默認是512,改大一些,另外就是堆棧,也改大一些,否則速度上不去。
項目干貨資料下載
最后,因為涉及到朋友的利益,工程源文件就不分享了,分享一個USB3300的模塊的原理圖和PCB,以及檢測工具的下載鏈接。
華秋DFM和AD、阿貍狗一樣,也是電腦端使用的哈。
下載地址(請復制到電腦端瀏覽器下載):
https://dfm.elecfans.com/up?loads/software/promoter/hqdfm_fsyzlh.zip
其他的資料已經放在華秋DFM客戶端的D分商城專區,下載登錄華秋DFM軟件,點擊“訂單管理” - “D分商城”就能看到。
-
阻抗
+關注
關注
17文章
941瀏覽量
45834 -
PCB設計
+關注
關注
394文章
4671瀏覽量
85319 -
焊盤
+關注
關注
6文章
548瀏覽量
38094
發布評論請先 登錄
相關推薦
評論