<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>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > EZ-USB接口設備的軟配置技術(shù)

EZ-USB接口設備的軟配置技術(shù)

作者: 時(shí)間:2004-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹器件的基本特性和的開(kāi)發(fā)方法,結合具體設計示例重點(diǎn)討論的軟配置方式和固件裝載技術(shù)。

關(guān)鍵詞:EZ-USB 軟配置 固件裝載

引 言

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

1 EZ-USB處理器

  EZ-USB的串行接口引擎能自動(dòng)完成數據收發(fā)控制、位填充、數據編碼、CRC校驗、PID包解碼等USB協(xié)議處理。EZ-USB在連接時(shí)自動(dòng)進(jìn)行枚舉,建立默認的EZ-USB設備。首次枚舉成功后,還可以通過(guò)軟配置由8051內核重新枚舉建立用戶(hù)定制的設備。

  內置的8051處理器,相對標準的8051處理器進(jìn)行了改進(jìn)。以AN2131QC為例,主要有以下改進(jìn)方面:

◇獨立的地址總線(xiàn)和數據總線(xiàn),總線(xiàn)周期為4個(gè)時(shí)鐘,平均運行速度提高了近3倍;

◇雙數據指針和自動(dòng)指針提高了數據交換效率;

◇擴展的中斷系統支持13個(gè)中斷源,并支持自動(dòng)中斷向量;

◇1個(gè)I2C接口以及2個(gè)UART接口,24個(gè)可配置I/O端口;

◇可變周期的MOVX 指令可以適合高低速存儲器芯片的接口;

◇3個(gè)16位內置定時(shí)/計數器、256字節內部寄存器RAM;

◇芯片內部集成有8KB外部RAM,8051內核要用MOVX指令訪(fǎng)問(wèn)此RAM區。

2 EZ-USB軟配置特性

2.1 軟配置特性

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

2.2 配置方式

  軟配置可采用兩種方式實(shí)現:自動(dòng)配置和命令配置。

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

  命令配置是指在應用程序中通過(guò)命令操作將固件裝載到設備。這種方式不需要專(zhuān)用的裝載驅動(dòng)程序,可在任何時(shí)刻裝載任意固件。固件裝載后可以不用重枚舉操作,由EZ-USB內核響應主機請求,可以簡(jiǎn)化固件設計。采用命令配置方式時(shí),在應用程序中要編寫(xiě)固件裝載代碼。固件裝載代碼主要完成下列操作:

◇從Intel Hex格式文件中提取出有效的固件代碼;

◇向EZ-USB請求復位8051內核;

◇向EZ-USB請求固件下載,固件下傳至EZ-USB的內部RAM;

◇向EZ-USB請求8051內核脫離復位狀態(tài);

⑤ 對EZ-USB外設接口和交替功能進(jìn)行設置。

3 EZ-USB接口設備開(kāi)發(fā)方法

  USB設備開(kāi)發(fā)的一般步驟和內容如圖1所示。其中面向設備的固件主要包括設備描述符信息、設備功能代碼和通信控制功能代碼。設備描述信息描述USB設備的一般特性和配置,如設備類(lèi)別、接口配置、VID和PID等。主機在設備枚舉時(shí)要獲取USB設備的描述符,從而獲得設備的配置信息和相關(guān)驅動(dòng)信息。用戶(hù)可以通過(guò)修改固件中的描述符來(lái)改變設備的特性。設備功能代碼由設備的功能需求決定。通信控制功能代碼執行主機請求分析處理和數據交換處理功能。

  設備驅動(dòng)程序提供用戶(hù)訪(fǎng)問(wèn)設備的接口。開(kāi)發(fā)系統提供廠(chǎng)家的通用設備驅動(dòng)程序。用戶(hù)也可以用相關(guān)驅動(dòng)程序開(kāi)發(fā)工具自己定制。自己定制的設備驅動(dòng)程序要求符合WDM驅動(dòng)程序規范。若采用自動(dòng)配置方式,EZ-USB開(kāi)發(fā)系統提供了裝載驅動(dòng)程序開(kāi)發(fā)模板,利用模板開(kāi)發(fā)較簡(jiǎn)單。采用命令配置方式則要用戶(hù)在應用程序中編寫(xiě)固件裝載代碼。

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

4 設計舉例

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

4.1 固件設計

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

表1 通用EZ-USB接口模塊描述符及主要參數

描述符名稱(chēng)

描述符參數

設備描述符版本:0x0001。包大?。?x40。VID:0x0547。PID:0x1011。配置號:0x01
配置描述符接口數:0x01。配置值:0x01。屬性參數:0x80。最大功耗:0x32(100mA)
接口描述符表接口索引:0x00,交替設置:0x01。端點(diǎn)數:0x02
端點(diǎn)描述符表0端點(diǎn)地址:0x82(端點(diǎn)2,輸入)。端點(diǎn)類(lèi)型:BULK。最大包長(cháng)度:0x0040
端點(diǎn)描述符表1端點(diǎn)地址:0x02(端點(diǎn)2,輸出)。端點(diǎn)類(lèi)型:BULK。最大包長(cháng)度:0x0040

  此通用模塊中的固件僅用于EZ-USB通信測試、設備驅動(dòng)和固件裝載演示。通過(guò)實(shí)驗發(fā)現固件設計有兩點(diǎn)值得注意。

① 采用ezusb.sys通用驅動(dòng)程序時(shí),主機要用查詢(xún)方式接收從設備來(lái)的數據。若主機接收不到設備上傳的數據時(shí)會(huì )長(cháng)時(shí)間等待,甚至會(huì )死機。在本文的設計中,解決此問(wèn)題的方法是數據上傳和下傳操作成對發(fā)生。主機每次下傳一個(gè)數據包時(shí),設備就上傳一個(gè)數據包。此時(shí)如果設備有數據上傳就將數據置入上傳數據包中,否則返回一個(gè)空包。

② 初始化時(shí)應清空一次相應的端點(diǎn)緩沖區,否則有時(shí)會(huì )出現第一次傳輸出錯的現象,原因可能是復位不充分或者內部RAM掉電延時(shí)。在實(shí)際中發(fā)現,設備掉電相當長(cháng)一段時(shí)間,EZ-USB的RAM中數據仍然保持。

4.2 生成設備驅動(dòng)程序

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

4.3 生成裝載驅動(dòng)程序

  采用自動(dòng)配置方式時(shí),可根據EZ-USB開(kāi)發(fā)系統提供的模板生成固件裝載驅動(dòng)程序。

  通用模塊中固件裝載采用命令配置方式。其操作流程如圖2所示,其中主要定義了以下4個(gè)函數以完成固件裝載。

  Read_Intel_Hex() 從Intel格式的Hex文件中讀出固件代碼到緩沖區。

  Hex_To_Bin() 移去Intel格式的Hex文件中格式描述部分,轉換為純固件代碼。

  Download_Bin() EZ-USB8051內核復位、固件裝載到設備、8051內核解復位并運行固件。裝載固件前要使EZ-USB8051內核進(jìn)入復位狀態(tài),然后裝載固件,裝載結束后使EZ-USB脫離復位狀態(tài)開(kāi)始運行固件。三種操作共用一個(gè)函數,用傳遞不同的參數進(jìn)行區別。

  Set_InterFaceAlt()設置EZ-USB接口號和交替功能值,建立通信管道。

4.4 安裝驅動(dòng)程序

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

4.5 應用程序與設備接口

  通用EZ-USB模塊的測試程序提供兩種方式訪(fǎng)問(wèn)EZ-USB設備,一是直接通過(guò)I/O控制調用訪(fǎng)問(wèn)設備,用CreateFile()函數打開(kāi)設備,用DeviceIoControl()函數與設備進(jìn)行通信;二是將復雜的訪(fǎng)問(wèn)函數封裝為DLL,對用戶(hù)提供更簡(jiǎn)潔的方法訪(fǎng)問(wèn)外設。

結 語(yǔ)

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



評論


相關(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>