久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

立即注冊 登錄
返回首頁

uid:136005的個人空間

日志

USB功能描述

已有 1133 次閱讀2019-2-23 10:54

1.1簡介

實現USB2.0全速設備和APB1間的接口
支持掛起/恢復,可以停止設備時鐘實現低功耗。
1.2主要的特征
  1、符合USB2.0全速技術規范
  2、可配置1到8個USB端點 【8個雙向端點,16個單向端點】
  3、CRC生成、校驗,NRZI編碼、解碼、位填充【硬件實現,可以通過抓取數據來實現】
  4、支持同步傳輸
  5、支持批量、同步端點的雙緩沖區機制
  6、支持USB掛起、恢復操作【通過檢測3ms內沒有sof信號為掛起】
  7、幀鎖定時鐘脈沖生成

1.3功能描述
  1、PC機與微控制器之間的數據傳輸共享一專用的數據緩沖區
  2、緩沖區的大小由端點的數目與每個端點最大的數據分組決定,每個端點最大可使用512字節,最多可使用16個單向或8個雙向端點。
  3、USB模塊同主機通信,根據USB的規范實現了令牌分組,數據發送、接收和握手的處理。
  4、硬件實現傳輸的格式,如CRC生成、校驗。
  5、每個端點都有一個緩沖區描述塊,描述了緩沖區地址、大小、和需要傳輸的字節數。【端點配置描述符】
  6、當數據和端點已配置,USB模塊識別有效的令牌分組時,將發生數據傳輸
  7、USB模塊通過一個內部的16位寄存器實現端口與專用緩沖區的數據交換。
  8、根據傳輸的方向與需求,發送或接收適當的握手分組
  9、數據傳輸結束,通過中斷處理程序可以得到端點需要的服務【讀取寄存器的狀態,分揀出不同的中斷要求】
  10、在同步傳輸和高吞吐量的批量傳輸中提供了雙緩沖機制
  11、支持低功耗模式【通過寫控制寄存器,使模塊處于SUSPEND模式】
  12、支持喚醒USB模式【在低功耗模式下,檢測USB數據線上的數據傳輸/將中斷源接到喚醒引腳上】
  13、支持直接啟動或停止時鐘系統
1.4USB功能模塊描述
   USB模塊實現了USB接口的所有特性:
   1、串行接口控制器(SIE),實現的功能:幀頭同步域識別,位填充,CRC產生和校驗,PID驗證/產生,握手處理。   與USB收發器交互,利用分組緩沖接口提供的虛擬緩沖區存儲局部數據。 根據USB相關的事件產生相關的端點信號。如sof、USB復位,數據錯誤
   2、定時器 :產生與幀開始同步的時鐘脈沖,并在3ms內沒有數據傳輸,檢測為掛起狀態。 
   3、分組緩沖器。根據SIE的要求分配合適的緩沖區,并定位到端點寄存器所指向的存儲區地址。地址自增。記錄傳輸的字節數防止緩存器溢出。
4、端點相關寄存器。 對于單向或單緩沖器的端點,一個寄存器可以實現兩個不同的端點。
一共8個寄存器,可以實現16個單向 /單緩沖的端點或者7個雙緩沖的端點或者這些端點的組合。
  5、控制寄存器:包含USB的狀態信息,掛起低功耗等
  6、中斷寄存器:獲取中斷源和中斷信息。
端點0作為單緩沖模式下的控制端點。
  
APB1接口部分
1、分組緩沖區  大小為512字節
2、仲裁器:通過向APB1提供較高的訪問優先級來解決總線沖突。采用分時復用的策略
實現了虛擬雙端口SRAM.
  3、寄存器映射單元: 把USB的寄存器映射成被APB1尋址的16位寬度的內存集合。
  4、APB1封裝:將整個USB模塊映射到APB1地址空間。
  5、中斷映射單元:
     USB低優先級中斷(通道20):所有USB事件觸發。
     USB高優先級中斷(通道19):僅能由同步和雙緩沖批量的正確傳輸事件觸發。
     USB喚醒中斷(通道42):由USB掛起模式的喚醒事件觸發。
1.5 USB模塊與應運程序的交互
  1、系統復位或上電  流程 先配時鐘信號再清除復位信號 
  2、分組緩沖區的結構與用途  接口APB1的一半周期用于微控周期的訪問,一半周期用于USB模塊的訪問。USB模塊使用固定的時鐘48MHZ,APB1總線的時鐘必須大于8MHz.
  3、端點初始化 
第一步是把適當的值寫到ADDRn_TX或ADDRn_RX寄存器中, USB_EpnR寄存器的EP_TYPE位確定端點的基本類型, EP_KIND位確定端點的特殊特性。作為發送方,需要設置USB_EpnR寄存器的STAT_TX位來使能端點,并配置COUNTn_TX位決定發送長度。作為接收方,需要設置STAT_RX位來使能端點,并且設置BL_SIZE和NUM_BLOCK位,確定接收緩沖區的大小,以檢測緩沖區溢出的異常。 
  4、IN分組
     第一步接收到一IN令牌,訪問相應的ADDRn_TX和COUNTn_TX寄存器,并將這些寄存器中的數值存儲到內部的16位寄存器ADDR和COUNT。第二步,根據DTOG_TX位發送DATA0或DATA1分組,并訪問緩沖區。第三步,從緩沖區讀到的第一個字節將被裝載到輸出移位寄存器中,并開始發送。四,接收到主機響應的ACK,應用程序需要通過USB_ISTR寄存器的EP_ID和DIR位識別產生中斷的USB端點。五、CTR_TX事件的中斷服務程序需要首先清除中斷標志位,然后準備好需要發送的數據緩沖區,更新COUNTn_TX為下次需要傳輸的字節數,最后再設置STAT_TX位為’11’(端點有效),再次使能數據傳輸。
  5、OUT分組和SETUP分組
   第一步,找到與該端點相關的ADDRn_RX和COUNTn_RX寄存器,并將ADDRn_RX 寄 存 器 的 值 保 存 在 內 部 ADDR 寄 存 器 中 。第二步,初始化內部寄存器。第三步:存儲數據到ADDR指向的分組緩沖區中。第三步,分步揍做校驗。

  6、控制傳輸
  第一步,建立過程。第二步,可選的數據過程。第三步,狀態過程。
1.6 雙緩沖機制 
  第一,將USB_EPnR寄存器的EP_TYPE位設為’00’,定義端點為批量端點
  第二,將USB_EPnR寄存器的EP_KIND位設為’1’,定義端點為雙緩沖端點

1.7同步傳輸
  第一,配置同步端點,
  第二,雙緩沖機制配置
  第三,初始化DTOG位。
  第四,數據傳輸。

1.8掛起事件
  第一,將USB_CNTR寄存器的FSUSP置為’1’,這將使USB模塊進入掛起狀態。 
第二,將USB_CNTR寄存器的LP_MODE位置為’1’,這將消除模擬USB收發器的靜態電流消耗,但仍能檢測到喚醒信號。
第三,可以選擇關閉外部振蕩器和設備的PLL,以停止設備內部的任何活動。

1.9喚醒事件
  第一,清零USB_CNTR寄存器的FSUSP位。
  第二,喚醒過程將由主機PC完成,可以利用USB_FNR寄存器的RXDP和
RXDM位來判斷喚醒是否完成。
2.0通用寄存器
  1、控制寄存器、
  2、中斷寄存器
  3、幀編號寄存器
  4、設備地址寄存器
  5、分組緩沖區地址寄存器

2.1端點寄存器

2.2緩沖區描述表
 1、發送緩沖區地址寄存器
 2、發送緩沖區字節寄存器、
 3、接收緩沖區地址寄存器
 4、接收數據字節寄存器



路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

返回頂部
主站蜘蛛池模板: 日本特黄特色aaa大片免费 | 伊人伊成久久人综合网站 | 亚洲一区电影 | 成人网视频 | 成人免费视频观看视频 | 亚洲午夜一区二区 | 日韩精品一区二区三区在线观看 | 国产精品99久久久久久久久 | 黄色一级片视频 | 亚洲精品黄色 | 成人看片在线观看 | 夜夜爆操| 四虎影院在线免费观看 | 麻豆av电影网| 精品成人免费视频 | 伊人久久伊人 | 狠狠色综合久久丁香婷婷 | 91久久夜色精品国产网站 | 国产精品久久九九 | 亚洲免费影院 | 91视视频在线观看入口直接观看 | 亚洲国产精品一区 | 国产一区精品 | 亚洲视频中文字幕 | 午夜免费视频 | 91精品久久久久久久 | 一级黄色在线 | 天天躁人人躁人人躁狂躁 | 999久久久 | 777毛片| 伊人精品一区二区三区 | 成人美女免费网站视频 | 一区二区三区亚洲精品国 | 精品久久久久一区二区国产 | 亚洲国产一区二区在线 | 九九亚洲| 一区二区三区在线免费观看 | www久| 中文字幕1区2区3区 日韩在线视频免费观看 | 欧美成视频 | 国产乱码精品一区二区三区中文 |