當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]介紹EZ-USB器件的基本特性和EZ-USB接口設(shè)備的開發(fā)方法,結(jié)合具體設(shè)計示例重點討論EZ-USB接口設(shè)備的軟配置方式和固件裝載技術(shù)。

摘要:介紹EZ-USB器件的基本特性和EZ-USB接口設(shè)備的開發(fā)方法,結(jié)合具體設(shè)計示例重點討論EZ-USB接口設(shè)備的軟配置方式和固件裝載技術(shù)。

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

引 言

  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在連接時自動進行枚舉,建立默認(rèn)的EZ-USB設(shè)備。首次枚舉成功后,還可以通過軟配置由8051內(nèi)核重新枚舉建立用戶定制的設(shè)備。

  內(nèi)置的8051處理器,相對標(biāo)準(zhǔn)的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可用于裝載固件。當(dāng)設(shè)備與主機連接時,固件從主機裝載到這里執(zhí)行,而不是固化在ROM中。因此,裝載不同的固件設(shè)備就呈現(xiàn)出不同的特性,如設(shè)備配置、有效端點、工作方式、設(shè)備功能等都可以通過改變固件進行再配置,達到軟配置目的,這就是EZ-USB的軟配置特性。

    2.2 配置方式

  軟配置可采用兩種方式實現(xiàn):自動配置和命令配置。

  自動配置是指當(dāng)設(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é)構(gòu)化信息,賦予其中變量不同的值,設(shè)備就呈現(xiàn)出不同的特性。在設(shè)備連接時,主機要請求設(shè)備提供描述符表,因此描述符表是固件的一部分。本通用模塊中定義了5種描述符表,表1所列是各描述符的主要參數(shù)。

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

描述符名稱

描述符參數(shù)

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

  此通用模塊中的固件僅用于EZ-USB通信測試、設(shè)備驅(qū)動和固件裝載演示。通過實驗發(fā)現(xiàn)固件設(shè)計有兩點值得注意。

① 采用ezusb.sys通用驅(qū)動程序時,主機要用查詢方式接收從設(shè)備來的數(shù)據(jù)。若主機接收不到設(shè)備上傳的數(shù)據(jù)時會長時間等待,甚至?xí)罊C。在本文的設(shè)計中,解決此問題的方法是數(shù)據(jù)上傳和下傳操作成對發(fā)生。主機每次下傳一個數(shù)據(jù)包時,設(shè)備就上傳一個數(shù)據(jù)包。此時如果設(shè)備有數(shù)據(jù)上傳就將數(shù)據(jù)置入上傳數(shù)據(jù)包中,否則返回一個空包。

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

4.2 生成設(shè)備驅(qū)動程序

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

    4.3 生成裝載驅(qū)動程序

  采用自動配置方式時,可根據(jù)EZ-USB開發(fā)系統(tǒng)提供的模板生成固件裝載驅(qū)動程序。

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

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

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

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

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

    4.4 安裝驅(qū)動程序

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

    4.5 應(yīng)用程序與設(shè)備接口

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

結(jié) 語

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉