東海大學資訊工程與科學系專題報告FPGA-紅綠燈訊號控制
東海大學資訊工程與科學系專題報告FPGA-紅綠燈訊號控制
東海大學資訊工程與科學系專題報告FPGA-紅綠燈訊號控制
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
東 海 大 學 資 訊 工 程 與 科 學 系專 題 報 告FPGA- 紅 綠 燈 訊 號 控 制指 導 教 授 : 廖 啟 賢學 生 : 952864 徐 睿 霆中 華 民 國 一 百 年 一 月 五 日
目 次一 、 摘 要 ………………………………3二 、 前 言 ………………………………4三 、 背 景 知 識 介 紹 ……………………5四 、 設 計 原 理 分 析 …………………..10五 、 程 式 說 明 ………………………..12六 、 結 論 ……………………………..22七 、 參 考 文 獻 ………………………..232
一 、 摘 要在 上 學 期 接 觸 了 FPGA 的 課 程 後 , 不 僅 認 識 了 FPGA也 了 解 了 更 多 關 於 這 方 面 的 知 識 , 課 中 經 過 幾 個 簡 單 的實 作 練 習 後 , 想 到 其 實 在 生 活 中 許 多 周 遭 的 電 子 產 品 ,都 可 以 利 用 發 展 工 具 來 模 擬 、 設 計 。在 FPGA 的 多 媒 體 開 發 平 台 上 , 有 LED 燈 , 有 七 段 顯示 器 , 所 以 想 到 利 用 這 些 來 模 擬 紅 綠 燈 的 運 作 , 並 加 入控 制 的 功 能 , 來 增 加 用 路 的 便 利 性 , 例 如 , 可 延 長 綠 燈時 間 的 按 鈕 , 讓 身 障 者 過 馬 路 的 時 間 更 充 裕 , 或 者 某 些路 口 可 切 換 正 常 紅 綠 燈 功 能 , 或 改 閃 黃 燈 、 閃 紅 燈 , 以及 行 人 穿 越 用 的 燈 號 , 使 一 些 路 口 的 用 路 更 有 彈 性 , 所以 想 到 了 用 FPGA 的 發 展 工 具 模 擬 紅 綠 燈 , 再 使 用 按 鈕 或SWITCH 開 關 來 切 換 不 同 的 運 作 模 式 。3
二 、 前 言剛 開 始 的 構 想 是 利 用 多 媒 體 開 發 平 台 上 不 同 顏 色 的的 LED 燈 來 表 示 紅 、 黃 、 綠 三 種 燈 號 , 再 利 用 七 段 顯 示器 表 現 紅 燈 及 綠 燈 時 間 的 倒 數 , 按 鈕 1 可 以 縮 短 另 一 組紅 燈 時 間 , 按 鈕 2 可 延 長 該 組 綠 燈 時 間 ,SWITCH 開 關 可切 換 紅 綠 燈 的 運 作 模 式 , 可 改 為 閃 黃 燈 , 則 另 一 組 閃 紅燈 , 但 因 為 這 學 期 時 間 上 有 許 多 狀 況 耽 誤 , 所 以 只 先 進行 模 擬 紅 綠 燈 運 作 , 秒 數 倒 數 , 及 SWITCH 開 關 切 換 模 式的 部 分 。4
三 、 背 景 知 識 介 紹以 下 是 專 題 內 所 用 到 的 開 發 工 具 、 軟 體 , 以 及 相 關 的專 有 名 詞 的 介 紹 。1. FPGA (Field Programmable Gate Array)現 場 可 程 式 邏 輯 閘 陣 列 , 是 一 個 含 有 可 編 輯 元 件 的 半 導體 設 備 , 可 供 使 用 者 現 場 程 式 化 的 邏 輯 閘 陣 列 元 件 。 目 前 以硬 體 描 述 語 言 (Verilog 或 VHDL) 所 完 成 的 電 路 設 計 , 可 以經 過 簡 單 的 綜 合 與 佈 局 , 快 速 的 燒 錄 至 FPGA 上 進 行 測 詴 ,是 現 代 IC 設 計 驗 證 的 技 術 主 流 。 這 些 可 編 輯 元 件 可 以 被 用來 實 現 一 些 基 本 的 邏 輯 閘 電 路 ( 比 如 AND、OR、XOR、NOT)或 者 更 複 雜 一 些 的 組 合 功 能 比 如 解 碼 器 或 數 學 方 程 式 。 在 大多 數 的 FPGA 裡 面 , 這 些 可 編 輯 的 元 件 里 也 包 含 記 憶 元 件 例 如觸 發 器 (Flip-flop) 或 者 其 他 更 加 完 整 的 記 憶 塊 。系 統 設 計 師 可 以 根 據 需 要 通 過 可 編 輯 的 連 接 把 FPGA 內部 的 邏 輯 塊 連 接 起 來 , 就 好 像 一 個 電 路 詴 驗 板 被 放 在 了 一 個晶 片 裡 。 一 個 出 廠 後 的 成 品 FPGA 的 邏 輯 塊 和 連 接 可 以 按 照 設計 者 而 改 變 , 所 以 FPGA 可 以 完 成 所 需 要 的 邏 輯 功 能 。5
2. DE2-70Altera DE2-70 多 媒 體 開 發 平 台 配 備 了 數 量 高 達 70,000個 邏 輯 單 元 的 Altera Cyclone® II 2C70 和 更 大 容 量 的 記 憶體 元 件 , 並 完 全 承 襲 了 Altera DE2 多 媒 體 平 台 豐 富 的 多 媒體 、 儲 存 及 網 路 等 應 用 介 面 的 優 點 。圖 3-1 : Altera DE2-70 多 媒 體 開 發 平 台 。6
圖 3-2: Block diagram of the DE2-70 board.圖 3-3 : DE2-70 系 統 架 構 圖7
3. Quartus IIAltera 的 QuartusII 設 計 軟 體 提 供 一 個 非 常 容 易 適 應 特定 設 計 所 需 要 的 完 整 的 多 平 臺 設 計 環 境 。 它 是 一 個 可 程 化 晶片 系 統 (SOPC) 設 計 的 綜 合 性 環 境 。QuartusII 軟 體 包 括 FPGA和 CPLD 設 計 所 有 階 段 的 解 決 方 案 。QuartusII 軟 體 包 含QuartusII 圖 形 用 戶 介 面 、EDA 工 具 介 面 或 指 令 行 介 面 , 可 在整 個 流 程 中 僅 使 用 其 中 一 種 介 面 , 也 可 以 在 設 計 流 程 中 的 不同 階 段 , 依 各 人 喜 好 使 用 不 同 的 選 項 。圖 3-4: Quartus II 設 計 流 程8
4. VHDLVHDL 是Very High Speed Integrated Circuit(VHSIC)Description Language 的 縮 寫 , 即 超 高 速 集 成 電 路硬 體 描 述 語 言 。 簡 單 的 說 , 它 就 是 一 種 專 門 用 來 設 計 硬 體 電路 的 語 言 。 在 基 於 CPLD/FPGA 和 ASIC 的 數 位 系 統 設 計 中 有著 廣 泛 的 應 用 。VHDL 語 言 誕 生 於 1983 年 ,1987 年 被 美 國 國防 部 和 IEEE 確 定 為 標 準 的 硬 體 描 述 語 言 。 使 用 VHDL 作 數 位電 路 設 計 , 只 需 依 據 標 準 的 VHDL 語 言 規 範 , 描 述 複 雜 的 電 路系 統 , 再 用 一 般 軟 體 的 模 組 化 觀 念 , 描 述 數 位 系 統 的 規 格 及功 能 , 接 著 利 用 軟 體 ( 可 在 PC 或 工 作 站 上 執 行 ) 將 所 寫 的 VHDL編 譯 合 成 電 子 電 路 , 可 以 節 省 人 工 將 傳 統 電 子 元 件 拼 湊 成 電路 的 時 間 。VHDL 最 基 本 的 電 路 設 計 可 分 為 二 大 部 份 , 一 是entity declaration, 另 一 個 部 分 是 architecture body。圖 3-59
四 、 設 計 原 理 分 析以 六 個 LED 燈 代 表 兩 組 紅 綠 燈 , 四 個 七 段 顯 示器 , 每 兩 個 為 一 組 顯 示 倒 數 的 秒 數 , 再 以 SWITCH 開關 來 切 換 ,DIP 為 0 時 以 代 表 白 天 使 用 正 常 紅 綠 燈 模式 , DIP 為 1, 表 示 晚 上 改 成 閃 黃 燈 模 式 。其 顯 示 狀 況 為 :綠 燈 1 黃 燈 1 紅 燈 1 綠 燈 2 黃 燈 2 紅 燈 2第 一 組 紅 綠 燈 的 倒 數 秒 數第 二 組 紅 綠 燈 的 倒 數 秒 數10
圖 4-1 : 控 制 電 路 方 塊 總 圖11
五 、 程 式 說 明1. Time Base Generator此 為 一 除 頻 電 路 , 它 是 負 責 將 50MHZ 石 英 振 盪 頻 率 低 ,產 生 紅 綠 燈 計 秒 時 序 CLOCK、 黃 燈 閃 爍 的 時 序 YELLOW_CLK 與七 段 顯 示 器 掃 描 時 序 SCAN_CLK。 方 塊 電 路 如 圖 5-1。圖 5-112
2. Green Light1 Down Counter And Auto Reload為 一 個 可 自 動 載 入 的 綠 燈 1 倒 數 計 時 器 , 其 電 路 方 塊 如 圖 5-213
3. Green Light2 Down Counter And Auto Reload為 一 個 可 自 動 載 入 的 綠 燈 2 倒 數 計 時 器 , 其 電 路 方 塊 如 圖 5-2圖 5-214
4. Traffic Light Control15
此 部 分 為 一 紅 綠 燈 控 制 電 路 , 它 是 依 照 計 數 模 式 MODE 的內 容 來 決 定 紅 綠 燈 的 顯 示 動 作 。120~125 行 : 當 硬 體 執 行 重 置 RESET, 則(1) 設 定 紅 綠 燈 為 綠 燈 1 及 綠 燈 2 亮 , 其 餘 不 亮 。(2) 設 定 紅 綠 燈 的 計 數 模 式 為 ”000”, 以 便 重 頭 開 始 執 行 。(3) 設 定 黃 燈 顯 示 倒 數 計 數 值 為 ”1111” 以 便 往 後 倒 數 計 數(4) 設 定 綠 燈 1 及 綠 燈 2 的 G1_ENABLE、G2_ENABLE 為 ”0”,以 便 禁 止 兩 個 計 時 器 計 時 。126 行 判 斷 若 DAY_NIGHT=”1” 代 表 白 天 , 因 此 往 下 執 行 。128~169 行 依 MODE 的 內 容 執 行 紅 綠 燈 動 作 , 整 個 紅 綠 燈 控 制電 路 的 主 軸 為 計 數 模 式 MODE, 對 應 顯 示 狀 況 如 下 圖 ,MODE 計 數 值紅 綠 燈 的 顯 示 狀 況0 0 0 綠 燈 1 亮 , 紅 燈 2 亮0 0 1 綠 燈 1 閃 爍 , 紅 燈 2 亮0 1 0 黃 燈 1 亮 , 紅 燈 2 亮0 1 1 紅 燈 1 亮 , 綠 燈 2 亮1 0 0 紅 燈 1 亮 , 綠 燈 2 閃 爍圖 5-31 0 0 紅 燈 1 亮 , 黃 燈 2 亮16
5. 多 工 器第 173 行 ~ 第 176 行 為 多 工 器 。(1) 173 行 的 電 路 方 塊 如 圖 5-4圖 5-4當 MODE=”001” 時 , 綠 燈 1 的 輸 出 G1_LIGHT 訊號 為 YELLOW_CLK, 因 此 綠 燈 1 執 行 閃 爍 動 作 , 當 MODE內 容 不 為 ”001” 時 , 綠 燈 1 的 輸 出 G1_LIGHT 訊 號 為正 常 的 綠 燈 1 LIGHT(5) 顯 示 訊 號 。(2) 174 行 執 行 動 作 原 理 類 似 173 行 , 電 路 方 塊 如 圖 5-5圖 5-517
(3) 第 175 行 , 當 DAY_NIGHT 電 位 為 ”1” 代 表 白 天 , 此綠 燈 1 的 倒 數 計 時 輸 出 G1_COUNT_OUT 為 正 常 綠 燈 1倒 數 計 時 器 G1_COUNT, 當 DAY_NIGHT 電 位 為 ”0” 代表 晚 上 , 因 此 綠 燈 1 的 G1_COUNT 為 ”1111111”( 七段 顯 示 器 皆 不 亮 ), 其 電 路 方 塊 如 圖 5-6圖 5-6(4) 176 行 執 行 動 作 原 理 同 第 175 行 , 其 電 路 方 塊 如 圖 5-7圖 5-7(5) 第 177 行 則 將 紅 綠 燈 的 控 制 輸 出 接 到 LED 去 顯 示 。18
6. Decide Seven Segment Display Position為 一 七 段 顯 示 器 的 顯 示 位 置 掃 描 電 路 , 電 路 方 塊 如 圖 5-8圖 5-87. Decide Seven Segment Display Data唯 一 配 合 前 面 七 段 顯 示 器 的 顯 示 位 置 掃 描 電 路 的 顯 示 資 料 選19
擇 器 , 電 路 方 塊 如 圖 5-9圖 5-98. BCD To Seven Segment Decoder為 一 BCD 對 七 段 顯 示 器 的 解 碼 電 路 , 其 電 路 方 塊 如 圖 5-10圖 5-1020
9. 使 用 Quartus II 將 此 程 式 編 譯 的 結 果 , 如 圖 5-11圖 5—11此 電 路 方 塊 如 圖 5-12圖 5-1221
六 、 結 論在 此 次 專 題 中 , 程 式 設 計 的 部 分 有 查 詢 閱 讀 了 許 多 關於 VHDL 語 言 的 教 學 書 籍 及 網 路 上 的 參 考 範 例 , 把 電 路 的部 分 用 VHDL 寫 出 來 , 還 是 有 許 多 不 熟 悉 的 部 分 , 常 常 需要 找 一 些 範 例 來 幫 助 了 解 , 原 本 是 想 用 VerilogHDL,但 是 書 籍 以 及 網 路 上 的 範 例 找 到 的 以 VHDL 居 多 , 所 以 這次 專 題 是 使 用 VHDL。原 本 許 多 功 能 的 構 想 在 這 次 專 題 中 沒 有 實 做 出 來 , 沒有 足 夠 時 間 完 成 , 整 體 規 劃 上 也 不 夠 詳 細 , 不 過 在 做 這 次專 題 的 過 程 中 , 在 資 料 查 詢 或 程 式 的 編 寫 時 有 對 這 部 分 的技 術 有 更 多 的 接 觸 , 也 進 行 更 深 入 的 了 解 , 將 來 希 望 能 利用 FPGA 在 嘗 詴 更 多 的 設 計 , 把 一 些 想 法 透 過 FPGA 來 呈 現 。22
七 、 參 考 文 獻1. 維 基 百 科http://zh.wikipedia.org/zh-tw/2. 網 路 投 影 片http://www.eel.tsint.edu.tw/teacher/wbchang/ES_PT/Ch2.pdf3. 部 落 格 – 嵌 入 式 平 台 實 驗 室http://tw.myblog.yahoo.com/mathlab-net/4. DE2-70 的 參 考 文 件 :DE2_70_User_manual_v105My First FPGA Design Tutorialhttp://www.altera.com/5. VHDL 簡 介http://access.ee.ntu.edu.tw/course/VLSI_design_89first/homework/project/vhdl_introduction.htm6. VHDL 硬 體 描 述 語 言 數 位 電 路 設 計 實 務作 者 : 鄭 信 源 出 版 社 : 儒 林7. VHDL 與 FPGA 設 計作 者 : 胡 振 華 出 版 社 : 全 華 圖 書8. FPGA 晶 片 設 計 與 專 題 製 作作 者 : 劉 紹 漢 出 版 社 : 全 華 圖 書9. VHDL 與 FPGA 設 計作 者 : 胡 振 華 出 版 社 : 中 國 鐵 道 出 版 社23