EZ-USB接口設(shè)備的軟配置技術(shù)
發(fā)布時間:2007/8/15 0:00:00 訪問次數(shù):510
引 言:
EZ-USB是Cypress公司帶智能內(nèi)核的USB接口器件,集USB通信控制引擎和改進的8051內(nèi)核于一體,具有全速度、全序列、易開發(fā)及軟配置等特點,是設(shè)計USB設(shè)備的首選器件。EZ-USB的串行接口引擎能自動完成主要USB協(xié)議處理,簡化了設(shè)備固件設(shè)計。但其軟配置與枚舉涉及到Windows編程、Windows PnP技術(shù)以及Windows DDK工具、INF文件和注冊表的使用等問題,因此EZ-USB接口設(shè)備的軟配置方式和固件裝載技術(shù)是開發(fā)EZ-USB接口設(shè)備的關(guān)鍵問題。
1 EZ-USB處理器
EZ-USB的串行接口引擎能自動完成數(shù)據(jù)收發(fā)控制、位填充、數(shù)據(jù)編碼、CRC校驗、PID包解碼等USB協(xié)議處理。EZ-USB在連接時自動進行枚舉,建立默認的EZ-USB設(shè)備。首次枚舉成功后,還可以通過軟配置由8051內(nèi)核重新枚舉建立用戶定制的設(shè)備。
內(nèi)置的8051處理器,相對標準的8051處理器進行了改進。以AN2131QC為例,主要有以下改進方面:
◇獨立的地址總線和數(shù)據(jù)總線,總線周期為4個時鐘,平均運行速度提高了近3倍;
◇雙數(shù)據(jù)指針和自動指針提高了數(shù)據(jù)交換效率;
◇擴展的中斷系統(tǒng)支持13個中斷源,并支持自動中斷向量;
◇1個I2C接口以及2個UART接口,24個可配置I/O端口;
◇可變周期的MOVX 指令可以適合高低速存儲器芯片的接口;
◇3個16位內(nèi)置定時/計數(shù)器、256字節(jié)內(nèi)部寄存器RAM;
◇芯片內(nèi)部集成有8KB外部RAM,8051內(nèi)核要用MOVX指令訪問此RAM區(qū)。
2 EZ-USB軟配置特性
2.1 軟配置特性
軟配置特性是EZ-USB最重要的特性。軟配置特性允許設(shè)備無限制的升級或再配置。EZ-USB片內(nèi)集成的外部RAM可用于裝載固件。當設(shè)備與主機連接時,固件從主機裝載到這里執(zhí)行,而不是固化在ROM中。因此,裝載不同的固件設(shè)備就呈現(xiàn)出不同的特性,如設(shè)備配置、有效端點、工作方式、設(shè)備功能等都可以通過改變固件進行再配置,達到軟配置目的,這就是EZ-USB的軟配置特性。
2.2 配置方式
軟配置可采用兩種方式實現(xiàn):自動配置和命令配置。
自動配置是指當設(shè)備連接時,固件由專門的裝載驅(qū)動程序自動裝載到設(shè)備。這種方式下固件要捆綁在裝載驅(qū)動程序之中,固件與裝載驅(qū)動程序之間一一對應(yīng),固件修改時要重新生成并重新安裝裝載驅(qū)動程序,固件裝載后要重新枚舉,以建立定制的USB設(shè)備,如果不重新枚舉主機會找不到設(shè)備。
命令配置是指在應(yīng)用程序中通過命令操作將固件裝載到設(shè)備。這種方式不需要專用的裝載驅(qū)動程序,可在任何時刻裝載任意固件。固件裝載后可以不用重枚舉操作,由EZ-USB內(nèi)核響應(yīng)主機請求,可以簡化固件設(shè)計。采用命令配置方式時,在應(yīng)用程序中要編寫固件裝載代碼。固件裝載代碼主要完成下列操作:
◇從Intel Hex格式文件中提取出有效的固件代碼;
◇向EZ-USB請求復(fù)位8051內(nèi)核;
◇向EZ-USB請求固件下載,固件下傳至EZ-USB的內(nèi)部RAM;
◇向EZ-USB請求8051內(nèi)核脫離復(fù)位狀態(tài);
◇ 對EZ-USB外設(shè)接口和交替功能進行設(shè)置。
3 EZ-USB接口設(shè)備開發(fā)方法
USB設(shè)備開發(fā)的一般步驟和內(nèi)容如圖1所示。其中面向設(shè)備的固件主要包括設(shè)備描述符信息、設(shè)備功能代碼和通信控制功能代碼。設(shè)備描述信息描述USB設(shè)備的一般特性和配置,如設(shè)備類別、接口配置、VID和PID等。主機在設(shè)備枚舉時要獲取USB設(shè)備的描述符,從而獲得設(shè)備的配置信息和相關(guān)驅(qū)動信息。用戶可以通過修改固件中的描述符來改變設(shè)備的特性。設(shè)備功能代碼由設(shè)備的功能需求決定。通信控制功能代碼執(zhí)行主機請求分析處理和數(shù)據(jù)交換處理功能。
設(shè)備驅(qū)動程序提供用戶訪問設(shè)備的接口。開發(fā)系統(tǒng)提供廠家的通用設(shè)備驅(qū)動程序。用戶也可以用相關(guān)驅(qū)動程序開發(fā)工具自己定制。自己定制的設(shè)備驅(qū)動程序要求符合WDM驅(qū)動程序規(guī)范。若采用自動配置方式,EZ-USB開發(fā)系統(tǒng)提供了裝載驅(qū)動程序開發(fā)模板,利用模板開發(fā)較簡單。采用命令配置方式則要用戶在應(yīng)用程序中編寫固件裝載代碼。
驅(qū)動程序一般通過INF文件來安裝,INF文件把設(shè)備的VID和PID綁定到設(shè)備驅(qū)動程序上,指定存放驅(qū)動程序的路徑,提供有關(guān)驅(qū)動程序的注冊和顯示信息。因此,Windows檢測到EZ-USB設(shè)備連接時,能根據(jù)注冊表自動將設(shè)備驅(qū)動程序裝入系統(tǒng)環(huán)境。
4 設(shè)計舉例
作者利用AN2131QC開發(fā)了一個通用的EZ-USB接口模塊。此通用模塊的軟硬件資源全部開放,并配置有測試驅(qū)動程序和固件示例。使用此通用模塊如同使用一片IC芯片,對設(shè)備的描述信息和INF文件稍作修改,并添加設(shè)備功能代碼,即可構(gòu)成一臺專用的EZ-USB接口設(shè)備。
4.1 固件設(shè)計
通用EZ-USB模塊的固件包括描述符表和USB通信測試程序。描述符表是一組符合USB規(guī)范及描述設(shè)備特性的結(jié)
引 言:
EZ-USB是Cypress公司帶智能內(nèi)核的USB接口器件,集USB通信控制引擎和改進的8051內(nèi)核于一體,具有全速度、全序列、易開發(fā)及軟配置等特點,是設(shè)計USB設(shè)備的首選器件。EZ-USB的串行接口引擎能自動完成主要USB協(xié)議處理,簡化了設(shè)備固件設(shè)計。但其軟配置與枚舉涉及到Windows編程、Windows PnP技術(shù)以及Windows DDK工具、INF文件和注冊表的使用等問題,因此EZ-USB接口設(shè)備的軟配置方式和固件裝載技術(shù)是開發(fā)EZ-USB接口設(shè)備的關(guān)鍵問題。
1 EZ-USB處理器
EZ-USB的串行接口引擎能自動完成數(shù)據(jù)收發(fā)控制、位填充、數(shù)據(jù)編碼、CRC校驗、PID包解碼等USB協(xié)議處理。EZ-USB在連接時自動進行枚舉,建立默認的EZ-USB設(shè)備。首次枚舉成功后,還可以通過軟配置由8051內(nèi)核重新枚舉建立用戶定制的設(shè)備。
內(nèi)置的8051處理器,相對標準的8051處理器進行了改進。以AN2131QC為例,主要有以下改進方面:
◇獨立的地址總線和數(shù)據(jù)總線,總線周期為4個時鐘,平均運行速度提高了近3倍;
◇雙數(shù)據(jù)指針和自動指針提高了數(shù)據(jù)交換效率;
◇擴展的中斷系統(tǒng)支持13個中斷源,并支持自動中斷向量;
◇1個I2C接口以及2個UART接口,24個可配置I/O端口;
◇可變周期的MOVX 指令可以適合高低速存儲器芯片的接口;
◇3個16位內(nèi)置定時/計數(shù)器、256字節(jié)內(nèi)部寄存器RAM;
◇芯片內(nèi)部集成有8KB外部RAM,8051內(nèi)核要用MOVX指令訪問此RAM區(qū)。
2 EZ-USB軟配置特性
2.1 軟配置特性
軟配置特性是EZ-USB最重要的特性。軟配置特性允許設(shè)備無限制的升級或再配置。EZ-USB片內(nèi)集成的外部RAM可用于裝載固件。當設(shè)備與主機連接時,固件從主機裝載到這里執(zhí)行,而不是固化在ROM中。因此,裝載不同的固件設(shè)備就呈現(xiàn)出不同的特性,如設(shè)備配置、有效端點、工作方式、設(shè)備功能等都可以通過改變固件進行再配置,達到軟配置目的,這就是EZ-USB的軟配置特性。
2.2 配置方式
軟配置可采用兩種方式實現(xiàn):自動配置和命令配置。
自動配置是指當設(shè)備連接時,固件由專門的裝載驅(qū)動程序自動裝載到設(shè)備。這種方式下固件要捆綁在裝載驅(qū)動程序之中,固件與裝載驅(qū)動程序之間一一對應(yīng),固件修改時要重新生成并重新安裝裝載驅(qū)動程序,固件裝載后要重新枚舉,以建立定制的USB設(shè)備,如果不重新枚舉主機會找不到設(shè)備。
命令配置是指在應(yīng)用程序中通過命令操作將固件裝載到設(shè)備。這種方式不需要專用的裝載驅(qū)動程序,可在任何時刻裝載任意固件。固件裝載后可以不用重枚舉操作,由EZ-USB內(nèi)核響應(yīng)主機請求,可以簡化固件設(shè)計。采用命令配置方式時,在應(yīng)用程序中要編寫固件裝載代碼。固件裝載代碼主要完成下列操作:
◇從Intel Hex格式文件中提取出有效的固件代碼;
◇向EZ-USB請求復(fù)位8051內(nèi)核;
◇向EZ-USB請求固件下載,固件下傳至EZ-USB的內(nèi)部RAM;
◇向EZ-USB請求8051內(nèi)核脫離復(fù)位狀態(tài);
◇ 對EZ-USB外設(shè)接口和交替功能進行設(shè)置。
3 EZ-USB接口設(shè)備開發(fā)方法
USB設(shè)備開發(fā)的一般步驟和內(nèi)容如圖1所示。其中面向設(shè)備的固件主要包括設(shè)備描述符信息、設(shè)備功能代碼和通信控制功能代碼。設(shè)備描述信息描述USB設(shè)備的一般特性和配置,如設(shè)備類別、接口配置、VID和PID等。主機在設(shè)備枚舉時要獲取USB設(shè)備的描述符,從而獲得設(shè)備的配置信息和相關(guān)驅(qū)動信息。用戶可以通過修改固件中的描述符來改變設(shè)備的特性。設(shè)備功能代碼由設(shè)備的功能需求決定。通信控制功能代碼執(zhí)行主機請求分析處理和數(shù)據(jù)交換處理功能。
設(shè)備驅(qū)動程序提供用戶訪問設(shè)備的接口。開發(fā)系統(tǒng)提供廠家的通用設(shè)備驅(qū)動程序。用戶也可以用相關(guān)驅(qū)動程序開發(fā)工具自己定制。自己定制的設(shè)備驅(qū)動程序要求符合WDM驅(qū)動程序規(guī)范。若采用自動配置方式,EZ-USB開發(fā)系統(tǒng)提供了裝載驅(qū)動程序開發(fā)模板,利用模板開發(fā)較簡單。采用命令配置方式則要用戶在應(yīng)用程序中編寫固件裝載代碼。
驅(qū)動程序一般通過INF文件來安裝,INF文件把設(shè)備的VID和PID綁定到設(shè)備驅(qū)動程序上,指定存放驅(qū)動程序的路徑,提供有關(guān)驅(qū)動程序的注冊和顯示信息。因此,Windows檢測到EZ-USB設(shè)備連接時,能根據(jù)注冊表自動將設(shè)備驅(qū)動程序裝入系統(tǒng)環(huán)境。
4 設(shè)計舉例
作者利用AN2131QC開發(fā)了一個通用的EZ-USB接口模塊。此通用模塊的軟硬件資源全部開放,并配置有測試驅(qū)動程序和固件示例。使用此通用模塊如同使用一片IC芯片,對設(shè)備的描述信息和INF文件稍作修改,并添加設(shè)備功能代碼,即可構(gòu)成一臺專用的EZ-USB接口設(shè)備。
4.1 固件設(shè)計
通用EZ-USB模塊的固件包括描述符表和USB通信測試程序。描述符表是一組符合USB規(guī)范及描述設(shè)備特性的結(jié)
熱門點擊
- Mac(物理、硬件)地址詳解
- 電腦經(jīng)常死機,緣起三大件過熱
- HRT硬盤維修工具
- 企業(yè)中無線局域網(wǎng)WLAN的安全防護
- 常見硬盤自舉失敗的分析
- 智能型LED鍵盤顯示技術(shù)及其在儀器儀表中的應(yīng)
- 打印機故障檢測以及故障問題解決
- 基于USB總線的隨機信源設(shè)計與實現(xiàn)
- 讓計算機啟動更快的八招
- PC三大戰(zhàn)役:價格戰(zhàn)、概念戰(zhàn)、服務(wù)戰(zhàn)
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究