關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 多功能USB組合設(shè)備的結(jié)構(gòu)設(shè)計

        多功能USB組合設(shè)備的結(jié)構(gòu)設(shè)計

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


        4 固件設(shè)計
        固件程序是功能的核心。對于HID,其主要的功能設(shè)計都是在固件程序中進(jìn)行的。這里采用Holtek C語言進(jìn)行帶鍵盤的鼠標(biāo)的開發(fā)。
        HT82K95E芯片的ROM空間是按頁(page)來劃分的,1頁為256個字。這樣,整個ROM空間正好劃分為若干連續(xù)的頁。單片機(jī)ROM中的任何區(qū)域都可以用來查表。在這里只介紹Holtek C中的一種查表指令:TABRDL[m]。該指令用于查ROM中最后1頁的數(shù)據(jù)。HT82K95E具有表指針寄存器TB HP,在使用TABRDL指令時,TBHP默認(rèn)為最后1頁的首址高位。通過查表,表格的低位字節(jié)送入[m],高位字節(jié)送入TBLH寄存器。
        在固件設(shè)計中,將描述符存儲在ROM的最后1頁,當(dāng)主機(jī)請求設(shè)備的各種描述符時,通過TABRDL指令將描述符從最后1頁取出,并傳送給主機(jī),完成設(shè)備的枚舉過程。該設(shè)備的描述符在下面給出。
        c.jpg
        d.jpg
        ASM_CONFIG_LEN為配置描述符的大小,其值為配置描述符、接口描述符、HID描述符和端點描述符的大小的總和。ASM_ENTlTY_LEN_0為鼠標(biāo)報告描述符的大小,ASM_ENTITY_LEN_1為鍵盤報告描述符的大小。描述符中其他各項的意義在本文中不作詳細(xì)解釋,通過使用周立功公司的分析儀USBAnalyser,可分析出該設(shè)備的枚舉過程流程,如圖5所示。

        本文引用地址:http://www.104case.com/article/161413.htm

        f.jpg



        結(jié)語
        本文簡要分析了USB設(shè)備兩種結(jié)構(gòu)模型的不同,重點介紹了組合設(shè)備的設(shè)計方法。基于該設(shè)計方法,采用Holtek的8位單片機(jī)HT82 K95E芯片設(shè)計了一款鼠標(biāo)鍵盤組合設(shè)備。在開發(fā)此組合設(shè)備的過程中,可以分別調(diào)試兩個接口,如果每個接口都可正確運行,接著就可編寫兩個接口的描述符,實現(xiàn)組合設(shè)備的功能。組合設(shè)備對USB控制器可提供的端點數(shù)量和這些端點所支持的傳輸類型有所限制。USB控制器需較好的支持設(shè)備A和設(shè)備B間的傳輸協(xié)議。目前,不少芯片廠商也逐漸提供了組合設(shè)備的芯片方案。


        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 南丰县| 邯郸市| 鄄城县| 云阳县| 静海县| 和田市| 垦利县| 肥乡县| 织金县| 密云县| 张家港市| 加查县| 麻阳| 新竹市| 苗栗县| 铁岭市| 朔州市| 泗洪县| 平山县| 正宁县| 壤塘县| 江陵县| 太湖县| 延寿县| 公主岭市| 紫阳县| 桂林市| 翁牛特旗| 台北市| 平度市| 孟村| 巨野县| 芦山县| 鸡泽县| 新余市| 江津市| 和政县| 张掖市| 扶余县| 宜都市| 阳新县|