国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

EZ-USB接口設備的軟配置技術

發布時間:2010-4-4 21:14    發布者:蹦蹦
關鍵詞: 技術 , 接口設備
引 言

EZ-USBCypress公司帶智能內核的USB接口器件,集USB通信控制引擎和改進的8051內核于一體,具有全速度、全序列、易開發及軟配置等特點,是設計USB設備的首選器件。EZ-USB的串行接口引擎能自動完成主要USB協議處理,簡化了設備固件設計。但其軟配置與枚舉涉及到Windows編程、Windows PnP技術以及Windows DDK工具、INF文件和注冊表的使用等問題,因此EZ-USB接口設備的軟配置方式和固件裝載技術是開發EZ-USB接口設備的關鍵問題。

1 EZ-USB處理器
EZ-USB的串行接口引擎能自動完成數據收發控制、位填充、數據編碼、CRC校驗、PID包解碼等USB協議處理。EZ-USB在連接時自動進行枚舉,建立默認的EZ-USB設備。首次枚舉成功后,還可以通過軟配置由8051內核重新枚舉建立用戶定制的設備。

內置的8051處理器,相對標準的8051處理器進行了改進。以AN2131QC為例,主要有以下改進方面:
◇獨立的地址總線和數據總線,總線周期為4個時鐘,平均運行速度提高了近3倍;
◇雙數據指針和自動指針提高了數據交換效率;
◇擴展的中斷系統支持13個中斷源,并支持自動中斷向量;
◇1個I2C接口以及2個UART接口,24個可配置I/O端口;
◇可變周期的MOVX 指令可以適合高低速存儲器芯片的接口;
◇3個16位內置定時/計數器、256字節內部寄存器RAM;
◇芯片內部集成有8KB外部RAM,8051內核要用MOVX指令訪問此RAM區。

2 EZ-USB軟配置特性

2.1 軟配置特性

軟配置特性是EZ-USB最重要的特性。軟配置特性允許設備無限制的升級或再配置。EZ-USB片內集成的外部RAM可用于裝載固件。當設備與主機連接時,固件從主機裝載到這里執行,而不是固化在ROM中。因此,裝載不同的固件設備就呈現出不同的特性,如設備配置、有效端點、工作方式、設備功能等都可以通過改變固件進行再配置,達到軟配置目的,這就是EZ-USB的軟配置特性。

2.2 配置方式

軟配置可采用兩種方式實現:自動配置和命令配置。

自動配置是指當設備連接時,固件由專門的裝載驅動程序自動裝載到設備。這種方式下固件要捆綁在裝載驅動程序之中,固件與裝載驅動程序之間一一對應,固件修改時要重新生成并重新安裝裝載驅動程序,固件裝載后要重新枚舉,以建立定制的USB設備,如果不重新枚舉主機會找不到設備。

命令配置是指在應用程序中通過命令操作將固件裝載到設備。這種方式不需要專用的裝載驅動程序,可在任何時刻裝載任意固件。固件裝載后可以不用重枚舉操作,由EZ-USB內核響應主機請求,可以簡化固件設計。采用命令配置方式時,在應用程序中要編寫固件裝載代碼。固件裝載代碼主要完成下列操作:
◇從Intel Hex格式文件中提取出有效的固件代碼;
◇向EZ-USB請求復位8051內核;
◇向EZ-USB請求固件下載,固件下傳至EZ-USB的內部RAM;
◇向EZ-USB請求8051內核脫離復位狀態;
⑤ 對EZ-USB外設接口和交替功能進行設置。

3 EZ-USB接口設備開發方法

USB設備開發的一般步驟和內容如圖1所示。



其中面向設備的固件主要包括設備描述符信息、設備功能代碼和通信控制功能代碼。設備描述信息描述USB設備的一般特性和配置,如設備類別、接口配置、VID和PID等。主機在設備枚舉時要獲取USB設備的描述符,從而獲得設備的配置信息和相關驅動信息。用戶可以通過修改固件中的描述符來改變設備的特性。設備功能代碼由設備的功能需求決定。通信控制功能代碼執行主機請求分析處理和數據交換處理功能。

設備驅動程序提供用戶訪問設備的接口。開發系統提供廠家的通用設備驅動程序。用戶也可以用相關驅動程序開發工具自己定制。自己定制的設備驅動程序要求符合WDM驅動程序規范。若采用自動配置方式,EZ-USB開發系統提供了裝載驅動程序開發模板,利用模板開發較簡單。采用命令配置方式則要用戶在應用程序中編寫固件裝載代碼。

驅動程序一般通過INF文件來安裝,INF文件把設備的VID和PID綁定到設備驅動程序上,指定存放驅動程序的路徑,提供有關驅動程序的注冊和顯示信息。因此,Windows檢測到EZ-USB設備連接時,能根據注冊表自動將設備驅動程序裝入系統環境。

4 設計舉例

作者利用AN2131QC開發了一個通用的EZ-USB接口模塊。此通用模塊的軟硬件資源全部開放,并配置有測試驅動程序和固件示例。使用此通用模塊如同使用一片IC芯片,對設備的描述信息和INF文件稍作修改,并添加設備功能代碼,即可構成一臺專用的EZ-USB接口設備。

4.1 固件設計

通用EZ-USB模塊的固件包括描述符表和USB通信測試程序。描述符表是一組符合USB規范及描述設備特性的結構化信息,賦予其中變量不同的值,設備就呈現出不同的特性。在設備連接時,主機要請求設備提供描述符表,因此描述符表是固件的一部分。本通用模塊中定義了5種描述符表,表1所列是各描述符的主要參數。

表1 通用EZ-USB接口模塊描述符及主要參數
描述符名稱
描述符參數
設備描述符版本:0x0001。包大小:0x40。VID:0x0547。PID:0x1011。配置號:0x01
配置描述符接口數:0x01。配置值:0x01。屬性參數:0x80。最大功耗:0x32(100mA)
接口描述符表接口索引:0x00,交替設置:0x01。端點數:0x02
端點描述符表0端點地址:0x82(端點2,輸入)。端點類型:BULK。最大包長度:0x0040
端點描述符表1端點地址:0x02(端點2,輸出)。端點類型:BULK。最大包長度:0x0040

此通用模塊中的固件僅用于EZ-USB通信測試、設備驅動和固件裝載演示。通過實驗發現固件設計有兩點值得注意。
① 采用ezusb.sys通用驅動程序時,主機要用查詢方式接收從設備來的數據。若主機接收不到設備上傳的數據時會長時間等待,甚至會死機。在本文的設計中,解決此問題的方法是數據上傳和下傳操作成對發生。主機每次下傳一個數據包時,設備就上傳一個數據包。此時如果設備有數據上傳就將數據置入上傳數據包中,否則返回一個空包。
② 初始化時應清空一次相應的端點緩沖區,否則有時會出現第一次傳輸出錯的現象,原因可能是復位不充分或者內部RAM掉電延時。在實際中發現,設備掉電相當長一段時間,EZ-USB的RAM中數據仍然保持。

4.2 生成設備驅動程序

可以直接用廠家提供的通用設備驅動程序來驅動設備。但通用設備驅動程序只能執行一些標準的USB設備請求和數據傳輸,而且只支持查詢方式與設備通信。如果不能滿足用戶需要,用戶可以在模板的基礎上進行擴充,重新用WDM DDK生成驅動程序。通用模塊中采用了通用驅動程序Ezusb.sys。采用查詢方式,并且使上傳和下傳對應出現,實時性較好,能滿足一般設備要求。

4.3 生成裝載驅動程序

采用自動配置方式時,可根據EZ-USB開發系統提供的模板生成固件裝載驅動程序。
通用模塊中固件裝載采用命令配置方式。其操作流程如圖2所示。



其中主要定義了以下4個函數以完成固件裝載。
Read_Intel_Hex() 從Intel格式的Hex文件中讀出固件代碼到緩沖區。
Hex_To_Bin() 移去Intel格式的Hex文件中格式描述部分,轉換為純固件代碼。
Download_Bin() EZ-USB8051內核復位、固件裝載到設備、8051內核解復位并運行固件。裝載固件前要使EZ-USB8051內核進入復位狀態,然后裝載固件,裝載結束后使EZ-USB脫離復位狀態開始運行固件。三種操作共用一個函數,用傳遞不同的參數進行區別。
Set_InterFaceAlt()設置EZ-USB接口號和交替功能值,建立通信管道。

4.4 安裝驅動程序

驅動程序必須正確裝入Windows環境之后,才能起作用。編輯INF文件,使首次枚舉設備的VID和PID綁定到固件裝載驅動程序,使重枚舉后設備的VID和PID綁定到設備驅動程序。設置驅動程序的路徑為 C:,設置顯示的驅動程序字符串信息。重新啟動系統,按提示信息完成安裝過程。

4.5 應用程序與設備接口

通用EZ-USB模塊的測試程序提供兩種方式訪問EZ-USB設備,一是直接通過I/O控制調用訪問設備,用CreateFile()函數打開設備,用DeviceIoControl()函數與設備進行通信;二是將復雜的訪問函數封裝為DLL,對用戶提供更簡潔的方法訪問外設。

結 語

利用通用EZ_USB接口模塊,開發了智能聲強測量系統和精密數控雕刻機設備,均獲得了成功。設備性能穩定,開發周期短。

參考文獻

   1. 顏容江 EZ- USB2100系列單片機原理、編程及應用 2002
   2. Cypress Semiconductor.EZ-USB Series 2100 Getting Started Development Kit 2001
   3. 張弘 USB 接口設計 2002

作 者:合肥工業大學  吳從中  
來 源:單片機與嵌入式系統應用 2003(12)
本文地址:http://m.qingdxww.cn/thread-10150-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天夜干| 亚洲综合视频在线| 18岁男人女人插孔| 久久亚洲精品AV无码四区| 中国少妇内射XXXX狠干| 日韩黄色中文字幕| 四虎2020| 亚洲国产精品国产自在在线| 99re1久久热在线播放| 欧美特级另类xxx| 青青国产成人久久91网| 日本免费一区二区久久人人澡| 日韩专区亚洲国产精品| 天天操天天干天天舔| 中文字幕精品1在线| 牛牛在线1视频| 中文字幕1| 欧美一级免费| 婷婷热| 窝窝影院午夜色在线视频| 970女主播电台歌曲| 久久人妻少妇嫩草AV蜜桃35I| 亚洲欧美视频在线观看| 视色4setv.com| 中文字幕在线欧美| 2021自产拍在线观看视频 | 亚洲天堂久久久| 国产精品v片在线观看不卡| 亚洲熟妇色自偷自拍另类| 四虎在线精品免费高清在线| 亚洲爱色| 中文字幕一区二区三区四区| 欧洲日韩av无线在码| 日韩成人高清| 四虎永久视频| 亚洲热视频| 国产精品夜夜春夜夜爽久久小| 午夜一级毛片看看| 欧洲一级毛片| 天天狠天天天天透在线| 亚洲欧美日韩在线|