<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于LUFA開源框架庫(kù)對(duì)AVR芯片進(jìn)行USB終端設(shè)備開發(fā)

          基于LUFA開源框架庫(kù)對(duì)AVR芯片進(jìn)行USB終端設(shè)備開發(fā)

          作者:陳哲川 時(shí)間:2014-08-26 來源:電子產(chǎn)品世界 收藏
          編者按:  摘要:本文針對(duì)一般USB設(shè)備的開發(fā)過程過于困難、復(fù)雜、繁瑣等不利于快速開發(fā)的問題,引入了LUFA(Lightweight USB Framework for AVRs)開源框架庫(kù),解決了基于AVR芯片的USB設(shè)備的快速開發(fā)問題。這種方法能實(shí)現(xiàn)快速開發(fā)并實(shí)現(xiàn)相關(guān)的產(chǎn)品,并且有穩(wěn)定的性能表現(xiàn),具有工程實(shí)踐意義。   概述   目前,USB控制器主要有兩種:一種是帶USB接口的單片機(jī)(MCU),另一種是純粹的USB接口芯片。前者的最大優(yōu)勢(shì)在于,開發(fā)者對(duì)系統(tǒng)結(jié)構(gòu)和指令集非常熟悉,開發(fā)工具簡(jiǎn)單,容易進(jìn)行功能

            同時(shí),處理器還有豐富的外部接口,如14個(gè)PWM通道,12路10位ADC,SPI,USART等。片內(nèi)集成了32KB的Flash程序儲(chǔ)存器(其中4KB可被引導(dǎo)程序使用),2.5KB片內(nèi)SRAM,1KB的片內(nèi)EEPROM,2個(gè)帶預(yù)分頻的8位定時(shí)/計(jì)數(shù)器,2個(gè)帶預(yù)分頻的16位定時(shí)/計(jì)數(shù)器,帶看門狗定時(shí)器等,還支持ISP和IAP編程,帶有符合IEEE 1149.1標(biāo)準(zhǔn)的JTAG接口。其接口,可工作在全速/低速設(shè)備模式下。對(duì)于控制傳輸方式,端點(diǎn)0最大能支持64b的數(shù)據(jù)包。對(duì)于塊傳輸、中斷傳輸和同步傳輸方式,有6個(gè)可編程端點(diǎn),最大能支持256b的數(shù)據(jù)包。

          本文引用地址:http://www.ex-cimer.com/article/262220.htm

            在啟動(dòng)階段,可以通過對(duì)熔絲位HWBE(上劃線)置0,并下拉HWB(上劃線)引腳,使得系統(tǒng)先進(jìn)入引導(dǎo)區(qū)程序,以方便固件更新。啟動(dòng)流程部分,請(qǐng)參考圖2。

            ● bootloader開發(fā)示例

            對(duì)于微處理器來說,出廠的時(shí)候都預(yù)先燒錄了Atmel DFU (Device Firmware Update)進(jìn)bootloader區(qū)。如果不需要進(jìn)行bootloader區(qū)編程,可以省卻外部編程器。當(dāng)需要更新固件程序時(shí),無需外部編程器的參與,只需使系統(tǒng)運(yùn)行在bootloader環(huán)境下,就可以利用USART、SPI或者接口,進(jìn)行固件更新燒錄。

            在開源框架庫(kù)中,有好幾種不同的bootloader示例。如支持109協(xié)議的自編程框架,支持 DFU協(xié)議的自編程框架,或者其他。在開發(fā)過程中,作為開發(fā)者,只要能理解其相關(guān)原理,即可靈活運(yùn)用。

            從示例中可以看出,整個(gè)軟件的工作流程如圖3所示。在啟動(dòng)過程中,系統(tǒng)先調(diào)用初始化程序?qū)ο嚓P(guān)的I/O口進(jìn)行輸入/輸出定義及參數(shù)初始化;接著,進(jìn)入bootloader循環(huán)。在bootloader循環(huán)中,系統(tǒng)不斷的檢測(cè)USB接口下的Endpoint,讀取數(shù)據(jù),返回指令信息等。直到收到結(jié)束通信的指令(109和DFU協(xié)議均有相關(guān)指令),才退出bootloader應(yīng)用。最后斷開這次USB連接,程序指針跳轉(zhuǎn)到0x0000位置,也就是應(yīng)用程序的開始點(diǎn)。如圖3。



          關(guān)鍵詞: LUFA AVR USB MCU 單片機(jī) 201409

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();