話說剛抓完人家一個在VISTA 上奇怪的測試問題後,


一位輾轉經由朋友介紹的台中朋友也有不同的USB 奇怪現象...


他的USB 平台是 Embedded system 執行  Windows CE 的!


Of Course ....人家是ARM9 平台的...這樣的組合不就是大家目前所最熱衷的嗎?!


版主只能說生不逢時,這種平台一直沒機會好好研究...


今天剛好有人願意把這東西分享給版主...版主就交個朋友吧!


------


這顆IC可不是我們台灣local 的IC 喔~否則,原廠早就被叫來罰站了囉!


人家可是鼎鼎有名的國外大廠--- xxx ,嘻...嘻...目前還不能講出來 ....


否則會被海K的!---不過,我們還是就事論事的看看他所發生的問題點...


功能很簡單:人家利用他的ARM9 接USB 滑鼠及讀隨身碟資料 ! ---夠稀疏平常了吧!


但很奇怪的是:隨身碟稍微讀一下就會死機....


人家好可憐喔~被人家怪說:版子硬體不乾淨,造成讀資料不穩...


已經重複洗了PCB好幾版...還是六層外加一片四層版....夠可憐了吧!


----


剛開始版主也是懷疑是板子的問題,因為,他們發現有些板子會發生問題,有些不會....


但經由USB Anaylser 分析後....


版主是越來越覺得這號稱 ARM9 IC的USB介面可能有問題...


------------------------------------------------------------------


大家都很想學USB的東西....但學東西容易,要會抓USB問題就沒那麼容易了...


就像許多人會寫程式,但是如何程式偵錯與除錯...呵...呵...就不容易啊!


------------------------------------------------------------------------------------


現象一:



    為何在讀隨身碟的 BOT 過程中,隨身碟突然收到一個 RESET ?


(一般這種RESET 大多是HOST 發出的!.. USB Device 端是不會發這種命令的!

原本以為是硬體的電路問題,但從USB Inspector 上來看這個訊號...

因為訊號是很漂亮的...為什麼?!因為沒有『紅紅的』啦!

----什麼是『紅紅的』?您看下圖就知道了...

版主開始是比較不覺得是硬體電路版的問題!)


上圖中的這個有錯誤的 Packet 的現象,這應該完全是 HOST 發出來的東西!

而且是CRC 值錯誤。....光這點就讓我越來越覺得這個USB HOST可能真的有問題?!

----

   這裡有一個很好玩的事:當您的USB裝置上有接高速裝置又接低速裝置

(像滑鼠這種東西時...) 您就會看到這些很討厭的  PRE 的東西...

什麼是討厭的?!因為您USB線上就有一大堆『閒雜人士』...

這對一些不是很熟練的USB工程師來說,是很辛苦的!


嘩~ 竟然有錯誤的Packet size.... 不過,這個問題很難說是 USB Device 的問題!


因為資料的錯誤是從USB 的Packet ID 就錯了~USB HOST 也有嫌疑...



然後在看到這個問題...呵...呵...呵...呵... 真的要懷疑USB HOST有問題了!


這個問題就更離譜了,為何 USB Device 已經回正確的  64 Bytes 資料,

為何 HOST 端卻沒有回 Ack 呢?!而且就直接重新發出Enumeration 命令?!

 

 看這個圖可以從兩個方向來判斷錯誤....(如果我是原廠的工程師的話...)

第一:會不會是啓B頻寬問題?!最後一筆64 bytes 會不會SOF的關係而造成ACK沒發?! 

第二:會不會是那個低速裝置造成USB控制錯亂?...

 

所以,我們就把SOF及NAk 打開看:


看來上述的兩個懷疑點不成立了.... 因為以BOT 來說 :兩個 SOF之間的頻寬還蠻充裕的...


而且那個低速裝置的Protocol 也是在五個SOF 才發出的!...


HOST  該回的ACK 真的"人間蒸發" 了?!

原本以為是是那個低速裝置的Protocol 所引起的...

但看到那個低速裝置的Protocol 是在五個SOF 後才發出的~

.....

這個ACK 為何HOST沒發出來?就真的要原廠好好的解釋一下了!

 

   光是這個現象,不要說怪板子硬體的問題...原廠得好好解釋一下這個問題了...

----

 

    後記:很好玩吧 ! 我們作系統應用的,往往拿了一個平台就拼命的往下作應用。

 

有時不會懷疑人家的平台有問題...尤其是國外來的『名牌』....

 

但是當您看到這個問題時,您要不要勇敢的去質疑人家的平台?!

 

.... 所謂的勇敢與勇氣就是來自於您的專業....

 

專業就是來自於您的學習與專注.... 或許,從這個小小的案例,

 

可以提供給時下作USB 的工程師們一個值得借鏡的學習典範!

 

若有任何問題,也歡迎隨時提出!

 

也分享給各位! 謝謝指教 !

 
arrow
arrow
    全站熱搜

    賈老師的真老公 發表在 痞客邦 留言(1) 人氣()