2007年5月30日 星期三

電腦中毒了...

沒想到這麼可怕的事情會發生在我的身上...

這兩天還用vc ++ 寫一些簡單的測試程式....

沒想到就這麼發生了....

不過,可以算蠻幸運的...不是什麼防毒軟體偵測到的...

竟然是我在寫vc++ 程式發現的...

症狀 :原來寫 vc++ 時都會利用他原本的debug 模式來作程式除錯...

原本一切都很正常...突然這個功能就失效了...

跑出一段程式來攔我的程式:

00F8797E pushad
00F8797F call 00F8798A
00F87984 mov esp,dword ptr [esp+8]
00F87988 jmp 00F87996
00F8798A xor esi,esi
00F8798C push dword ptr fs:[esi]
00F8798F mov dword ptr fs:[esi],esp
00F87992 int 3
00F87993 push es
00F87994 jmp 00F8797E
00F87996 rcr eax,0D1h
00F87999 xor edx,edx
00F8799B pop dword ptr fs:[edx]
00F8799E pop edx
00F8799F call 00F879A4


就是這一行 00F87992 int 3.....
.... 跳不出去.......

(int 3 這個軟體中斷是一個很有用的指令...但他卻出現在不應該出現的地方..)

..... 找了一天...終於找到病灶...

答案揭曉: 果然是中毒了 !

中什麼毒....就是網路上很有名的木馬毒....就是在system32\那一支 msdll.dll 在作怪...

(msdll.dll 這個檔案,別懷疑...他就是一支病毒程式...)

他就是會攔您 VC++ 的debug ....還真神奇...

這個病毒會影響到我們這些VC++的程式開發者...

不知病毒原始創造者是不是也是用VC++寫病毒的?!

至於解法?!我是在網路google 裡敲進"msdll.dll" 您就可以找到一堆解法....

解了就一切回復正常了.... 感謝網路上許多人的分享...

也把這個慘痛的經驗分享給各位!...

------

PS: 搞了很晚才解掉.... 才發現離好友兼同事 hsinhwa 的生日結束只剩27 分鐘...

就順便祝他生日快樂...也祝我的電腦重獲新生...

 

2007年5月23日 星期三

輕巧機械人--PLEN

我想如果您是有在留意日本一些機械人產品的,

應該對於這一隻PLEN 不陌生才對。

個人是覺得KONDO 的機械人看起來有點像原型概念機...太粗糙及龐大了。

這一隻看來就精緻多了.... 所以,LEO 大大您作的那隻機械人算是很接近這個觀念了。

其實 LEO 大大那天您所提到那個機械人重量問題,個人是蠻贊同的。

我們不是要作一隻機械人來搬東西的....好玩嘛..就是要這樣子小巧可愛型的。


   像LEO大大是比較偏機械機構部分,當然機械人這種東西絕對是高度的機電整合的東西。

缺一不可,但相對來說:要成功也不容易。不過像LEO大大或是台南的pcedison  (小謝)

把這種東西當作一種正當的休閒活動,乃至投入研究實令人感動...

雖然版主也算是學機械的,以前家裡也開鐵工廠的...

也幹過學徒,車床鑽床或是冷作中的電弧銲都摸過....

但現在手邊實在都已經沒有任何『道具』可玩了...

所以,現在是比較專注於電子韌體部分...

(以前師傅老爸,也希望我能多從事往自動化方向發展 ...也算是沒有辜負師傅老爸...

只不過,您以前所留下的技術我都快忘光了,雖然我還留著您一把您所使用的

計算尺當永恆的紀念....)

而這一部份也比較少人會留意到,版主也特地把這一份資訊也分享給諸位 :

他18 動的伺服機外加電池的總重才 700 g --- LEO 大大跟您設定目標很接近喔。

不過,人家用的是 ARM 7 的CPU,就比您的8051強多了...

若對於此支機械人的動作細膩度有興趣的。可以上YouTube 隨便搜尋一下就可以了。

 

    版主是對於他的無線裝置是比較有興趣,LEO 大大您還記得那天版主跟您提的想法嗎?!

或許我們可以努力的實驗看看喔?!


2007年5月22日 星期二

我為何要用USB介面呢?--- 外一章

謝謝學長的回應留言:

http://chamberplus.blogspot.com/2007/05/usba.html#638

---這個"不得已",還說得有點無奈啊。相您如果您是學校的學生在作專題的,

應該感觸更深吧。

-------

昨天晚上因為佔地利之便,去拜訪了一家一樣有作 ROM Emulator 的公司:

http://www.samedisk.com/cht/

應該也算是有著共同興趣的..... 還相談甚歡,雖然看起來是有點同行互忌。

    不過,產品之間還是有所差異的。人家是主要以Serial (SPI)  ERPOM 介面為主。

所以,所面對的是比較高速的應用領域。這一部份在介面的速度要求是蠻高的。

這一部份幾乎都得靠硬體功力,很不幸這個就是版主的罩門....

想一想一樣一顆MCU 只要跑個 4MHz 的話,

轉成Serial 來看,不就少說 32 MHz 或是40MHz 以上。

所以下回您若是需要Serial 介面(SPI) 的 EEPROM 的ROM Emulator 的話,

可以跟他們聯絡,當然價格就自己要拿捏一下吧。....

畢竟人家所定位的市場不是一般SOHO 族的。

 

-------

最後回答一下:別人問版主的問題:

>>>請問版大你用的USB Analyser 是那一家的ㄚ
>>>請版大推荐幾款好用的USB Analyser
>>>1.如果是實驗室要用的哪個比較好
>>>2.自己想買來玩的哪個比較好

版主的USB analyser 是 CATC 的 USB inspector .... 一台時代很古老的機器...

如果是別人出錢買的 ,當然還是以CATC 這家為首選 。過去有許多
公司為了不讓CATC 敲竹槓就買了別的品牌....結果,到頭來,還是回頭又買了一台 CATC 的 ....不要笑,版主真的遇過這種情況...

版主不是幫CATC 作廣告...他的真的太貴了.....這絕對是事實!!

----
若至於個人想買回來玩的話....個人的建議是:隨緣吧!不要太勉強自己的財務狀況。除非您真的可以靠作USB 產品賺到錢。
... ^_^....

2007年5月20日 星期日

朋友開的瑜珈教室

   

      這是一位朋友老婆開的瑜珈教室...

我怎麼交的朋友都是365 行都有呢?!奇怪了囉 ...

版主想學瑜珈應該對於雕塑身材有所幫助吧 ...看了課程還真有點心動呢...

重點是...一堂課才 100 元....比上那個健身房還便宜...還有教練...

XX:您老婆真的是交朋友的...還只是造福人群的呢?!您還真幸福呢!

地點就在新竹市區大遠百附近...大家就參考看看...

以下是朋友的廣告詞:

-------

>>>我老婆的瑜珈教室要開了, 她目前授課於旺宏, 奇景, 敦南, 中華大學, 實驗中學, 救國團

>>>學生的口碑都很好,

>>>她的風格是注重安全及個人化差異, 避免學生拉了一身傷回家

>>>另外也很重視功能性講解, 希望對學生確實有幫助

>>>報名專線5249379   0928054258

....

2007年5月18日 星期五

我為何要用USB介面呢?(一A)

以下是我在USB LAB 論壇上所得到的回應:

http://www.usblab.idv.tw/phpbb2/viewtopic.php?t=1947

 主要有一點是版主當初沒有留意到的:就是USB 帶電源這一點!

這的確是一點很重要的 issue ,在一般應用上....

只是很好玩的一件事:當版主開始接觸USB時,這時一般IC大多已經都跑在

3.3V 的工作環境...(一方面是製程都已經走到0.35 um 製程了,而且USB內部是跑 48 MHz...)

但在USB 的接線規格卻是停在 5.0VDC,雖然有時會造我們應用上還要一顆 5V-> 3.3V 的穩壓IC,

但卻在許多應用上也提供不錯的電源...

感謝 miller 大大的提醒與附加註解。  希望往後相關的議題討論可以獲得更多的迴響...

謝謝!

>

>

以下即是 miller 大大所提供的觀點: 我們給他拍拍手...  ....

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

小弟分享一些學習USB的看法
//--------------------------------------
使用USB就是有幾個特點1.USB供電 2.快速傳輸 3.使用者介面
1.USB供電
USB port可以提供 4.5~5.25V 500mA的電源, 在某些場合滿適用的...可以直接使用USB的電源就好,就不需要 再向 UART or Print port 偷那一些些小小的電源..
目前的電源轉換技術已經作的很成熟了, 5V已經可以轉換成大部分的正負電壓, 算是已經很好用囉...

2.USB快速傳輸..
PC UART的最快速度 921600bps / 10bit (n,8,1) =92,160 byte ,也就是說uart的最大速度就是92.16 kbyte, 如果傳輸資料遠小於這個數值, 那就使用 USB to UART bridge吧. 好處有
1. 僅需更改小部分電路 , 將hin232更改成 usb to uart bridge 就可以囉
2. usb供電...這是一定要的拉
3. 廠商提供 driver for any OS
4. pc的AP 僅需座小部分的更改
5. FW不用更改

3.使用者介面..
目前的nb幾乎都沒有 com port了, com port的裝置都需要透過 usb to uart bridge 來使用, 但是 原先的ap 或是 提供的driver 常常是無法控制該VCP
(虛擬com port). 所以 設計一個不用自行安裝的usb device是有必要的.最常用的就是 USB HID囉, driver不用寫.. AP很容易寫..所有的OS幾乎都能用..所以大家都只想設計USB HID device. 但是USB HID能多快呢? 64K byte/s....

以上供給學習USB的新手參考.不一定要將所有的裝置改成USB介面, 但是有共學習了解USB是有好處的...

2007年5月15日 星期二

我為何要用USB介面呢?(一)

  自從版主從Hinet 的免費網頁架設有關USB 相關技術議題之後,

就經常接到類似的問題,從各行各業都有(也沒那麼誇張,我還以為包括作特種營業的啦,

這些各行各業都是屬於電子領域類的啦!)。

所以版主就稍微整理及分析一下之諸位的想法,以後有類似的問題,就麻煩各位爬一下相關文章,

當然啊~奇奇怪怪的不勝枚舉,所以版主就預留一些伏筆,就是標題把他列成系列方式。

------

           在PC端使用USB端口有幾個考量點:

第一:是為了方便性,這部分的想法就有點像傳統的UART (RS232)或Parallel 的方式。
            如果是這樣子的話,就買一條USB 轉RS232 的Cable 就好了。
           不要給自己添太多麻煩事吧!(作電子的日子過得太舒服?!)   
            ------什麼事都可以解決,包括PC端的應用程式。
 
第二:有點速度上的考量,譬如RS232 真的慢到可以打個盹的話,若得跟傳統的
            parallel 有點接近的話,那就得考量USB 了,因為此時他也兼具第一點的優點。
            ----- 這時就會碰上所有USB DIY一族的惡夢了,選IC 解決方案,PC端應用程式。
            其實,這部分也有許多發揮空間可以揮灑的,包括調通訊介面或通訊介面等。
            可以把一些想法發揮到淋漓盡致的。----
 
第三:我真的需要很高速的傳輸介面喔?!最好是USB 2.0 的Controller 。
            然後,我問他為什麼?!...不知道!---
            這一種版主常心裡想是:不知量力....或換個方式想:太自以為中心的思維模式。
            更通俗一點的說法是:不知人間疾苦....台客說法:吃米不知米價!
            您要俗擱大碗的 USB 2.0 Controller ?!...雖然現在台灣北部滿街都是IC設計公司。
            (快跟賣珍珠奶茶店差不多了...)  但也不是拿錢作功德啊!
            您知道USB 2.0 Controller 要用多少製程的晶圓代工, 您有多少市場需求請人家開IC呢?!
            ----
            若一般DIY 或是做一般Utility tools 的介面的話...
            (版主指的就是,您一個月的使用量或是Total 使用量不到100 K以上的話) ,
            一般來說 USB 1.1 就夠用了,而那些有所謂的 USB 2.0 的需求來說:一般就被所謂的
            ASSP (Application-Specific Standard Product) -- SOC 或您也可以說是
            ASIC(Application-Specific IC) 給包辦了----
             因為現在開IC 不難,滿街都是IC設計公司啊。
             ...因為USB 2.0 的速度比較快,所以一定得用高階製程的晶圓生產....
             若生產量沒有一定的經濟規模的話...是沒有IC設計公司會笨到去燒錢的.... 。
             >
             所以,版主不認為會有在一般通俗的(General purpose) 的USB 2.0 的IC是
             又便宜又好用的。有時您還不如拿那些ASSP 的IC來用還比較快一點。
             或是回到 Cypress 或一般USB 1.1 的 Controller 好好的依照版主網頁裡的方法,
             好好的調教一下您的USB Performance。

 
第四:道聽途說。別人都在用USB,沒有用USB 覺得很落伍,知其所以然,卻不知所然。
            (注意喔:不是一般的說法喔,是倒果為因的喔!)
            結果就一直抓不到USB 應用方向...
            選解決方案就像廣告所說的:吃這個也癢,吃那個也癢!一直拿不定主意。....
 
第五:我要學USB , 一定要把他學會....日後一定會用得到的....喔~不錯,版主非常鼓勵,
           但既然是學習階段,那麼態度也要謙卑一點嘛?!來信提問題,也要留個名號吧!
           想像一下,人家在一些研討會會場也都會留一本簽名簿...您嘛多少簽一下名吧!
           簽個假名也沒人鳥您啊!---有這麼難嗎?!----這一點純版主抱怨....
 
第六:想認識版主。或想找尋是否是失聯多年的老友或損友,乃至冤家債主....不會吧!
           ---- 不難吧,只要您在台灣北部就很容易找得到版主的,跟版主約一下就可以了。
 
第七:想賺錢,這一點我想應該是絕大多數的原因吧!那您也可以偷偷告訴版主一下,
           ,現在還可以靠USB產品賺大錢? 版主或許可以不問任何原因傾全力支持囉!
 
第七:一定還有其他因素...版主現在還沒想到...(沒時間整理!) 
 
     作USB 應用跟一般作系統應用是一樣的,不要太迷信名牌或解決方案。
人家HP給台灣代工也不會老是那一兩家公司啊,因為所有的技術都會有他一些
您所無法一切掌控的因素。---所以,還是得回到自己的理性的判斷能力。
 
    許多USB 應用都是千奇百怪的....或許,下一回合,版主就用一些實際案例來說明之!
 
謝謝!

機械人玩家

上週五因公出差到南部,就趁機去一下台南,

跟幾位常在機械人論壇(http://www.robofun.net/forum/index.php) 的朋友碰面,

交換了一點心得...如LEO 、ayu 及pcedison 。(想了一想還是不要把諸位大大的照片公布)。

LEO 作的那隻兩足機械人,真的很不錯:

 
尤其欽佩的是:LEO 是念機械的,因玩機械人而接觸8051 ,卻有這樣的成績...
 
雖然只是短暫的碰面...但也達到一些技術交流目的。
 
因為大家好像對於PC 端一隻可以透過UART 下載數據的軟體有一些需求,
 
剛好版主以前也有用VC++寫過....(很久以前的事了...)
 
只好再拿出來溫故知新一下....等版主一些相關的電子軟體弄完後...
 
一定要去跟LEO  弄一隻兩足機械人回來玩玩...
 
或許,這件事情是可以期待的喔.....
 
 
 

2007年5月9日 星期三

結婚鬧劇》落跑新郎

  我可要問一問賈老師:誰是李阿姨?!我有認識嗎?!
  
   然後,外加一點的是:感謝各位舊雨新知的支持,讓版主的兩個網頁,
分別破萬以及 破六萬大關...尤其那個六萬大關,其實一直無法再加入新的素材,還可以一步一腳印的邁向六萬大關...除了感謝,還是感謝...感溫 !!
   

耕讀園廁所文學

   現在類似的餐廳也是蠻多了...但畢竟這家的也算是蠻早期的...
或許現代的人們都缺少這一份悠閒感吧!
不過,我們賈老師也倒是能體會到其悠哉的一面....
隨手拈來,就是一篇短文...
    或許,誠如別人所號召的:關掉您家的電視吧。留給家人一點互動的時間...
我們有時都可以跟別人聊心事...但為什麼有些話不留給最親密的家人呢?!
----母親節快到了,雖然自己的母親大人不在了....
不過,還是由衷的祝福天下的母親們,有個溫馨又窩心的假期。
當然包括我們辛勞的賈老師....母親節快樂。

2007年5月8日 星期二

8051 Code Banking

雖然是 Keil C 裡的8051 的寫法...版主還是把他歸納成USB DIY 之一類...

想必這幾年來,USB Controller 內含8051 的程式也都不小了吧。

其實,版主這一兩年已經很少用 Keil C 寫 8051 的程式了...

當初也是以自學方式學會Keil C 的...當初同事都還是用組語寫程式...

(當初也不是所謂的 Keil C 的uVision 環境,那時還叫做 Franklin C呢!)

很辛苦的學會後,卻又因緣際會的參與MP3 晶片開發,當初開發團隊用的開發平台就是 Keil C。

套一句兵家之書所云:用兵之法,無恃其不來,恃吾有以待之;無恃其不攻 ,恃吾有 所不可攻也...

所以,有些技術領域的東西,誰都很難料得到哪天您會用得到呢?!

------

    標準的8051 基本上他有 8 bit Data bus 及16 bit Address bus 。

所以,他的程式記憶體與資料記憶體的定址能力就是 64KBytes (2**16)。

以前來說:兩者各64KBytes 是綽綽有餘的....但現在來說,可能就有點辛苦了。

所以,大家就想擴充這方面的需求....

以資料記憶體空間來說:是比較容易一點的,因為我們程式要Access 記憶體的那個位址的話,

是可以事先利用純I/O 當高位元的地址線...也就是另一種切data Bank 的方式。

譬如,您可以拿 P1.0 當 A16 用。依此類推....

這一部份想必大家在使用上應該沒有多大問題...

但是若是 程式記憶體的擴充方式,就比較難了,因為這個方式會牽涉到組譯程式與開發平台的應用。

要如何作到我們寫的程式會自動的切換不同的 程式記憶體空間呢?!....

當然最好的方式就是組譯程式幫我們處理掉,讓我們寫起程式來一樣方便?!

所以,Keil C 就提供了這樣子的功能...(這點大家可能都不清楚喔...)

大家都沒有留意要原廠的使用說明書....可見大家還都不夠用功... 

---------

   在此我們就利用KEIL C原廠的資料來說明:

    首先我們發現,Keil C 會幫我們處理這一部份,但也是有代價的,

就是每一次程式跑到跨Bank 時,就會多50 個Cycles 及多兩個 Bytes 的Stack 空間。

(如下圖紅色標示處)

    

           至於,ROM Code如何切 Bank 方式,Keil C 共提供了四種方式...

說真的,版主只用過第四種(mode 4) ,但看過或研究過他的資料後,

其實,Mode 4 在使用上會比較簡單而易懂...其他的版主就覺得不怎麼容易接線。

注意喔,不同的Mode 的切Bank 方式也都跟8051 外部接線息息相關喔。

這一點您們就要去研究Keil C 的範例了喔。下面一張圖就是 Mode 4的接線圖。     


     重點就是8051 在Access 程式碼時,所連帶的控制訊號線為ALE ,所以,

這條ALE線就是拿來latch 外部控制信號線的 ....至於程式定址線,就得犧牲一些I/O 線了。

下圖所示的就是 P3.3 當A16 ;P1.5 當A17 ,所以程式碼的定址能力就可以達到256 Kbytes 了。

但是要注意的是:這種定址方式對於8051 來說也不知道的說!

因為畢竟8051的定址能力還是只有 A0~A15 (64Kbytes的 ...)。

所以,圖的下方就標示出他切Bank 的方式。


      但是,硬體電路的方式還是得靠組譯程式才有辦法發揮功效的,否則也是白搭的。

所以,當您選擇利用這種方式來切 ROM Code Bank 時。開發程式就必須加入一段控制程式:

L51_Bank.A51---不好意思,就是組合語言...您說學組合語言重不重要?! 呵...

 這個程式其實蠻容易懂的....但一定要看得懂。因為,您下回切Bank 的I/O 控制線會改變,

這時您就要修改這個程式碼了。

(L51_Bank.A51 是Keil C 原廠就有附的範例程式,自己在Keil 的安裝目錄中找一下吧!)


     這麼簡單嗎?!還沒完...除了硬體與軟體程式的配合外,還要IDE(uVision) 開發環境的配合,

從下圖,大家就可以看到除了L51_bank.A51 程式外,還有Code Banking 的設定...


....

   這樣子就結束了嗎?!還沒有...因為當您組譯完成後,您就得到 一段一段程式的Hex 檔 ,

在另外利用 Hex 轉BIN 檔方式,轉成一段一段的 Binary 檔....

最後就可以利用Banklink.exe 這支工具程式把這些一段一段的Binary 檔銜接起來。

就完成了.......

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

   如此一來,原來平凡無奇的8051也可以寫到幾百KBytes 的 程式碼了。

我想應該就有許多應用作不完了吧。而且現在這些Flash ROM 都已經很便宜了。

所以,大家可以盡量的使用....

至於在系統開發上,可能一般的ICE (模擬器或仿真器)已經不敷使用...

說真的,程式碼這麼大了。要用ICE來一步一步的單步執行,可以抓到問題....天都亮了...

所以,這時候,您就可以試著使用 ROM Emulator 了....

http://chamberplus.myweb.hinet.net/products.htm

而且這種ROM  Emulator 也要夠大容量也才夠用吧。

----

下回有機會再帶大家實際把這些開發平台,架起來說明一下....

謝謝....

(PS:看來雖然已經兩三年沒用了,還是寶刀未老....還是要說是:薑是老的辣呢?!)

 


 

2007年5月7日 星期一

身邊處處是美景

Mr.850 先生是版主多年前老同事。

因工作與家庭背景相似而成為多年來的摯友,

讓版主覺得比較汗顏的地方是:Mr.850 先生懂得品味生活,尤其是恬靜的大自然生活...

以下是Mr.850 先生的一些照片展示內容:

http://www.pbase.com/mr850/photography&page=3

也讓我們覺得生活在這美麗寶島,處處都是美景...只要您細心去留意...

----

Mr.850 最近也因緣際會的有個機會在人生道路上,歇下腳步。

版主也以過來人的經驗體會,人家說:休息是為了走更遠的路...

這句話,如果您能在停下腳步時,用心的去體會人生或回顧過去許多職場生活...

的確,您能悟到許多日復一日忙碌工作生活中所無法體會的細節。

這其中包括職場、人際關係、價值觀以及許多現實所面臨的東西...

冷靜思考、沈澱以及心情的轉換等...在在都會讓您有著完全不同的生活體驗...

好友Mr.850 先生:祝福您。

改天或許您也可以Call 版主一下,我們也是可以一起去鐵馬踏青的...

2007年5月4日 星期五

USB DIY in PCB Fail ??

自從版主從前一年開始寫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 的人士都能慢慢的從中找到一些屬於自己的樂趣!

學長,加油了喔!...