CH375-usb芯片使用中要注意的一些問題
一、CH375分為A和B兩個(gè)系列,A系列支持5V供電,B系列不僅支持5V還支持3.3V。
二、B系列中,如果使用5V供電,則V3引腳通過0.01uF電容接地,如果是3.3V,則V3接3.3V,這點(diǎn)很重要;
三、CH375資料上說(shuō)對(duì)于電源VCC引腳端應(yīng)該接0.01uF的電容到地,該電容功能為退耦電容,同時(shí),晶振必須為12MHZ,晶振引腳和電容引腳盡量*近CH375的Xi和Xo引腳。如果硬件連接正確,上電時(shí),在Xo端應(yīng)該可以檢測(cè)到12MHZ的波形,在沒有示波器的情況下,可以用萬(wàn)用表檢測(cè)Xi和Xo引腳是否為電源電壓的一半,即如果是5V供電,此時(shí)兩個(gè)引腳的電壓應(yīng)該接近2.5V,我在自己制作的腐蝕板中變遇到了晶振無(wú)法起振的情況,開始懷疑是引腳離得有點(diǎn)遠(yuǎn),于是改變了電容的放置位置,使之更*近c(diǎn)h375兩個(gè)引腳,也沒有起振。然后懷疑是CH375壞了,前后一共換了3片還是沒有起振,最后在反復(fù)檢測(cè)電路后,換了一顆晶振,我把所有的懷疑都用完后,最后目光聚焦在了兩個(gè)0603封裝的22P電容上,當(dāng)然開始我還不是懷疑電容有問題,而是ch375應(yīng)用資料上給的電容是15p的,但手上又沒有這個(gè)容值的電容,電容都焊下來(lái)了,因?yàn)樘。裟娜ヒ膊恢?,于是重新?lián)Q了兩個(gè)22p的,結(jié)果卻“奇跡般”的起振了。難道困擾了我兩天的竟然是兩顆壞了的晶振電容?因?yàn)槟莾蓚€(gè)小東西也不知道躲哪去了,我不能再揪出來(lái)拷問,那就認(rèn)為是人品問題吧,遇到了兩個(gè)壞了電容,或者是自己焊接的時(shí)候不小心焊壞了,罪過。。。后來(lái)我還原了電路,一層一層驗(yàn)證,取下了VCC的退耦電容,可以工作;再把兩個(gè)電容移回原來(lái)離CH375較遠(yuǎn)的位置,還是可以起振。僅以此調(diào)試經(jīng)驗(yàn)警醒自己,我懷疑的邏輯,相信大多數(shù)人也是這樣,越大的,越復(fù)雜的,越脆弱,呵呵,這種邏輯有問題么?調(diào)試是一個(gè)痛苦的過程,調(diào)試又是一個(gè)快樂的過程,恭喜你,嵌入式工程師,嘗盡人間苦樂!
四、當(dāng)上電后CH375能起振了,這時(shí)還可以測(cè)一下25和26腳的電平,26為高,25為低,說(shuō)明硬件復(fù)位時(shí)成功的,否則你就要看下RST連接的一個(gè)到VCC的0.47uF電容那是否有問題了。另外就是,在晶振沒有起振的情況下,往CH375寫數(shù)據(jù),那個(gè)指示燈會(huì)不停的閃,寫一此,閃一次,這是不正常德。
五、當(dāng)硬件能起振了,復(fù)位也完成了,請(qǐng)將8位數(shù)據(jù)口接到你的微控制器(單片機(jī)或DSP等),然后你還要接A0,WR,RD,INT,最后保證在軟件操作芯片的時(shí)候CS為低。如此,通過往CH375寫命令CMD_CHECK_EXIST(0x06),接著寫一個(gè)任意8位數(shù)據(jù),稍微延時(shí)幾個(gè)毫秒,CH375會(huì)返回你一個(gè)數(shù)據(jù),這個(gè)數(shù)據(jù)是你寫的數(shù)據(jù)的取反,如果你收到了這樣一個(gè)取反的數(shù)據(jù),恭喜你,你的硬件和底層軟件讀寫操作成功了,接下了便可以開始自己的USB協(xié)議解析之旅。如果你收到的數(shù)據(jù)不是正確的取反數(shù)據(jù),那么請(qǐng)仔細(xì)檢查在沒有任何線連接的情況下,晶振是否起振,復(fù)位是否成功,如果晶振已經(jīng)起振,你已經(jīng)成功了一大半,至于讀寫的時(shí)序,網(wǎng)上到處都是,51的,AVR的,找一個(gè)可以用的,稍作移植便可以使用。底層操作成功,是后續(xù)分析和學(xué)習(xí)USB協(xié)議的關(guān)鍵
評(píng)論