| 研究生: |
李品皜 Lee, Ping-Hao |
|---|---|
| 論文名稱: |
iDuino:兼容Arduino可重配置軟硬體的網路整合系統開發環境 iDuino, A Web-Based HW/SW Reconfigurable Arduino Compatible System Environment |
| 指導教授: |
蘇文鈺
Su, W. Y. Alvin |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 醫學資訊研究所 Institute of Medical Informatics |
| 論文出版年: | 2017 |
| 畢業學年度: | 105 |
| 語文別: | 英文 |
| 論文頁數: | 46 |
| 中文關鍵詞: | Arduino 、OpenRISC 、Websocket 、server 、HTML5 、Canvas 、FPGA |
| 外文關鍵詞: | Arduino, OpenRISC, Websocket, server, HTML5, Canvas, FPGA |
| 相關次數: | 點閱:102 下載:5 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
創客文化崛起,越來越多創客開始使用開發板來製作產品,其中又以Arduino的使用方式簡單、易學而廣泛,讓非電資科系相關背景的人也可快速上手。
Arduino雖簡單好用但容易受限於固定位置及有限數量的輸入/輸出接腳,需要用到更多特定的傳輸介面時,就需要購買更多開發板來完成,本篇主旨提供創客們一種解決方案,本系統可讓使用者依需求調整輸入/輸出接腳位置或改變傳輸介面,只需一塊開發板(稱URduino開發板)並配合本篇的系統即可完成這類需求,解決創客們因接腳或傳輸介面數量固定的限制造成開發上的不便。
本篇提供一個服務平台叫「iDuino」,使用者直接開啟瀏覽器進入本系統(網址:www.urduino.com),以圖形化操作介面去設定自己所需的電路架構,iDuino服務平台需搭配對應的URduino開發板,此開發板最高能提供142隻輸入/輸出接腳,使用者在網頁上依自己需求自由定義週邊電路並設置接腳數量及位置,經由iDuino後端伺服器處理生成電路檔後回傳給使用者,再將電路燒錄至URduino開發板上的FPGA晶片。
系統分成硬體與軟體兩部分,硬體以FPGA開發板作為基礎,方便乘載不同架構的電路檔案,電路檔內以32-bit OpenRISC作為核心處理器,搭載我們設計的周邊電路包含GPIO、Timer、PWM、UART等等;軟體部分我們提供了一個硬體配置圖形介面及整合開發環境,且因應使用者所定義的電路架構重新配置系統軟體,最後使用者只需安裝我們開發的插件,即可直接透過瀏覽器將程式碼及電路檔載入至URduino開發板,操作上大部分模仿Arduino的使用經驗,讓使用者容易上手。
iDuino服務平台將操作圖形化,給使用者一個直覺、高自由度,快速設計自己電路的環境,希望為使用者們打造一個方便的開發平台,讓具備特殊需求的創客們,解決受限於輸入/輸出接腳數量或傳輸介面不足的情況。
Arduino compatible development boards are widely used in recent maker movement. People in little background in EECS can use them to develop their maker projects easily.
There are however lots of limitation in the I/Os of conventional off-the-shelf Arduino boards. When users want have more selections of I/O interfaces, they have to buy various boards for their need. In this thesis, a web-based HW/SW reconfigurable platform that is compatible to Arduino specification called iDuino is presented. The proposed system allows flexible configuration of the I/O interfaces through a user friendly web application. Together with an FPGA based board called URduino with up to 142 reconfigurable I/O pins, one can easily eliminate to inconvenience without buying lots of Arduino boards.
One has the access to the iDuino system (site: www.urduino.com) to configure the desired circuit. The backend service generates the correspondent Verilog file and sends it to its user so that one can download it to the URduino board.
The proposed system is divided into two parts: hardware and software. The hardware FPGA development board is provided for a different configuration of the circuit file to download. The circuit contains a 32-bit OpenRISC as the core processor as well as our design of peripheral circuits including GPIO, Timer, PWM, UART and so on. The software section includes a hardware configuration graphical interface, online integrated development environment and the associated program interfaces for the target hardware circuit. Users have to install our plug-in. Since iDuino service platform is developed following the Arduino use experience, it is easy to get start. The GUI of iDuino service platform is also intuitive to use.
[1] Arduino Official website[online]https://www.arduino.cc/
[2] Kickstarter Crowdfunding platform [online]https://www.kickstarter.com/
[3] TRIFDEV a re-programmable FPGA I/O expander for Arduino[online]http://www.crowding.io/project/trifdev-a-reprogrammable-FPGA-io-expander-for-arduino/538190
[4] Crystal Board: FPGA - Arduino - ARM SoC in a single device [online]https://www.kickstarter.com/projects/redcrytal/crystal-board-FPGA-arduino-arm-soc-in-a-single-dev
[5] Papilio DUO - Drag and Drop FPGA Circuit Lab for Makers [online]https://www.kickstarter.com/projects/13588168/papilio-duo-drag-and-drop-FPGA-circuit-lab-for-mak
[6] iDuino website[online]http://www.urduino.com/
[7] Arduino software [online]https://www.arduino.cc/en/Main/Software?setlang=en
[8] jQuery Official website[online]https://jquery.com/
[9] HTML Introduction[online]https://developer.mozilla.org/en-US/docs/Web/HTML
[10] Javascript Introduction[online]https://developer.mozilla.org/en-US/docs/Web/JavaScript
[11] Jquery UI[online] https://jqueryui.com/
[12] KineticJs download link[online] http://kineticjs.com/
[13] Canvas tag Introduction[online]https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial
[14] GoJs Official website[online]https://gojs.net/latest/index.html
[15] threejs Official website[online]https://threejs.org/
[16] WebSocket Introduction[online]https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_client_applications
[17] FTP Introduction[online] http://www.raidenftpd.com/tw/ftp.html
[18] PHP Introduction[online]http://php.net/
[19] MySQL Official website[online]http://www.mysql.com/
[20] iPage host[online]https://www.ipage.com/
[21] OpenCores Official website[online]http://opencores.org/
[22] GNU General public license[online]https://www.gnu.org/licenses/gpl.html
[23] SMIMS Technology Corp. Official website[online]http://tw.smims.com/index.php?active=AboutUs
[24] GADGET FACTORY Official website[online]http://store.gadgetfactory.net/
[25] Papilio DUO Environmental construction tool[online]http://papilio.cc/index.php?n=Papilio.Learning
[26] UCF file Introduction[online]http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/ise_c_constraints_entry_methods.htm
[27] Xilinx ISE tool[online]https://www.xilinx.com/products/design-tools/ise-design-suite.html
[28] FTDI driver[online]http://www.ftdichip.com/FTDrivers.htm