a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于LUFA開源框架庫對AVR芯片進行USB終端設備開發

基于LUFA開源框架庫對AVR芯片進行USB終端設備開發

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

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

本文引用地址:http://www.j9360.com/article/262220.htm

  在啟動階段,可以通過對熔絲位HWBE(上劃線)置0,并下拉HWB(上劃線)引腳,使得系統先進入引導區程序,以方便固件更新。啟動流程部分,請參考圖2。

  ● bootloader開發示例

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

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

  從示例中可以看出,整個軟件的工作流程如圖3所示。在啟動過程中,系統先調用初始化程序對相關的I/O口進行輸入/輸出定義及參數初始化;接著,進入bootloader循環。在bootloader循環中,系統不斷的檢測USB接口下的Endpoint,讀取數據,返回指令信息等。直到收到結束通信的指令(109和DFU協議均有相關指令),才退出bootloader應用。最后斷開這次USB連接,程序指針跳轉到0x0000位置,也就是應用程序的開始點。如圖3。



關鍵詞: LUFA AVR USB MCU 單片機 201409

評論


相關推薦

技術專區

關閉