USB學(xué)習(xí)一:USB硬件電路解析
題記:其實(shí)早就想學(xué)習(xí)USB了,但是開(kāi)始的時(shí)候由于基礎(chǔ)差點(diǎn),看到USB那么多繁復(fù)的上電復(fù)位啊枚舉啊還有那么多的包啊,頭很大沒(méi)有一點(diǎn)思路。所以當(dāng)時(shí)只是看看資料翻翻周立功的《PDIUSBD12 USB固件編程與驅(qū)動(dòng)開(kāi)發(fā)》做個(gè)了解,并沒(méi)有深入。但是正如圈圈的USB小組里說(shuō)的,現(xiàn)在的電子工程師不懂USB可不行,所以決心重新著手USB的進(jìn)階了。其實(shí)我以前的51實(shí)驗(yàn)板和MSP430的板子上面都有USB的這一塊電路,只可惜實(shí)驗(yàn)程序?qū)懙貌粔蜥槍?duì),所以看起來(lái)很費(fèi)勁,也提不起我的興趣。現(xiàn)在有圈圈的板子,我想那么多有針對(duì)性并且完整的程序在等著,豈有學(xué)不會(huì)之理!
本文引用地址:http://m.butianyuan.cn/article/269267.htm我的第一篇USB日志從硬件下手,至于基本的一些概念當(dāng)然是要先了解的,但是我以為學(xué)習(xí)應(yīng)該以實(shí)踐為主,以練帶學(xué),從中不斷積累。所以,在了解了一些基本的USB的概念和PDIUSBD12芯片以后,應(yīng)該著手實(shí)踐了。其實(shí)如果你不是做USB的芯片開(kāi)發(fā),對(duì)于那一大堆理論也不是必須完全領(lǐng)會(huì)的,我也是帶著似懂非懂的狀態(tài)來(lái)操控PDIUSBD12的,對(duì)于它的一些寄存器的控制是重點(diǎn),掌握了這個(gè)基本算是入了門(mén),至于其它的一些時(shí)序上的讀寫(xiě)操作什么的我想對(duì)于有基礎(chǔ)的人不是難點(diǎn)。
先來(lái)看一下PDIUSBD12的引腳配置和引腳分配:
圈圈的原理圖我就不貼了(不好截圖,有點(diǎn)亂,呵呵~~)。D0-D7口接單片機(jī)的P0口,因?yàn)閷?shí)驗(yàn)中不使用DMA傳輸,所以與DMA傳輸有關(guān)的DMREQ,DMACK_N,EOT_N幾個(gè)引腳被懸空或者接地了。CLKOUT,VOUT3.3和SUSPEND三個(gè)引腳由于不使用就懸空或者接地了。GL_N接一個(gè)電阻和LED指示燈用于指示通信狀態(tài),INT_N接單片機(jī)的一個(gè)中斷口,D+和D-兩個(gè)差分信號(hào)是接標(biāo)準(zhǔn)USB接口的,XTAL1和XTAL2之間接16MHz的晶振,另外VCC,GND自不必說(shuō)。最后來(lái)看下幾個(gè)可以有不同接法的引腳:ALE,RD_N,WR_N,CS_N,其實(shí)這幾個(gè)引腳的不同接法是普遍性的,也就是說(shuō)你可以把這幾個(gè)腳接成單片機(jī)時(shí)序控制數(shù)據(jù)地址的讀寫(xiě)操作,也可以把PDIUSBD12的寄存器接成單片機(jī)的外部RAM,這樣對(duì)寄存器的尋址就和RAM一樣了,可以免去復(fù)雜的時(shí)序操作。而我們看到圈圈的電路里采用了前者,也就是用時(shí)序來(lái)讀寫(xiě)D12的寄存器,因此它的電路接法是:把ALE接地,CS_N接地(片選有效),WR_N,RD_N接單片機(jī)的專(zhuān)用讀寫(xiě)口P3.6和P3.7(采用時(shí)序讀寫(xiě)操作這兩個(gè)口其實(shí)不一定非得接這兩個(gè)口,接其它任何的IO口也行),所以在程序里面我們會(huì)看到有專(zhuān)門(mén)的D12寄存器讀寫(xiě)子程序。
我們?cè)賮?lái)討論一下后者的接法實(shí)現(xiàn),如圖:
這種接法是把D12的ALE腳與單片機(jī)的ALE腳相接,這是專(zhuān)用的外部RAM擴(kuò)展,詳細(xì)的說(shuō)明(包括RAM擴(kuò)展接法的尋址和讀寫(xiě))在CAN學(xué)習(xí)筆記的硬件部分有介紹了。
以上兩種寄存器讀寫(xiě)方式都是很有代表性的,無(wú)所謂誰(shuí)好誰(shuí)壞,根據(jù)個(gè)人習(xí)慣吧。其實(shí)在RAM尋址空間允許的情況下采用后者還是比較方便的。但是圈圈采用了前者,那么在以后的程序中都以此為基礎(chǔ)進(jìn)行編程。
上面分析了D12的各個(gè)管腳的分配情況,有些腳還必須接一定的電阻,如差分信號(hào)D+和D-就必須在接1K的電阻后接VCC或者GND。USB標(biāo)準(zhǔn)接口的四個(gè)信號(hào)口,中間兩個(gè)就是接差分信號(hào)的,而邊上兩個(gè)就是電源信號(hào)(從計(jì)算機(jī)接出的+5V,有時(shí)大家在設(shè)計(jì)時(shí)往往利用這個(gè)5V做系統(tǒng)電源)。
硬件電路分析到這里大概能對(duì)D12有一個(gè)初步的掌握了,下一步就應(yīng)該去熟悉一下D12內(nèi)部的一些寄存器以及這些寄存器在不同的配置狀態(tài)下都能實(shí)現(xiàn)什么樣工作。
電路相關(guān)文章:電路分析基礎(chǔ)
晶振相關(guān)文章:晶振原理 雙控開(kāi)關(guān)相關(guān)文章:雙控開(kāi)關(guān)原理
評(píng)論