- 目的:自製一塊 USB 板子,插到電腦上看起來像是個 USB 輸入裝置,會自動發出 "Out of work and no play makes Scott a dull boy..."
- 硬體:
- 以 Dr. Stefan Salewski 的 AT90USB 實驗版電路為基礎。修正原本他沒有用 pcb 的 "outline" layer 標出版子外框的問題。(Changelog)
- schematics 與 layout存於版本管理系統中。使用 Open Source geda 電路設計軟體。
- PCB 製造由工業技術研究社學弟鍾睿洲負責外包給 eKits 印刷電路板送洗服務。(gerber 檔案)
From AT90USB - 用料清單:BOM (Bill Of Materials)。零件採買:TQFP64 封裝的 AT90USB1287 從 digikey 訂購(AT90USB1287-16AU-ND),其餘零件由睿洲從源達購買。
- 手動焊件:鍾睿洲的焊工是我看過除了業界專業人員外最高明的,焊一塊不到30分鐘。此塊板子除了 connector 與 crystal 是穿孔件外全部都是 SMD 件,睿洲焊 TQFP64 似乎已經駕輕就熟。
- 硬體驗證(安裝cross-compiler與軟體燒錄工具方法見『開發工具』):blink, hello。USB 通訊在 dfu-programmer 能 work 時即驗證過了。
- 以 Dr. Stefan Salewski 的 AT90USB 實驗版電路為基礎。修正原本他沒有用 pcb 的 "outline" layer 標出版子外框的問題。(Changelog)
- 軟體:
- 開發工具: avr-gcc, 在 Fedora 10 下執行 "yum -y install 'avr*' dfu-programmer" 即安裝完畢。
- 在 Redhat Bug 486864 修正之前,手動安裝 avr-libc-1.6.4-1.fc11.noarch.rpm。
- 抓 Lufa USB Stack。很遺憾 Lufa 的 SVN repository 沒有遵從 trunk/branches/tags 慣例(已修正),而且 source code checkout 出來充滿 DOS 的 CRLF 換行。
- 抓我寫的這個 patch against http://lufa-lib.googlecode.com/svn/ revision 444。此 patch 把 Lufa 中的 Keyboad Demo 改成目標 "dull boy" 效果。函式 AsciiToKeyCode() 中的 key code 是利用 usbmon 觀察實體 USB 鍵盤通訊得來的。
- 開發工具: avr-gcc, 在 Fedora 10 下執行 "yum -y install 'avr*' dfu-programmer" 即安裝完畢。
Edit: 上文中提到的兩個外部專案的bug皆已修正:
Redhat Bug 486864, Lufa Issue 1.
喔喔, Scott Tsai 有 blog 囉,
回覆刪除雖然 Scott Tsai 可能不喜歡鄉民行為,
先來搶個頭香
需要來整理個 ITRS blog 列表嗎?
不過之前好像只有我和command有在寫的樣子
@fcamel, 我覺得ITRS blog列表有必要!像你的我讀一陣子了但我還不知道command有在寫。
回覆刪除command 的 blog: http://xxxd.wordpress.com/
回覆刪除您好,
回覆刪除我叫Arthur
最近也在玩AT90USB chip
有遇上一些問題,不知道能否請教您
謝謝
nios_ii@hotmail.com