1. 北京中發電子大廈購sl811hst晶元一個30元。實驗焊板一塊8元(有48腳焊盤,與sl811hst對應)。
2. 普通外熱尖頭電烙鐵一把12元。焊錫一盤20元,飛鷹刀片,鑷子,砂紙,多股軟線(非常軟,很關鍵)、硬線等。
3. 按照電路圖購買電阻、電容、12M無源晶振、USB主機介面插座。
4. 準備51實驗台,我用的微控制器是C8051F020。
5. 用一小時焊完電路。注意用錫一定要少。可用刀片把焊錫切成小米粒大小的五分之一或十分之一,用烙鐵尖粘上平行送811管腳。連焊時,請把板子斜拿,用烙鐵在兩管腳間由里向外劃過,使錫能流向下方和兩邊的管腳。
6. 首先編程測試讀晶元版本號,有時能讀到(06),有時不行,不穩定。
7. 換48M有源晶振,讀寫內存無誤。後來發現晶元內部的12M晶振可直接支持讀寫內存。也就是說,811晶元外部不加晶振,靠內部晶振(仍採用12M方式),晶元一樣讀寫內存無誤,但不支持USB介面信號的發送,即D+/D-送不出數據。總的來說,811的內部12M晶振和外部12M晶振相互間有影響。
8. 最後,採用了外部48M有源晶振,工作正常,發包無誤。
調試中的一些問題
1. 首先要調試好微控制器,最好找一塊內存晶元,先編程讀寫一下。我的實驗台用了許多P口管腳外擴存儲器,我只能挑撿剩下沒用的管腳了。
2. 當發生12M晶振衝突時,不明原因而懷疑晶振振蕩不穩,或電路有干擾等。因而採取了無源換有源,12M換48M,最後去掉晶振,才發現是12M晶振有衝突。
3. 虛焊和補焊是經常的事兒。需要用邏輯判斷定位。如調試811時,首先是讀版本號,如果有問題,可做一張邏輯圖表,如附表1。把涉及的管腳都放進去,每個管腳一般只有兩種可能:通或不通,逐一列出。根據讀的結果,判斷是哪個管腳出問題了。
4. 控制線有問題時,判定較為麻煩。數據線有問題時,只要發數據0xffh和0x55h就可定位了。
5. 如果總讀出0xffh,說明811的數據沒有送上數據線。這有幾種可能:nCS或nRD虛焊(晶元默認高電平),或晶振不工作。晶振工作電壓為5V, 811是3.3V。電壓低了,晶振不工作或不穩定,811也是如此。還有兩個容易忽視的管腳,nRST和nDACK,此兩腳默認為低電平,工作時一定要拉高。
6. 調試時曾經懷疑811已經被燒毀了,因為畢竟用的電烙鐵既沒有溫控又沒有接地保護,但最後證明811比想象的要結實的多。
7. 對全速設備,軟體只有⑴⑵⑼⑾⑿⒀⒁⒂⒃句是關鍵的,列出如下:
附表1:邏輯判斷定位表
CS WR RD A0 現象
1 x x x 寫不進晶元,讀時得到0xffh
0 1 1 x 寫不進晶元,讀時得到0xffh
0 1 0 X 寫不進晶元,讀時得到隨機值
0 0 1 X 讀時得到0xffh
0 0 0 1 寫不進晶元,讀時得到隨機值
0 0 0 0 讀寫正常
註:表中0代表晶元可實現低電平輸入,即晶元管腳工作正常;1代表晶元管腳浮高,低電平無法輸入,即管腳有焊接不良。X為任意狀態輸入,即或1或0。
太原理工大學 計算機與軟體學院wenbbo@sina.com 2006-3-29
[admin via 研發互助社區 ] SL811hst USB控制器調試全過程已經有1967次圍觀
http://cocdig.com/docs/show-post-44808.html