20
01 軟體與硬體介紹 1-1 Altera Installer 安裝軟體工具下載 1-2 軟體安裝 1-3 FBBCar 介紹 1-4 隨書光碟內容

軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

01

軟體與硬體介紹

1-1 Altera Installer 安裝軟體工具下載

1-2 軟體安裝

1-3 FBBCar 介紹

1-4 隨書光碟內容

Page 2: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

2

本書主題是利用 FPGA 設計電路控制、與使用多種感測器,利用數值回饋與編寫

人工智慧進行基本的輪型機器人移動。對於想要深入研究工業電子和機械人控制的讀

者,會在這些練習中學習到不少知識。這本書透過詳細步驟,編寫簡單的程式讓輪型

機器人做以下工作:

1. 利用感測器偵測周圍的環境。

2. 根據感測值作出決定。

3. 控制輪型機器人自己運動。

4. 使人可以利用手機遙控 FBBCar。

本書實驗主題包括:馬達控制、車子左右輪控制、觸鬚導航、循跡自走車、紅外

線避障自走車與用手機遙控車子等。書中所使用到的硬體設備為 Altera FPGA 設計的

數位電路控制板;使用的輪型機器人為普特公司的 FBBCar;所使用到的軟體包括系

統設計軟體 Quartus II 與模擬軟體 ModelSim-Altera;使用到的感測器與元件如表 1-1

所示。

表 1-1 本書使用到的零件

零 件 個 數

FBBCar 1

電阻 220 歐姆 2

電阻 10k 歐姆 2

電阻 1k 歐姆 2

電阻 2k 歐姆 2

電阻 470k 歐姆 2

壓電揚聲器 1

紅外線發射器 950nm 2

紅外線發射安裝外殼(黑色) 2

紅外線接收器 38kHz 2

光敏電阻 2

3PIN 排針 2

金屬導電觸鬚 2

藍芽模組 1

智慧手機 1

Page 3: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

軟體與硬體介紹

3

01

Altera的 Quartus II 是用在 CPLD、FPGA、SoC FPGA 與 HardCopy ASIC設計的

軟體。Quartus II 12.1 軟體提供全面的設計環境,包括基於 C 語言、系統、IP 或模組

的設計輸入工具。

以下介紹本書所使用的軟體下載方式與硬體設備。

1-1 | Altera Installer安裝軟體工具下載

我們可以利用 Altera Installer 安裝軟體工具選擇想要安裝的軟體與與元件,其中

一個設定畫面如圖 1-1 所示,使用 Altera Installer 可以降低下載軟體檔案大小的 50%。

Quartus II Web Edition 網路版及 ModelSim-Altera Starter Edition初學者版均不需要費

用及授權檔,而 Quartus II Subscription Edition 專業版雖然需要付費,但是有 30 天的

免費試用期。

圖 1-1 Altera Installer 安裝軟體工具

Altera 每季都會更新軟體版本,可以從 Altera 官方網站(http://www.altera.com)右

上方的「Download Center」下載最新的軟體,如圖 1-2 所示。

Page 4: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

4

圖 1-2 Altera 網頁「Download Center」連結

從「Download Center」連結點進去,可以看到如圖 1-3 所示的頁面。

圖 1-3 「Download Center」頁面

若作業環境為 Windows 系統,點選右邊的「Download Windows Version」,會進入

「myAltera Account Sign-In」網頁,如圖 1-4 所示。

Page 5: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

軟體與硬體介紹

5

01

圖 1-4 「myAltera Account Sign-In」網頁

若是選擇「Get One-Time Access」,在「Enter your email address」處輸入「個人

e-mail 帳號」,如圖 1-4 所示,再按「Get One-Time Aceess」。

另外新開啟一頁面如圖 1-5 所示。

圖 1-5 下載檔案

Page 6: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

6

進入「About the Download Manager」頁面,如圖 1-6 所示,若不能啟動「Download

Manager」,可直接選擇「download file without using the Download Manager」。

圖 1-6 下載檔案

出現詢問視窗,如圖 1-7 所示,選擇「儲存」。

圖 1-7 詢問視窗

將「altera_Installer.external.exe」檔案儲存在電腦下載目錄,讀者可另外儲存至 D

槽的 Tools目錄中,如圖 1-8 所示。

圖 1-8 轉存至 D 槽的 Tools 目錄中

1-2 | 軟體安裝

執行「altera_installer.external」,出現詢問視窗,如圖 1-9 所示,按「執行」開始

安裝。

Page 7: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

軟體與硬體介紹

7

01

圖 1-9 詢問視窗

進入開始安裝畫面,如圖 1-10 所示。

圖 1-10 開始安裝畫面

出現使用權授權畫面,將右邊捲軸拉至最底,勾選「I agree to the terms of the

license agreement」,如圖 1-11 所示,按「Next」鍵。

Page 8: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

8

圖 1-11 使用權授權畫面

出現 Proxy 設定畫面,直接按「Next」,設定如圖 1-12 所示。

圖 1-12 Proxy 設定畫面

Page 9: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

軟體與硬體介紹

9

01

出現檢查網路畫面,再出現安裝目錄設定,可以保持預設值,如圖 1-13所示,按「Next」

鍵。

圖 1-13 選擇安裝目錄

若是免費的網路版,需要選擇安裝軟體,如「Quartus II Web Edition software」、

「ModelSim-Altera Starter Edition(Free)」與「Nios II Embedded Design Suite」,如圖 1-14

所示。注意安裝空間需要 11602MB,若是空間不足,需清出足夠硬碟空間才能繼續安

裝,按「Next」鍵。

圖 1-14 選擇安裝軟體

Page 10: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

10

進入 Summary 頁面,如圖 1-15 所示,按「Next」鍵。

圖 1-15 Summary 頁面

開始安裝,如圖 1-16 所示。

圖 1-16 開始安裝

Page 11: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

軟體與硬體介紹

11

01

安裝完成後開啟之 Quartus II 畫面如圖 1-17 所示。

圖 1-17 Quartus II 視窗

若是有連線到網路,點選右下角「View Quartus II Information」,會連結到 Altera

網站,如圖 1-18 所示。

圖 1-18 Quartus II 資訊

Page 12: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

12

1-3 | FBBCar介紹

FBBCar 輪型機器人的造型如圖 1-19 所示,具有可程式控制的左輪與右輪,與一

個尾輪。

圖 1-19 FBBCar 輪型機器人外型

此 FBBCar 搭載著一片 PCB 板,上方有一個 FPGA 開發板 DE0-Nano 與一個小麵

包板,如圖 1-20 所示。

圖 1-20 FBBCar 之 PCB 板與 FPGA 開發板 DE0-Nano

此輪型機器人的大腦是使用一塊 FPGA 開發板 DE0-Nano,DE0-Nano 的產品網站

為:http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=Taiwan&CategoryNo

=145&No=603。DE0-Nano 是一個 FPGA 開發平台,適用於自動控制裝置和便於攜帶

的產品原型電路設計,此平台採用具有 22,320 個邏輯單元(Les)的 Cyclone IV 晶片。

DE0-Nano 的介面包括兩個可以擴充的外接 GPIO、同步動態隨機存取記憶體(SDRAM)

Page 13: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

軟體與硬體介紹

13

01

和可擦除記憶體(EEPROM),可用於較大容量的數據儲存與緩衝,同時也配置一般用

戶經常使用的 LED指示燈和按鍵等周邊設備。

DE0-Nano 具有小尺寸與重量輕的優點,並且不需攜帶太多的硬體設備就能夠重

新配置,這些特點明顯地區分了 DE0-Nano 與其他一般用途的開發板。另外,對於大

部分可攜式設計來說,電源攜帶的方便性也是重要功能之一,這款 DE0-Nano 就提供

了 USB mini-AB 接口(5V)、兩針的外接電源接頭(3.6-5.7V),和兩個 5V 直流電源接頭

接口,共三種供電模式。DE0-Nano 外觀正面說明如圖 1-21 所示。

圖 1-21 DE0-Nano 正面外觀說明

DE0-Nano 背面的 GPIO_2 公接頭(26 腳)與 PCB 板上的 26 腳之母接頭相接,

如圖 1-22 所示。

圖 1-22 GPIO_2 接頭

Page 14: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

14

小麵包板的周邊接口與 DE0-Nano 板之 GPIO_2 之接腳如圖 1-23 所示。

圖 1-23 小麵包板的周邊接口與 DE0-Nano 板之 GPIO_2 之接腳圖

感測器等電路可以插在小麵包板並利用周邊的接腳連接至 DE0-Nano 之 GPIO_2

與 FPGA 相接。感測器連接在小麵包板上之範例如圖 1-24 所示。

圖 1-24 感測器電路連接在小麵包板上之範例

1-4 | 隨書光碟內容

本書光碟內容整理如表 1-2 所示。

Page 15: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

軟體與硬體介紹

15

01

表 1-2 隨書光碟內容

目 錄 內 容 說明

urre 藍芽接收控制程式 8-1

logic 邏輯運算電路 2-1

mux 多工器 2-2

comp 比較器 2-3

adder 加法器 2-4

flip_flop 暫存器 2-5

counter 計數器 2-6

Verilog

state_machine 狀態機 2-7

logic 邏輯運算電路 2-1

mux 多工器 2-2

comp 比較器 2-3

adder 加法器 2-4

flip_flop 暫存器 2-5

counter 計數器 2-6

DE0-Nano

VHDL

state_machine 狀態機 2-7

divider_v 除頻器之 Verilog HDL 設計 3-2-1

divider_vhd 除頻器之 VHDL 設計 3-2-2

pwm_v PWM 訊號產生器之 Verilog HDL 設

3-3-1

pwm_vhd PWM 訊號產生器之 VHDL 設計

motor_control_v DE0-nano 控制連續旋轉馬達電路之

Verilog HDL 設計

3-4-1

motor_control_vhd DE0-nano 控制連續旋轉馬達電路

VHDL 設計

motor_switch_v 指 撥 開 關 控 制 馬 達 轉 動 電 路 之

Verilog HDL 設計

3-5-1

motor_switch_vhd 指撥開關控制馬達轉動電路之 VHDL

設計

forward FBBCar 前進控制電路設計 4-1-1

DE0-Nano

motor_360_v FBBCar 左轉一圈控制電路之 Verilog

HDL 設計

4-2-1

Page 16: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

16

表 1-2 隨書光碟內容(續)

目 錄 內 容 說明

motor_360_vhd FBBCar 左轉一圈控制電路之 VHDL

設計

motor_switch_two_v FBBCar 指撥開關控制兩個馬達轉動

之 Verilog HDL 設計

4-3-1

motor_switch_two_vhd FBBCar 指撥開關控制兩個馬達轉動

之 VHDL 設計

motor_action_v FBBCar 連續變換動作電路設計之

Verilog HDL 設計

4-4-1

motor_action_vhd FBBCar 連續變換動作電路設計之

VHDL 設計

motor_whisker_v FBBCar 觸鬚導航之 Verilog HDL 設

5-1-1

motor_whisker_vhd FBBCar 觸鬚導航之 VHDL 設計

motor_whisker_speaker 壓電揚聲器控制電路設計 5-2-1

FBBcar_whisker_speaker FBBCar 觸鬚導航結合壓電揚聲器電

路設計

5-2-2

FBBCar_whisker_back_v FBBCar 觸鬚導航會倒車 5-3

DE0_NANO_ADC 光敏電阻與 FBBCar 上 DE0-Nano 組

6-1

DE0_NANO_ADC 顯示一個光敏電阻感測值於 FBBCar

上之 LED 燈

6-2

DE0_NANO_ADC_2CH/D

E0_NANO_ADC/

顯示 2 個光敏電阻感測值於 FBBCar

之 LED 燈

6-3

DE0_NANO_ADC_2CH_

mux/ DE0_NANO_ADC/

指撥開關控制 2個光敏電阻感測值顯

示於 FBBCar 之 LED 燈

6-4

DE0_Nano_ControlPanel 兩個光敏電阻與 FBBCar 組合 6-5-1

DE0_NANO_ADC_motor/

DE0_NANO_ADC/

沿黑色行走之 FBBCar 6-5-2

DE0_NANO_ADC_motor

_speaker/DE0_NANO_A

DC/

沿黑色行走之 FBBCar 結合壓電揚聲

器電路設計

6-5-3

DE0-Nano

LEDPLL 使用 PLL 產生 38KHz 的訊號 7-1-1

Page 17: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

軟體與硬體介紹

17

01

表 1-2 隨書光碟內容(續)

目 錄 內 容 說明

IR_LED_controller_v 紅外線 LED 驅動電路訊號控制器與

Signal Tap II 觀察訊號

7-1-2

IR_sensor_v 使用一組 IR 感測器訊號處理設計 7-2

IR_sensor_v 使用 SignalTap II 邏輯分析儀觀察 IR

感測器訊號處理電路之脈波訊號

7-3

IR_sensor_two_v 使用兩組 IR 感測器訊號處理設計 7-4

motor_IR_sensor_v FBBCar結合兩組 IR發射器與感測器

實現避障控制

7-5-1

FBBCar_IR_debounce 加入除雜訊電路之 FBBCar 結合兩組

IR 發射器與感測器實現避障控制

7-5-2

UART_LED 手機 APP按鍵編碼顯示於 FBBCar之

LED 燈

8-1

DE0-Nano

FBBcar_mobile_control 智慧手機遙控 FBBCar 8-2

FBBCar_APP.apk 手機 APP 8-1

Page 18: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

18

Page 19: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

02

使用硬體描述語言

設計數位電路

2-1 Quartus II專案建立方式與文字編輯環境

2-2 多工器之設計與模擬

2-3 比較器之設計與模擬

2-4 加法器之設計與模擬

2-5 暫存器之設計與模擬

2-6 計數器之設計與模擬

2-7 狀態機之設計與模擬

Page 20: 軟體與硬體介紹 - wun-ching.com.t€¦ · 軟體與硬體介紹 13 01 和可擦除記憶體(eeprom),可用於較大容量的數據儲存與緩衝,同時也配置一般用

20

本書將以 Verilog HDL 設計電路,而第二章先以簡單的電路學習基本語法,並將之轉

換成暫存器轉移級(RTL)之圖形,以強調硬體電路的觀念。另一常用之設計語言 VHDL 因

語法規則嚴謹,且很多學校都有開設 VHDL 硬體描述課程,故在隨書光碟中提供對照之

VHDL 程式,以利讀者參考與轉換。

1. 多工器之 Verilog HDL 設計和模擬。

2. 比較器之 Verilog HDL 設計和模擬。

3. 加法器之 Verilog HDL 設計和模擬。

4. 暫存器之 Verilog HDL 設計和模擬。

5. 計數器之 Verilog HDL 設計和模擬。

6. 狀態機之 Verilog HDL 設計和模擬。

本章節將介紹後面幾章常使用到的電路,包括多工器、計數器、比較器與狀態機

等。以下先介紹 Quartus II專案建立方式與文字編輯環境,並且運用 ModelSim-Altera

軟體模擬電路功能是否正確。

學生發問:

老師,請問這門課要灌哪些軟體,分別是做什麼用的呢?

老師回答:

要裝 Quartus II與 ModelSim-Altera軟體。Quartus II 是做數位電路設計用的軟體,

ModelSim-Altera 是要做電路模擬的軟體。在 Altera 網站可以下載免費的軟體喔!本書第

一章有介紹如何下載與安裝喔!