自從版主從前一年開始寫USB DIY 相關文章後,
好像迴響不少,其中一項蠻好玩的事,讓版主可以透過這個機緣,
可以認識不少人....其中,還包括一些以前在學校時的學長學弟...
而這個問題就是版主學校系上的一位學長的問題....
這一件多不簡單的事啊~因為版主本身不是念電子電機的...
所以,系上的學長學弟就本來很少會在這個領域...既然我還可以遇到只差一屆的學長...
誠屬不易啊!
-------------------------------------------------
學長是出國唸書後,念無線通訊的....也算是喜歡DIY 的一位性情中人...
學長是作 Blue-tooth 的,還是用ARM平台的,這是版主一直很羨慕的技術領域...
這點還不得不肅然起敬...
但卻聽到說:一個USB Blue-Tooth Dongle 只賣台幣一兩百塊?!怎麼這麼賤賣呢?!...
---
話說學長一天DIY了一個無線通訊的USB 平台,卻常常通訊不正常(USB介面),
找不到問題發生的地方...所以請教版主有何方向釐清問題。
所以,一天中午學長就抱著平台來版主上班的辦公室找版主討論...
答案就在幾分鐘內就找到了...其實這個答案相信許多想作 USB DIY 的人值得參考一下...
-----
圖一:我們順便複習一下USB基礎的東西,雖然版主不知道 Blue-Tooth 的東西,
但是從USB還可以解讀一些東西....
(所以,有機會學會一套技術之後,您就可以從此擴散自己的技術領域....)
這個東西,基本上就是所謂的三三架構吧!不知道的人可以複習一下:
http://chamberplus.myweb.hinet.net/usb_diy2.htm
從這張圖看來沒有多大問題喔!
那在那三三之後怎麼會有一個 In Token 呢?!
嘻~嘻~答案是這個 In token 是不同的 Endpoint 的 (Endp = 0x01)
所以,他是屬於 Bulk-In 的...不甚了解箇中道理的就得好好再努力一下USB 喔!
圖二:很明顯我們已經看到一些問題點了...分析儀『見紅』...
糟糕,這極大可能是硬體的問題了...繼續往下看...
圖三:我們發現在 Bulk Out 之後的 In token 之後,出現許多 紅色的PID (Packet ID)...
這代表是USB Device 回的電器特性跑掉了...
以版主的經驗來說:這個紅色的PID 有可能是應該回 NAK !....
所以,我們把USB 分析儀的NAK檢視機制打開....就得到圖四了!
圖四:果然我們看到了許多 NAK 原本的面貌了...(NAK 的PID 為 0x5A)
所以,很明顯的USB傳輸線上的電器特性跑掉了...
(如果,猜得沒錯的話,一般我們稱之為 Eyes Diagram 一定偏離了...)
----
回頭看學長的DIY實驗版, 糟糕....他PCB 版許多DIY的跳線...
裡面竟然也有USB 的 D+ 與D- ....您們不要笑。所謂 DIY 就是這樣子,
不是每個DIY 的人都可以隨隨便便得出PCB圖去作PCB版的...
發表這一篇是要告訴大家:作USB 也不能隨隨便便的用跳線 DIY一下的,
他的下場就是如此....或許,您沒有親身經歷過...但這種東西就是如此。
這個還只是USB 1.1 的東西而已呢!
----
後來,學長的這個問題不知有沒有解掉了沒?!
(實在抱歉了,版主作電子這麼久了...唯一學不起來的就是PCB layout,
不之有哪為善心人士或大德人士願意教一下的呢?!)
但也希望每個喜歡DIY 的人士都能慢慢的從中找到一些屬於自己的樂趣!
學長,加油了喔!...