新聞中心

        EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于Blackfin532和Netchip2272的USB接口設(shè)計

        基于Blackfin532和Netchip2272的USB接口設(shè)計

        作者: 時間:2010-11-08 來源:網(wǎng)絡(luò) 收藏


        的數(shù)據(jù)交換采用中斷驅(qū)動方式,當發(fā)生了特定的某些事件如收到主機發(fā)送的Setup包,收到主機發(fā)送的數(shù)據(jù)包等,需要 對事件進行處理時,在其IRQ管腳產(chǎn)生1個低電平,與它相連接的PF10管腳在檢測到此低電平之后。在DSP內(nèi)部產(chǎn)生中斷,DSP在中斷處理函數(shù)內(nèi)部讀取2272相關(guān)寄存器的值,并根據(jù)這些寄存器的值對發(fā)生的事件作出相應(yīng)的處理,完成USB設(shè)備的枚舉和數(shù)據(jù)的傳輸。

        2 USB接口電路的軟件設(shè)計
        接口電路的軟件設(shè)計包括固件程序和PC端的驅(qū)動程序。固件程序的設(shè)計需要對硬件電路和USB的通信協(xié)議比較熟悉,因而開發(fā)起來難度比較大,這里對固件程序的開發(fā)作以介紹。
        2.1 固件程序
        設(shè)備的固件程序是指運行在設(shè)備端CPU中的程序,它主要用來完成對接收到的數(shù)據(jù)包的類型,內(nèi)容進行識別和分析,并在分析的基礎(chǔ)上對主機的請求做出相應(yīng)的處理,完成設(shè)備的枚舉,讀取主機發(fā)送的數(shù)據(jù)和向主機發(fā)送數(shù)據(jù),從而實現(xiàn)和主機之間的數(shù)據(jù)交換。固件程序的流程圖如圖3所示。


        固件程序主要包括初始化和中斷服務(wù)程序兩部分;
        2.1.1 初始化
        初始化程序用以對2272進行初始化設(shè)置。
        (1)對Blaekfin532進行軟復(fù)位,對PLL(Phase Locked Loop),EBIU(External Bus Interface Unit),PF口進行設(shè)置,以及使能PF10引起的中斷。
        (2)對2272進行軟復(fù)位,對本地總線控制寄存器(LOCCTL,LOCCTL1),USB控制寄存器(USB_CTL0,USBCTL1),端點0的寄存器進行設(shè)置,在中斷使能寄存器(IRQENDO,IRQENBl)中使能相應(yīng)的中斷。
        2.1.2 中斷服務(wù)程序
        中斷服務(wù)程序主要是用來處理主機的Setup標準請求,將主機發(fā)送過來的數(shù)據(jù)讀到Blacldin532中和將Blackfin532中的數(shù)據(jù)發(fā)送給主機。
        主機要和USB設(shè)備進行數(shù)據(jù)交換首先要正確的識別USB設(shè)備,這需要經(jīng)過一個枚舉過程,這個過程主要通過主機向設(shè)備發(fā)送Setup請求,設(shè)備對該請求進行響應(yīng)來完成。
        (1)USB設(shè)備加電,連接到主機的—個集線器端口。
        (2)主機檢測到新設(shè)備連接后,總線復(fù)位。
        (3)主機使用默認地址(地址O)讀取設(shè)備描述符。
        (4)主機給設(shè)備分配一個地址,在以后的通信里設(shè)備就只對這個地址的信息作出應(yīng)答。
        (5)主機從新的地址獲取設(shè)備描述符。
        (6)主機讀取配置描述符。
        (7)主機讀取配置描述符集合,主機除了讀取配置描述符之外,還要讀取接口描述符及端點描述符。
        (8)主機設(shè)置設(shè)備的配置。
        在中斷服務(wù)程序中首先判斷是何種類型的中斷,如果是Setup請求中斷,則調(diào)用函數(shù)setup_handler()進行處理,函數(shù)的參數(shù)為設(shè)備接收到的Setup數(shù)據(jù)包的第3~第8 bit(Setup~Setup)。在setup_handler()函數(shù)中根據(jù)Setup數(shù)據(jù)包的內(nèi)容跳轉(zhuǎn)至相應(yīng)的分支,對Setup請求進行響應(yīng)。使用軟件Bushound5.0對設(shè)備的枚舉過程進行觀察,捕獲的部分數(shù)據(jù)如圖4所示。



        關(guān)鍵詞: Blackfin Netchip 2272 532

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 瓦房店市| 盐津县| 南宫市| 绵阳市| 阳泉市| 石柱| 西宁市| 河南省| 通州区| 泰和县| 治县。| 鄂托克前旗| 武宣县| 咸丰县| 大城县| 二连浩特市| 平罗县| 横山县| 千阳县| 镇坪县| 桃江县| 三门峡市| 潜山县| 沧州市| 钦州市| 郴州市| 东宁县| 名山县| 丰顺县| 隆尧县| 和平县| 巍山| 南康市| 赤峰市| 长寿区| 涟水县| 新田县| 巴中市| 揭阳市| 绥德县| 永仁县|