Sunday, June 1, 2014

麵包板上的ARM(LPC1114FN28 最簡電路)

每個有點年紀的台灣韌體工程師都不會忘記第一次在麵包版上插出8051電路時那如同初戀的感覺, 但現在已是2014年, 整個市場都在往ARM靠攏, 讓我們也歸順吧!

元件列表

  1. NXP LPC1114FN28 x 1 (ARM Cortex M0, Datasheet)
  2. 按鈕 x 2
  3. 電阻 330 Ω x 1
  4. 電阻 4.7k Ω x 2
  5. LED x 1

使用工具

  1. USB轉UART轉接線
  2. 3.3V位準電源

電路圖

LPC1114 Minimal Circuit

電路說明

  1. VDD需接上3.3V之電源, VSS需接地
  2. Pin 23為系統重置(reset)接腳, 此一接腳為低位準致能,因此需接一4.7k之上拉電阻至正電源, 以維持系統運作; 當需要重置系統時, 可透過一按鈕將此接腳接地.
  3. Pin 24為ISP(In System Programming)燒錄致能接腳,需接上4.7k之電阻串連一組按鈕接地;當此一接腳於晶片reset時處於低電位,將觸發ISP模式作用
  4. Pin 17為PIO1_8, 接上330之限流電阻與LED串接至地, 作為除錯用LED

LPC1114 on a Breadboard

Cable接線說明

使用 USB to 3.3V UART Cable 供電給微控制器,並進行序列通訊.cable有四個杜邦端子頭,VCC, GND, RX, TX;將VCC與GND接至微控制器之VDD與VSS, 將UART的RX接至微控制器的TX、TX接至RX。

軟體環境

使用Linux
- 下載”GNU Tools for ARM Embedded Processors” (Readme.txt)

$ tar -xf gcc-arm-none-eabi-4_8-2014q2-20140609-linux.tar.bz2 
$ sudo mv gcc-arm-none-eabi-4_8-2014q2 /opt/
$ echo "PATH=$PATH:/opt/gcc-arm-none-eabi-4_8-2014q2/bin" >> ~/.bashrc
  • 下載並編譯lpc21isp程式燒錄工具
$ svn checkout svn://svn.code.sf.net/p/lpc21isp/code/ lpc21isp-code
$ cd lpc21isp-code
$ make
$ mkdir -p $HOME/bin && cp lpc21isp $HOME/bin
  • 複製Zuph所修改製作之範例專案
$ git clone git://github.com/Zuph/lpc1114-blink
  • 編譯lpc1114-blink專案
$ cd lpc1114-blink
$ make
 
- 重複檢查電路接線是否正確; 完成後, 先按下RESET不放開, 再按下ISP按鍵, 爾後放開RESET, 再放開ISP按鍵, 進入ISP模式, 輸入下列指令進行燒錄
$ lpc21isp out/*.hex /dev/ttyUSB0 115200 12000 # FILE BAUDRATE CRYSTAL_HZ
  • 若操作正確無誤, 應該可看到LED以1.5Hz的頻率進行閃爍

參考資料

LPC1114FN28 with Open Source Tools

No comments:

Post a Comment