<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > AN2131QC芯片USB總線(xiàn)通信的開(kāi)發(fā)

AN2131QC芯片USB總線(xiàn)通信的開(kāi)發(fā)

作者: 時(shí)間:2012-03-31 來(lái)源:網(wǎng)絡(luò ) 收藏

2]

  6 的固件程序開(kāi)發(fā)

  從CYPRESS公司網(wǎng)站,可以下載到“控制面板程序”和驅動(dòng)程序,也可以得到開(kāi)發(fā)例程。通過(guò)開(kāi)發(fā)例程,我們可以總結出開(kāi)發(fā)自己固件程序的框架,從而可以輕松完成USB外圍設備的開(kāi)發(fā)。

  在建立固件程序框架后,根據地址分配,在KEILC51 編譯器內設置編譯連接地址,如果選用內部RAM,CODE地址設置為0x100,XDATA地址設置為0x1200。

 ?。?)在DSCR.A51文件中設置外圍設備配置信息和管道

  在此文件內包含有USB外設的定義信息和管道,其中需要自己修改的東西是設備描述和管道。

  StringDscr1和StringDscr2用于描述USB外設的種類(lèi)和功能。

  EpInDscr用于定義的輸出端點(diǎn),包括端點(diǎn)號(作為輸入的端點(diǎn)號字節的最高位為“1”)、傳輸方式、數據包最大長(cháng)度等。

  EpOutDscr用于定義的輸入端點(diǎn),格式與EpInDscr相同,但端點(diǎn)號字節的最高位為“0”。

   (2)通信管道的初始化

  在DSCR.A51文件內定義了端點(diǎn)號后,需要在初始化定義里使能相應的通信端點(diǎn),下面的例子為輸入端點(diǎn)2和輸出端點(diǎn)2的初始化例程:

3

  其中需要注意的是USBPAIR寄存器的初始化值,他用于設定相應端點(diǎn)的雙輸入輸出緩沖區。在一些控制設備中需要實(shí)時(shí)獲取USB外設的狀態(tài),但在使用雙緩沖功能后,主機需要發(fā)送3個(gè)IN令牌,才能從外設取得最新的狀態(tài)數據,因此在實(shí)時(shí)性要求比較高的情況下,應避免使用輸入輸出雙緩沖功能。

 ?。?)數據收發(fā)

  USB外設向主機發(fā)送信息和獲取信息都是以一個(gè)數據包為單位,數據包的長(cháng)度可以隨機改變,但不能超過(guò)前面端點(diǎn)定義的最大數據包長(cháng)度。以輸入端點(diǎn)2和輸出端點(diǎn)3為例說(shuō)明數據的收發(fā)過(guò)程。

  向主機發(fā)送數據:輸入端點(diǎn)2

4

  if((IN2CS&0x02)?。?x02))
                ?。瘷z查輸出緩沖是否為空
  
  7 結語(yǔ)

  在有些設備中,可能用AN2131QC作為USB通信,用其他功能強大的微處理器作數據處理,這樣的配置有一個(gè)瓶頸就是AN2131QC與微處理器的輸入輸出數據交換問(wèn)題,可以用雙口RAM來(lái)解決,但這將使系統復雜,所以最好使用帶有標準并行總線(xiàn)接口的USB控制器。在USB設備的開(kāi)發(fā)過(guò)程中,驅動(dòng)程序的開(kāi)發(fā)也是同等重要。

參考文獻

[1]AN2131QCDATABOOK.Cypress公司.
[2]EZ-USB_TRM. Cypress公司
[3]張弘.USB接口設計[M].西安:西安電子科技大學(xué)出版社,1999.


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: AN2131QC USB總線(xiàn) 通信

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>