亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于AN2131QC USB固件程序設(shè)計

        2008-04-12 00:00:00彭文彬陳彬兵米紅菊
        現(xiàn)代電子技術(shù) 2008年20期

        摘 要:USB通用串行總線已經(jīng)成為PC 的標(biāo)準(zhǔn)配備,使用USB 接口可以連接多個不同的設(shè)備,支持熱插拔,并具有自動檢測的功能。要深入了解并設(shè)計出USB 設(shè)備就不得不使用到內(nèi)含USB 接口的微控制器或是專用的接口控制芯片。這里討論在一般常用的AN2131QC USB 單片機(jī)中內(nèi)建USB 接口的情況。簡要介紹EZ-USB AN2131QC的特性,描述主機(jī)與設(shè)備之間的通信,介紹它的幾種傳輸并在此基礎(chǔ)上介紹固件的定義,闡述基本框架以及其固件程序的基本設(shè)計。

        關(guān)鍵詞:EZ-USB AN2131QC;基本框架;USB 接口;固件程序設(shè)計

        中圖分類號:TP312;TP368.1文獻(xiàn)標(biāo)識碼:B文章編號:1004373X(2008)2007303

        Firmware Programme Design Based on AN2131QC USB

        PENG Wenbin,CHEN Binbing,MI Hongju

        (School of Electrical Information,Sichuan University,Chengdu,610064,China)

        Abstract:Universal Serial Bus(USB)is the standard equipment of the PC,using USB interface can connect many different devices,it sustains plug and play,and has the function of autodetection.To know well and design the USB device,it has to use the microcontroller which has the USB interface or special interface controlling chip.The paper discusses the instance of USB interface built-in the common AN2131QC USB single chip,and describes the characteristics of EZ-USB AN2131QC,the communication of the computer and device,transfers,frame and USB interface firmware programme design simply.

        Keywords:EZ-USB AN2131QC;basic frame;USB interface;firmware programme design

        隨著USB接口的推出,它正在逐漸成為計算機(jī)外圍設(shè)備一種主流接口,所以USB接口的開發(fā)也越來越得到關(guān)注。在其開發(fā)中,固件程序的開發(fā)是一個重要的環(huán)節(jié),它是USB設(shè)備運行的核心,響應(yīng)各種USB設(shè)備請求,完成各種數(shù)據(jù)交換工作和事件的處理,直接影響產(chǎn)品的數(shù)據(jù)傳輸速率。固件程序也是開發(fā)過程中的一個難點,因此本文介紹其基本框架和其基本的程序設(shè)計。

        1 AN2131QC的主要特點

        AN2131QC是基于USB 1.1的外設(shè)通訊控制芯片

        主要特點:

        (1)4時鐘周期的8051內(nèi)核;

        (2) 2個快速存儲器到存儲器的數(shù)據(jù)發(fā)送指針;

        (3) 多個USB數(shù)據(jù)傳輸中斷;

        (4)8 kB內(nèi)部RAM,支持外部存儲器;

        (5) 軟配置,方便固件程序升級;

        (6) 32個輸入輸出管道,支持1024B的同步數(shù)據(jù)傳輸。

        2 AN2131QC的數(shù)據(jù)傳輸方式

        USB總線的數(shù)據(jù)傳送是通過管道來完成的,當(dāng)外圍設(shè)備接到總線上時,地址是由主機(jī)隨機(jī)分配的,信息的交換通過4種方式實現(xiàn)。

        (1) 控制傳輸

        主要作用是建立主機(jī)和USB 外設(shè)之間的聯(lián)系管道和USB 外設(shè)的狀態(tài)反映,不能用于傳輸信息數(shù)據(jù)。AN2131QC 的端點0 用于控制傳輸。

        (2) 批量傳輸

        主要用于傳輸長度不大于64個字節(jié),而且需要周期性傳輸?shù)臄?shù)據(jù)塊,具有錯誤重發(fā)功能,可以動態(tài)地利用可獲得的USB 總線帶寬。

        (3) 中斷傳輸

        對于一個規(guī)定的時間里傳輸一個中等數(shù)量的數(shù)據(jù)是很有用,因為它將保證主機(jī)在最短的延遲里響應(yīng)或發(fā)送數(shù)據(jù)。

        (4) 同步傳輸

        可以1次傳輸長度不超過1 024 B的數(shù)據(jù)塊,主要用于傳輸大批量的實時數(shù)據(jù),例如音頻數(shù)據(jù),不支持錯誤重發(fā)。

        3 框架函數(shù)

        框架函數(shù)一般都提供有交互的掛鉤,可以用來方便用戶添加完成特定的功能代碼。所謂函數(shù)掛鉤,就是應(yīng)用程序之間的橋梁,就好比用鉤子在應(yīng)用程序之間建立聯(lián)系。函數(shù)掛鉤非常簡單,其所能完成的功能也非常有限,但可以根據(jù)實際需要向函數(shù)中添加代碼,以實現(xiàn)特定的功能。框架函數(shù)分為3類:任務(wù)分配、標(biāo)準(zhǔn)設(shè)備請求和USB中斷處理。

        3.1 任務(wù)分配

        (1) D_Init()

        該函數(shù)可在框架初始化期間被調(diào)用。在設(shè)備重枚舉和任務(wù)調(diào)度啟用前調(diào)用該函數(shù),可用于初始化用戶的全局狀態(tài)變量。在該函數(shù)中,用戶可設(shè)置整體狀態(tài)變量的初始值,并可規(guī)定各種端點資源的使用( 包括中斷) 以及配置外圍接口的輸入/輸出等。

        (2) TD_Poll()

        在設(shè)備工作期間,該函數(shù)可被重復(fù)調(diào)用。它包含一個執(zhí)行外設(shè)功能的狀態(tài)機(jī)。該函數(shù)在高優(yōu)先級的任務(wù)處理完成后便可返回。然而,如果不能從該函數(shù)中返回,則,框架將不能響應(yīng)設(shè)備請求和USB掛起事件。如果某項任務(wù)需要大量的處理時間,則應(yīng)將該任務(wù)分為若干小任務(wù),并通過對該函數(shù)的多次調(diào)用來分批處理。

        (3) TD_Suspend()

        該函數(shù)可在框架進(jìn)入掛起狀態(tài)之前被調(diào)用。函數(shù)中應(yīng)該包括使設(shè)備進(jìn)入低功耗狀態(tài)的程序,然后返回TRUE。當(dāng)然,可以讓該函數(shù)返回FALSE,以阻止設(shè)備進(jìn)入掛起狀態(tài)。

        (4) TD_Resume()

        該函數(shù)可在設(shè)備被外部喚醒事件喚醒且框架程序恢復(fù)處理后被調(diào)用。此時,設(shè)備將恢復(fù)到正常的操作方式。

        3.2 設(shè)備請求

        設(shè)備請求函數(shù)一般具有如下形式:

        BOOL DR_xx (void)

        {

        //用戶程序代碼

        Return (TURE)

        }

        該函數(shù)主要對來自主機(jī)的命令及請求進(jìn)行處理(如分析描述符表),以確定新的配置接口和端點。

        3.3 USB中斷

        由于在固件程序中提供有中斷服務(wù)例程接口,因此,開發(fā)者只要在需要處理的中斷服務(wù)例程接口中加入自己編寫的中斷服務(wù)代碼,即可完成對相應(yīng)中斷請求的服務(wù)。這些中斷服務(wù)例程接口函數(shù)的形式為:

        Void ISR_xx (void) interrupt 0

        {

        …//用戶中斷程序代碼

        EZUSB_ISR.CLEAR () ;

        USBIRQ = bmXX; //清除該中斷請求

        }

        4固件程序

        4.1 固件的定義

        載有在用戶環(huán)境中不能加以改變的計算機(jī)程序及數(shù)據(jù)的器件。包含在固件中的計算機(jī)程序和數(shù)據(jù)歸類為軟件;載有計算機(jī)程序和數(shù)據(jù)的電路歸類為硬件。固件程序就是硬件中的軟件部分,通過執(zhí)行該軟件可以實現(xiàn)特定的硬件功能。通常的固件程序是將一段程序存儲在ROM上,設(shè)備啟動之后自動引導(dǎo)配置特定的芯片,使之完成特定的功能。

        4.2 固件程序設(shè)計

        Cypress公司提供EZ-USB 固件程序框架,用于加速開發(fā)基于EZ-USB 芯片的外設(shè)。固件程序采用Keil C編寫,主要包括2個文件,一個是任務(wù)調(diào)度和設(shè)備請求分析程序fw.c,其中包含了固件執(zhí)行的入口,一般不用修改;一個是USB 外設(shè)功能程序periph.c,包括用戶初始化函數(shù)、標(biāo)準(zhǔn)設(shè)備請求函數(shù)、完成外設(shè)功能的USB 中斷處理函數(shù)。用戶只需提供設(shè)備描述符表并鏈接進(jìn)來,再編寫完成外設(shè)功能的代碼,就可以開發(fā)出一個功能完善的USB 外設(shè)。例如要使用AN2131QC的塊輸入端點2完成快速讀操作,其固件編寫步驟如下:

        (1) 按照USB 描述符表樣例Dscr.a51 中的格式,按順序依次修改設(shè)備描述符、配置描述符、接口描述符、端點描述符、字符串描述符。

        (2) 修改periph.c程序中初始化函數(shù)TD_ Init( ),進(jìn)行端點使能與中斷允許設(shè)置。

        void TD_ Init( void)

        {

        IN2VAL = bmEP2; //使輸入端點2有效

        IN2 IEN = bmEP2; ///使能端點中斷

        USBBAV = bmAVEN; ///使能自動向量

        EA = 1; //使能8051中斷

        Rwuen = TRUE; //便能遠(yuǎn)程喚醒

        }

        (3) 修改periph.c中的塊輸入端點2的中斷函數(shù)ISR_Ep2 in( ),填加用戶功能代碼,完成塊讀傳輸。

        void ISR_Ep2 in (void) interrupt 0

        { int i;

        EZUSB_ IRQ_CLEAR( ); //首先清除INT2中斷

        IN07 IRQ = bmEP2; //清除輸入端點2中斷

        AUTOPTRL = LSB((WORD)(IN2BUF)); //設(shè)置自動指針

        AUTOPTRH =MSB((WORD)(IN2BUF));

        if (!(IN2CS 0x02))

        { for (i=0;i<64;i++)

        AUTODATA = ACC; //讀入數(shù)據(jù)

        }

        IN2BC = 64; //裝載字節(jié)記數(shù)器,準(zhǔn)備下一次IN2傳輸

        }

        在Keil μVision2 下調(diào)試,即可生成bulk.HEX。

        5 結(jié) 語

        當(dāng)前,USB設(shè)備的開發(fā)已成為熱點,縮短研發(fā)周期、提高開發(fā)效率是開發(fā)者追求的目標(biāo)。選擇EZ-USB芯片,利用EZ-USB 程序框架,可以大大加快USB設(shè)備固件程序的開發(fā)過程。

        參考文獻(xiàn)

        [1]顏榮江.EZ-USB 2100系列單片機(jī)原理、編程及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002.

        [2]許永和.8051單片機(jī)USB接口程序設(shè)計[M].北京:北京航空航天大學(xué)出版社,2004.

        [3]EZ-USB Series 2100 Technical Reference Manual Ver2sion1.9[EB/OL].http:///www.cyp ress.com.2000.

        [4]Ee-Peng Lim,Keng Siau.Advances in Mobile Commerce Technologies[M].Idea Group Publishing,2003.

        [5]朱玉軍,賈先德,江海河,等.基于USB 和目標(biāo)識別的圖像采集系統(tǒng)的設(shè)計實現(xiàn)\\.微計算機(jī)信息,2006(1):89-91.

        [6]劉揚,史曉鋒.使用USB 接口的NIC 微端口驅(qū)動程序設(shè)計[J].電子測量技術(shù),2006,29(4):115-117.

        [7]畢曉軍,楊勁峰.基于單片機(jī)的USB 之間的通信研究[J].計算機(jī)應(yīng)用,2006(2):36-37.

        [8]吳鵬,陶正蘇,胡宇貞.基于單片機(jī)USB 接口的PC 主機(jī)驅(qū)動程序和應(yīng)用程序設(shè)計[J].電子器件,2005(3):612-614.

        [9]鄭立云.USB 接口技術(shù)的應(yīng)用研究與實現(xiàn)[D].北京:北京科技大學(xué),2005.

        [10]葉超.基于USB 接口的高密度數(shù)據(jù)采集系統(tǒng)[D].西安:西安工業(yè)學(xué)院,2003.

        作者簡介 彭文彬 男,1984年出生,碩士研究生。研究方向為電子技術(shù)與應(yīng)用。

        陳彬兵 女,副教授。研究方向為電子技術(shù)與應(yīng)用、嵌入式系統(tǒng)。

        中文字幕人妻中文av不卡专区 | 亚洲国产精品成人av在线不卡 | 午夜成人无码福利免费视频| 午夜精品久久久久久久无码| 国产69精品久久久久久久| 日韩av无码成人无码免费| 免费va国产高清不卡大片| av网站影片在线观看| 精品视频一区二区三区日本| 久热re这里精品视频在线6| 波多野结衣免费一区视频| 久久久久久亚洲AV成人无码国产| 日本大胆人体亚裔一区二区| 日本一区二区三区视频国产| 亚洲avav天堂av在线网爱情| 欧美在线日韩| 美腿丝袜网址亚洲av| 加勒比日韩视频在线观看| 亚洲精品国产精品乱码在线观看 | 免费人成网站在线视频| 波多野结衣久久精品99e| 先锋影音av资源我色资源| 最新国产精品亚洲二区| 亚洲精品av一区二区日韩| 自由成熟女性性毛茸茸应用特色 | 7777精品伊人久久久大香线蕉| 国产成人久久精品激情91| 各类熟女熟妇激情自拍| 日本精品一区二区三区二人码| 欧美bbw极品另类| 欧美一片二片午夜福利在线快| 欧美日韩一区二区三区色综合| 亚洲日本精品一区二区三区 | 欧美人与动zozo| 日韩精品极品免费在线视频 | 五月婷婷激情六月| 精品久久一区二区三区av制服| 亚洲熟女www一区二区三区 | 在线日本国产成人免费精品| 少妇厨房愉情理伦bd在线观看| 伊人色综合久久天天人手人停|