2017年3月24日 星期五

用 AVR atmega16u2 連接 USB


USB 是歷史很久的通訊規格, 市面上已經有多到炸的產品產出
這個規格是設計來熱拔插的, 隨時可以接上或移除
不過可能是因為許多系統都有支援, 速度又夠快
即使 on-board 裝置也是有走 USB 的, 像是 wifi 和藍芽模組
雖然 ARM 的系統很早就有 USB 但以前不一定會用到
現在則是一定會用, 有的 SoC 還內建多個 host
新的手機方案更是加碼到 USB3, 我們搞系統的就必須面對它
我的 WT-13 原先是做 BLE 使用, 不過為了順便玩 USB
因此特別選了顆有 USB 的 MCU: atmega16u2
我們將利用這顆來入門 USB, 學點 USB 基礎概念