新聞中心

EEPW首頁 > 手機與無線通信 > 牛人業(yè)話 > USB學習一:USB硬件電路解析

USB學習一:USB硬件電路解析

作者: 時間:2015-01-30 來源:網絡 收藏

  題記:其實早就想學習了,但是開始的時候由于基礎差點,看到那么多繁復的上電復位啊枚舉啊還有那么多的包啊,頭很大沒有一點思路。所以當時只是看看資料翻翻周立功的《PDID12 USB固件編程與驅動開發(fā)》做個了解,并沒有深入。但是正如圈圈的USB小組里說的,現在的電子工程師不懂USB可不行,所以決心重新著手USB的進階了。其實我以前的51實驗板和MSP430的板子上面都有USB的這一塊電路,只可惜實驗程序寫得不夠針對,所以看起來很費勁,也提不起我的興趣?,F在有圈圈的板子,我想那么多有針對性并且完整的程序在等著,豈有學不會之理!

本文引用地址:http://www.butianyuan.cn/article/269267.htm

  我的第一篇USB日志從硬件下手,至于基本的一些概念當然是要先了解的,但是我以為學習應該以實踐為主,以練帶學,從中不斷積累。所以,在了解了一些基本的USB的概念和PDIUSBD12芯片以后,應該著手實踐了。其實如果你不是做USB的芯片開發(fā),對于那一大堆理論也不是必須完全領會的,我也是帶著似懂非懂的狀態(tài)來操控PDIUSBD12的,對于它的一些寄存器的控制是重點,掌握了這個基本算是入了門,至于其它的一些時序上的讀寫操作什么的我想對于有基礎的人不是難點。

  先來看一下PDIUSBD12的引腳配置和引腳分配:

  

點擊看大圖

 

  

點擊看大圖

 

  

點擊看大圖

 

  圈圈的原理圖我就不貼了(不好截圖,有點亂,呵呵~~)。D0-D7口接單片機的P0口,因為實驗中不使用DMA傳輸,所以與DMA傳輸有關的DMREQ,DMACK_N,EOT_N幾個引腳被懸空或者接地了。CLKOUT,VOUT3.3和SUSPEND三個引腳由于不使用就懸空或者接地了。GL_N接一個電阻和LED指示燈用于指示通信狀態(tài),INT_N接單片機的一個中斷口,D+和D-兩個差分信號是接標準USB接口的,XTAL1和XTAL2之間接16MHz的晶振,另外VCC,GND自不必說。最后來看下幾個可以有不同接法的引腳:ALE,RD_N,WR_N,CS_N,其實這幾個引腳的不同接法是普遍性的,也就是說你可以把這幾個腳接成單片機時序控制數據地址的讀寫操作,也可以把PDIUSBD12的寄存器接成單片機的外部RAM,這樣對寄存器的尋址就和RAM一樣了,可以免去復雜的時序操作。而我們看到圈圈的電路里采用了前者,也就是用時序來讀寫D12的寄存器,因此它的電路接法是:把ALE接地,CS_N接地(片選有效),WR_N,RD_N接單片機的專用讀寫口P3.6和P3.7(采用時序讀寫操作這兩個口其實不一定非得接這兩個口,接其它任何的IO口也行),所以在程序里面我們會看到有專門的D12寄存器讀寫子程序。

 

  我們再來討論一下后者的接法實現,如圖:

  

點擊看大圖

 

  這種接法是把D12的ALE腳與單片機的ALE腳相接,這是專用的外部RAM擴展,詳細的說明(包括RAM擴展接法的尋址和讀寫)在CAN學習筆記的硬件部分有介紹了。

  以上兩種寄存器讀寫方式都是很有代表性的,無所謂誰好誰壞,根據個人習慣吧。其實在RAM尋址空間允許的情況下采用后者還是比較方便的。但是圈圈采用了前者,那么在以后的程序中都以此為基礎進行編程。

  上面分析了D12的各個管腳的分配情況,有些腳還必須接一定的電阻,如差分信號D+和D-就必須在接1K的電阻后接VCC或者GND。USB標準接口的四個信號口,中間兩個就是接差分信號的,而邊上兩個就是電源信號(從計算機接出的+5V,有時大家在設計時往往利用這個5V做系統(tǒng)電源)。

  硬件電路分析到這里大概能對D12有一個初步的掌握了,下一步就應該去熟悉一下D12內部的一些寄存器以及這些寄存器在不同的配置狀態(tài)下都能實現什么樣工作。

電路相關文章:電路分析基礎


晶振相關文章:晶振原理
雙控開關相關文章:雙控開關原理


關鍵詞: USB PDIUSBD12

評論


相關推薦

技術專區(qū)

關閉