前段時(shí)間,幫朋友設(shè)計(jì)了個(gè)小玩意。需求比較簡單,就是用STM32模擬讀卡器,通過TF卡讀寫一些文件,然后再有一些別的功能就可以了。
當(dāng)時(shí)我覺得,這個(gè)不難啊,之前做過類似的東西。如果你看過我之前寫的關(guān)于STM32的USB的那幾篇文章,復(fù)雜了不敢說,鼠標(biāo)、鍵盤、讀卡器這些還是玩過的。
對(duì)成本不算太敏感,于是翻了翻手里還有什么庫存,選了個(gè)STM32F4的芯片,USB選用芯片上的USB全速2.0接口,SDIO接口驅(qū)動(dòng)TF卡,再加上其它的一些外設(shè)。畫板子加焊接,加調(diào)程序,業(yè)余時(shí)間搞的,兩周不到弄完了。
USB寫入的時(shí)候,速度能到800KB左右。朋友說了,操作的都是幾十KB的小文件,所以我感覺夠了。
于是寄過去后,安心摸魚…
哪知道,朋友那邊收到后測(cè)了一下說不好用!!!
(⊙o⊙)納尼?
需求沒有溝通清楚
電話溝通一番,終于搞清楚了。他之前說文件大小只有幾十KB,但是數(shù)量多,可能有幾十個(gè)。而且這個(gè)讀卡器接入的不是我們常用的電腦,是一種工業(yè)上用的機(jī)器,可以理解為特制的工控機(jī)。
顯示器也不是常用的顯示器,只能顯示幾個(gè)特定的界面。而讀卡器接入工控機(jī)后,工控機(jī)會(huì)一次性把TF卡里的文件全都拷入機(jī)器內(nèi)部的存儲(chǔ)空間,這個(gè)時(shí)間不能太長,太常的話會(huì)被判別為讀卡器故障。
那幾十個(gè)文件的拷入時(shí)間預(yù)計(jì)有幾十秒,太慢了….
我暈,最煩這種事前需求不說清,事后來補(bǔ)充的….
方案調(diào)整+第三方工具驗(yàn)證
改方案吧,USB2.0全速就不行了,要換成高速。
簡單說下USB2.0支持的三種傳輸速度:
1、低速模式,1.5Mbps,換算成字節(jié):187KB/S;
2、全速模式,12Mbps,換算成字節(jié):1.5MB/S;
3、高速模式,480Mbps,換算成字節(jié):60MB/S,實(shí)際不超過25MB/S。
STM32F407雖然支持高速模式,但是不能獨(dú)立工作,需要外接一個(gè)高速的USB PHY芯片,這里選的是USB3300。它是美國microchip公司生產(chǎn)的一款高速USB PHY芯片,外設(shè)簡單,價(jià)格合適,主要是資料多~~~
既然想要速度快,USB的差分線也要注意下,要考慮90Ω的阻抗匹配。祭出我的工具:HQDFM!
找到工具里的阻抗計(jì)算,打開,輸入線寬與間距,算出阻抗:
再來一遍:導(dǎo)入PCB、布局、布線、鋪銅、調(diào)整絲印,因?yàn)橄啾壬弦淮巫隽艘恍└膭?dòng),所以盡量用HQDFM工具檢查一遍,避免出現(xiàn)一些問題。
導(dǎo)入GERBER文件后,直接“一鍵DFM分析”,還是比較省事的,綜合評(píng)分92,湊合吧。有警告的那幾項(xiàng)挨個(gè)看一下,確認(rèn)沒問題,就可以確認(rèn)打板…
等下,他們又新添了個(gè)小工具:字符上焊盤分析。
有點(diǎn)意思,試一下......還真有點(diǎn)小問題:
改一下,發(fā)出制板。等待的這幾天,調(diào)整了下程序。兩個(gè)地方,一個(gè)是MSC_MEDIA_PACKET,默認(rèn)是512,改大一些,另外就是堆棧,也改大一些,否則速度上不去。
項(xiàng)目干貨資料下載
最后,因?yàn)樯婕暗脚笥训睦妫こ淘次募筒环窒砹?,分享一個(gè)USB3300的模塊的原理圖和PCB,以及HQDFM工具的下載鏈接。
HQDFM和AD、阿貍狗一樣,也是電腦端使用的哈。下載地址(請(qǐng)復(fù)制到電腦端瀏覽器下載):
https://dfm.elecfans.com/uploads/software/promoter/hqdfm_dzfsy_hdzwz.zip
其他的資料已經(jīng)放在華秋DFM客戶端的D分商城專區(qū),下載登錄華秋DFM,在D分商城專區(qū)就能看到。
D分商城專區(qū)入口
在新頁面的導(dǎo)航欄點(diǎn)擊“我要推廣”,進(jìn)入D分專區(qū)
進(jìn)入專區(qū)后,在頁面最下方,直接點(diǎn)擊圖片去百度云盤自取(不用兌換)
審核編輯黃昊宇
-
芯片
+關(guān)注
關(guān)注
452文章
50206瀏覽量
420888 -
PCB
+關(guān)注
關(guān)注
1文章
1771瀏覽量
13204
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論