精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>接口定義>

基于Blackfin532和Netc-hip2272的USB

2010年11月09日 10:12 電子科技 作者:杜蒙蒙 任百玲 董春 用戶評論(0
關鍵字:Blackfin(24592)

  USB(Universial Serial Bus)是一種通用總線系統,由于它具有支持熱插拔、數據傳輸快速、性能可靠、價格較低等優點,已成為應用最廣泛的PC機外設擴展接口之一,它是實現電子系統和PC機之間進行數據傳輸的理想接口。基于上述分析,提出了基于Blackfin532和Netc-hip2272的USB接口電路設計方案。

  1 USB接口電路的硬件設計

  1.1 Blackfin532DSP處理器簡介

  文中DSP處理器選用Blaclkfin532,它是ADI(Analog Device Instruments)公司推出的一款高性能、低功耗定點處理器,內核時鐘頻率最高可達400 MHz,具有兩個40位的算術邏輯單元(ALU),及4個8位視頻ALU,兩個16位硬件乘法器,兩個40位累加器,是具有較高性價比的DSP處理器。Blackfin532片上集成了84 kB的RAM,可尋址空間為4 GB,可與多種存儲器實現無縫連接。此外,片上集成了多個外設接口,具體包括1個UART口,1個SPI口,2個串行口(Sports),4個通用定時器,1個實時時鐘,1個看門狗定時器,1個并行外設接口等。

  1.2 Netchip2272簡介

  文中USB接口芯片選用了Netchip2272。它在片上集成了USB收發模塊,串行接口引擎(SIE),USB協議控制器,端點數據緩沖區,本地總線接口模塊等。同時還集成了大量的寄存器,使得對它的操作變得簡單。Netchip2272具有如下特點

  (1)支持全速/高速數據傳輸模式。

  (2)具有3個可配置的物理端點,及30個邏輯端點。

  (3)片上集成了3 kB的數據緩沖區,支持雙緩沖模式。

  (4)可方便地與通用微處理器進行連接。

  

Netchip2272 www.nxhydt.com

  在Blackfin533的EZ-KIT開發板中也采用了Blackfin533和Netchip2272實現USB接口電路,但EZ-KIT開發板中使用了設備管理器等,使得程序變得較大,在Blackfin533和Netchip2272之外,需要大約8 MB的存儲空間來存放部分程序和支持程序運行時對存儲空間的要求,這就需要在外部添加一塊SDRAM。同時,在EZ-KIT開發板的例程中只提供了USB接口電路的基于設備管理器的頂層源代碼,對于Blackfin533如何控制Netehip2272實現設備的枚舉和數據傳輸則沒有提供底層的源代碼,這些都使得開發板中提供的USB接口電路方案,在實際應用中不方便。文中所提出的USB接口電路方案中則沒有使用設備管理器,這使得程序比例程中的程序要小得多,且不需要使用SDRAM,從而使得硬件電路變得

  更加簡單。由于沒有使用設備管理器且在程序編寫過程中采用了模塊化的設計方法,固件程序的可移植性增強了。

  1.3 USB接口電路的原理

  USB接口電路的硬件連接原理圖如圖2所示,其中D0~D15是Blackfin532和Netchip2272的數據線,A1~A5是地址線,PF10和PF11是Black-tln532的PF(Programmable Flags)口的第10、ll管腳,分別用作Netehip2272的中斷輸入管腳和復位控制管腳,ASMl是Blacktin532的異步存儲塊1的片選信號用作Netehip2272的片選信號,IOW,IOR是Blackfin532的寫、讀選通輸出信號用作Netchip2272的寫選通和讀選通信號。IRQ是Netehip2272的中斷輸出信號,RESET是它的復位輸入信號,CS是它的片選信號,D+,D-是USB總線的差分數據線,VCC和GND分別是它的電源線和地線。

  

  Blackfin532和Netchip2272的數據交換采用中斷驅動方式,當2272發生了特定的某些事件如收到主機發送的Setup包,收到主機發送的數據包等,需要Blackfin 532對事件進行處理時,2272在其IRQ管腳產生1個低電平,與它相連接的PF10管腳在檢測到此低電平之后。在DSP內部產生中斷,DSP在中斷處理函數內部讀取2272相關寄存器的值,并根據這些寄存器的值對發生的事件作出相應的處理,完成USB設備的枚舉和數據的傳輸。

  2 USB接口電路的軟件設計

  接口電路的軟件設計包括固件程序和PC端的驅動程序。固件程序的設計需要對硬件電路和USB的通信協議比較熟悉,因而開發起來難度比較大,這里對固件程序的開發作以介紹。

  2.1 固件程序

  設備的固件程序是指運行在設備端CPU中的程序,它主要用來完成對接收到的數據包的類型,內容進行識別和分析,并在分析的基礎上對主機的請求做出相應的處理,完成設備的枚舉,讀取主機發送的數據和向主機發送數據,從而實現和主機之間的數據交換。固件程序的流程圖如圖3所示。

  

  固件程序主要包括初始化和中斷服務程序兩部分;

  2.1.1 初始化

  初始化程序用以對Blackfin532和Netchip2272進行初始化設置。

  (1)對Blaekfin532進行軟復位,對PLL(Phase Locked Loop),EBIU(External Bus Interface Unit),PF口進行設置,以及使能PF10引起的中斷。

  (2)對Netchip2272進行軟復位,對本地總線控制寄存器(LOCCTL,LOCCTL1),USB控制寄存器(USB_CTL0,USBCTL1),端點0的寄存器進行設置,在中斷使能寄存器(IRQENDO,IRQENBl)中使能相應的中斷。

  2.1.2 中斷服務程序

  中斷服務程序主要是用來處理主機的Setup標準請求,將主機發送過來的數據讀到Blacldin532中和將Blackfin532中的數據發送給主機。

  主機要和USB設備進行數據交換首先要正確的識別USB設備,這需要經過一個枚舉過程,這個過程主要通過主機向設備發送Setup請求,設備對該請求進行響應來完成。

  (1)USB設備加電,連接到主機的—個集線器端口

  (2)主機檢測到新設備連接后,總線復位。

  (3)主機使用默認地址(地址O)讀取設備描述符。

  (4)主機給設備分配一個地址,在以后的通信里設備就只對這個地址的信息作出應答。

  (5)主機從新的地址獲取設備描述符。

  (6)主機讀取配置描述符。

  (7)主機讀取配置描述符集合,主機除了讀取配置描述符之外,還要讀取接口描述符及端點描述符。

  (8)主機設置設備的配置。

  在中斷服務程序中首先判斷是何種類型的中斷,如果是Setup請求中斷,則調用函數setup_handler()進行處理,函數的參數為設備接收到的Setup數據包的第3~第8 bit(Setup~Setup)。在setup_handler()函數中根據Setup數據包的內容跳轉至相應的分支,對Setup請求進行響應。使用軟件Bushound5.0對設備的枚舉過程進行觀察,捕獲的部分數據如圖4所示。

  

  Bushound5.0只捕獲到了設備枚舉過程中主機發出獲取配置描述符請求及之后的數據,圖中的數據是主機發出獲取配置描述符請求到主機發出設置配置請求之間的數據。

  USB設備和主機之間的數據交換。當Netchip2272接收到主機發送的數據包之后,就會產生一個中斷信號給Blackfin532,Blackfin532在中斷服務程序中查詢相應的寄存器得知接收到數據包之后,直接將接收到的數據包讀到Blackfin532中。USB設備需要向主機發送數據時,先將需要發送的數據放到輸入端點的Buffer中,當主機向相應的輸入端點發送In Token時,Buffe中的數據包就返回給了主機,數據包發送成功后Netehip2272會產生一個中斷信號給Blackfin532,在中斷處理函數中將全局變量Tx_data_flag的相應位置1,數據包發送成功。

  2.2 驅動程序

  驅動程序編寫是復雜的,選用Jungo的WindowsDriver,在Windows Driver檢測到枚舉成功的設備之后,輸入設備的廠商ID(VID)和產品ID(PID),即可生成一個inf文件,將設備的PID和VID與設備的驅動程序綁定在一起,當設備通過設備描述符將VID,PID傳送給主機之后,主機就可以據此找到設備的驅動程序了。

  3 實驗結果及分析

  設備枚舉成功之后,利用BusView觀察到的設備的配置情況如圖5所示。

  

  USB設備一共有6個端點,這里僅列出其中兩個端點的描述符,其他的和這兩個類似。BusView顯示的設備配置情況和固件程序中對設備的配置情況完全一致,這表明設備的枚舉過程是正確的。

  

  

  通過使USB設備循環的向主機發送數據來檢驗USB輸入到主機方向的數據傳輸,利用Bushound5.0捕獲的部分數據如圖6所示。圖中的數據顯示USB設備循環發送的數據是00 01 02 03 04 05 06 07 08 09,在Windows Driver中對相應的管道進行監聽,收到的數據如圖7所示。實驗結果顯示數據傳輸完全正確。對于主機輸出到USB設備方向的數據傳輸,進行了檢驗,數據傳輸也完全正確。這表明基于Blackfin532和Netc-hip2272的USB接口電路的方案是可行的。

  4 結束語

  基于Blackfin532和Netchip2272的USB接口電路具有數據傳輸快速、可靠、接口電路簡單、固件程序的可移植性強等優點,具有良好的實用價值和應用前景。欲了解更多信息請登錄電子發燒友網(http://www.nxhydt.com)

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發表人:admin )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?