英特爾LOGO

使用 Nios II 處理器透過 UART 的英特爾 MAX 10 FPGA 設備

intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-產品

產品資訊

此參考設計提供了一個簡單的應用程序,可在 MAX 10 FPGA 裝置的基於 Nios II 的系統中實現基本的遠端配置功能。 MAX 10 FPGA 開發套件中包含的 UART 介面與 Altera UART IP 核心一起使用,以提供遠端設定功能。 MAX10 FPGA 元件能夠儲存最多兩個配置映像,進一步增強了遠端系統升級功能。

縮寫

縮寫 描述
Avalon-MM Avalon 記憶體映射配置快閃記憶體
CFM 圖形使用者介面
國際商業銀行 初始化配置位
地圖/.map 記憶體映射 File
尼奧斯II EDS Nios II 嵌入式設計套件支援
肺纖維化 並行快閃記憶體載入器IP核
POF/.pof 程式設計師對象 File
QSPI 四串行週邊接口
RPD/.rpd 原始程式設計數據
SBT 軟件構建工具
SOF/.sof SRAM對象 File
大車 通用異步接收器/發送器
UFM 使用者快閃記憶體

產品使用說明

先決條件

此參考設計的應用要求您在以下領域具備指定的知識或經驗程度:

要求:

以下是參考設計的硬體和軟體需求:

參考設計 Files

File 姓名 描述
工廠圖片 在雙配置鏡像配置模式下,CFM1和CFM2
組合成單一 CFM 儲存。
應用程式圖像_1 Quartus II 硬體設計 file 取代 app_image_2
在遠端系統升級期間。
應用程式圖像_2 Nios II 軟體應用程式程式碼充當控制器
遠端升級系統設計。
遠端系統升級.c
工廠_application1.pof Quartus II 編程 file 由工廠圖像和
應用程式映像 1,將被編程到 CFM0 和 CFM1 & CFM2
分別在初始 stage.
工廠應用程式1.rpd
application_image_1.rpd
application_image_2.rpd
Nios_application.pof

此參考設計提供了一個簡單的應用程序,可在 MAX 10 FPGA 裝置的基於 Nios II 的系統中實現基本的遠端配置功能。 MAX 10 FPGA 開發套件中包含的 UART 介面與 Altera UART IP 核心一起使用,以提供遠端設定功能。

相關資訊

參考設計 Files

使用 MAX 10 FPGA 進行遠端系統升級view

透過遠端系統升級功能,可以遠端完成 FPGA 設備的增強和錯誤修復。在嵌入式系統環境中,韌體需要透過各種類型的協定(例如UART、乙太網路和I2C)頻繁更新。當嵌入式系統包含FPGA時,韌體更新可以包含FPGA上的硬體映像的更新。
MAX10 FPGA 元件能夠儲存最多兩個配置映像,進一步增強了遠端系統升級功能。其中一張影像將作為當前影像發生錯誤時載入的備份影像。

縮寫

表 1:縮寫列表

縮寫 說明
Avalon-MM Avalon 記憶體映射
CFM 配置快閃記憶體
圖形使用者介面 圖形使用者介面
國際商業銀行 初始化配置位
地圖/.map 記憶體映射 File
尼奧斯II EDS Nios II 嵌入式設計套件支援
肺纖維化 並行快閃記憶體載入器IP核
POF/.pof 程式設計師對象 File
  • 英特爾公司。 版權所有。 英特爾、英特爾標識、Altera、Arria、Cyclone、Enpirion、MAX、Nios、Quartus 和 Stratix 文字和標識是英特爾公司或其子公司在美國和/或其他國家/地區的商標。 英特爾保證其 FPGA 和半導體產品的性能符合英特爾的標准保證,符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 除非英特爾明確書面同意,否則英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務。 建議英特爾客戶在依賴任何已發布的信息以及下訂單購買產品或服務之前獲取最新版本的設備規格。
  • 其他名稱和品牌可能被聲稱為其他人的財產。

先決條件

縮寫

QSPI

描述

四串行週邊接口

RPD/.rpd 原始程式設計數據
SBT 軟件構建工具
SOF/.sof SRAM對象 File
串口 通用異步接收器/發送器
UFM 使用者快閃記憶體

先決條件

  • 此參考設計的應用要求您在以下領域具備指定的知識或經驗程度:
  • Nios II 系統的工作知識以及建構這些系統的工具。這些系統和工具包括 Quartus® II 軟體、Qsys 和 Nios II EDS。
  • 了解 Intel FPGA 配置方法和工具,例如 MAX 10 FPGA 內部配置、遠端系統升級功能和 PFL。

要求

  • 以下是參考設計的硬體和軟體需求:
  • MAX 10 FPGA 開發套件
  • 帶有 Nios II EDS 的 Quartus II 版本 15.0
  • 具有可用 UART 驅動程式和介面的計算機
  • 任何二進制/十六進制 file 編輯

參考設計 Files

表2: 設計 File包含在參考設計中

File 姓名

工廠圖片

描述

• Quartus II 硬體設計 file 儲存在CFM0中。

• 應用程式映像下載中發生錯誤時要使用的後備映像/出廠映像。

應用程式圖像_1 • Quartus II 硬體設計 file 儲存在CFM1和CFM2中。

• 裝置中載入的初始應用程式映像。

  1. 在雙重配置映像配置模式下,CFM1 和 CFM2 組合為單一 CFM 儲存。
File 姓名

應用程式圖像_2

描述

Quartus II 硬體設計 file 在遠端系統升級期間取代 app_image_2。

Remote_system_upgrade.c Nios II 軟體應用程式碼可作為遠端升級系統設計的控制器。
遠端終端.exe • 執行檔 file 帶有圖形使用者介面。

• 作為主機與MAX 10 FPGA 開發套件互動的終端。

• 透過UART 發送編程資料。

• 包含該終端的原始碼。

表 3:主控 File包含在參考設計中

這些大師都可以用 file用於參考設計,無需編譯設計 files.

File 姓名

 

工廠_應用程式1.pof 工廠_應用程式1.rpd

描述

Quartus II 編程 file 由工廠映像和應用程式映像 1 組成,在初始 s 時分別編程到 CFM0 和 CFM1 和 CFM2tage.

工廠_應用程式2.pof 工廠_應用程式2.rpd • Quartus II 編程 file 由工廠映像和應用程式映像 2 組成。

• 稍後將在遠端系統升級期間提取應用程式映像2 以取代應用程式映像1,如下命名為application_ image_2.rpd。

application_image_1.rpd Quartus II 原始程式數據 file 僅包含應用程式映像 1。
application_image_2.rpd Quartus II 原始程式數據 file 僅包含應用程式映像 2。
Nios_application.pof • 程式設計 file 包含 Nios II 處理器軟體應用程式.hex file 僅有的。

• 編程到外部QSPI 快閃記憶體中。

pfl軟體 • Quartus II .sof 含有 PFL。

• 編程到MAX 10 FPGA 開發套件上的QSPI 快閃記憶體中。

參考設計功能描述intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-1

Nios II Gen2 處理器

  • 參考設計中的Nios II Gen2處理器具有以下功能:
  • 總線主控器處理 Altera 片上快閃 IP 核心的所有介面操作,包括讀取、寫入和擦除。
  • 提供一種軟體演算法,用於從主機接收編程位元流並透過雙配置 IP 核觸發重新配置。
  • 您需要相應地設定處理器的複位向量。這是為了確保處理器從 UFM 或外部 QSPI 快閃記憶體啟動正確的應用程式程式碼。
  • 筆記: 如果 Nios II 應用程式程式碼較大,Intel 建議您將應用程式程式碼儲存在外部 QSPI 快閃記憶體中。在此參考設計中,重設向量指向儲存 Nios II 應用程式碼的外部 QSPI 快閃記憶體。

相關資訊

  • Nios II Gen2 硬體開發教程
  • 提供有關開發 Nios II Gen2 處理器的更多資訊。

Altera 片上快閃 IP 核

  • Altera 片上快閃 IP 核心充當 Nios II 處理器的接口,對 CFM 和 UFM 執行讀取、寫入或擦除操作。 Altera 片上快閃 IP 核心可讓您使用新的設定位元流存取、擦除和更新 CFM。 Altera On-Chip Flash IP 參數編輯器顯示每個記憶體磁區的預定位址範圍。

相關資訊

  • Altera 片上快閃 IP 核
  • 提供有關 Altera 片上閃存 IP 核的更多資訊。

Altera 雙配置 IP 核

  • 您可以使用 Altera 雙重配置 IP 核心存取 MAX 10 FPGA 元件中的遠端系統升級模組。 Altera 雙配置 IP 核心可讓您在下載新映像後觸發重新配置。

相關資訊

  • Altera 雙配置 IP 核
  • 提供有關 Altera 雙配置 IP 核心的更多信息

Altera UART IP 核

  • UART IP 核允許 MAX 10 FPGA 中的嵌入式系統與外部元件之間進行序列字元流通訊。作為 Avalon-MM 主設備,Nios II 處理器與作為 Avalon-MM 從設備的 UART IP 核進行通訊。這種通訊是透過讀寫控制和資料暫存器來完成的。
  • 此核心實現RS-232協定定時並提供以下功能:
  • 可調波特率、奇偶校驗、停止位和資料位
  • 可選 RTS/CTS 流量控制訊號

相關資訊

  • 串口核心
  • 提供有關 UART 核心的更多資訊。

通用四路 SPI 控制器 IP 核

  • 通用四路 SPI 控制器 IP 核充當 MAX 10 FPGA、外部快閃記憶體和板載 QSPI 快閃記憶體之間的介面。核心透過讀取、寫入和擦除操作提供對 QSPI 快閃記憶體的存取。
    當 Nios II 應用程式擴展更多指令時, file 六角形的尺寸 file 從 Nios II 產生的應用程式會更大。超過一定的大小限制,UFM 將沒有足夠的空間來儲存應用程式十六進位 file。為了解決這個問題,您可以使用 MAX 10 FPGA 開發套件上提供的外部 QSPI 快閃記憶體來儲存應用程式十六進位 file.

Nios II EDS 軟體應用程式設計

  • 此參考設計包括控制遠端升級系統設計的 Nios II 軟體應用程式碼。 Nios II 軟體應用程式程式碼透過執行特定​​指令,透過 UART 回應主機終端。

遠端更新應用程式映像

  • 傳輸程式設定比特流後 file 使用遠端終端,Nios II 軟體應用程式旨在執行以下操作:
  1. 設定 Altera On-Chip Flash IP 核心控制暫存器以取消對 CFM1 和 2 磁區的保護。
  2. 對CFM1和CFM2執行磁區擦除操作。軟體輪詢 Altera 片上快閃 IP 核心的狀態暫存器,以確保擦除已成功完成。
  3. 從 stdin 一次接收 4 個位元組的位元流。標準輸入和輸出可用於直接從主機終端接收資料並將輸出列印到主機終端上。標準輸入和輸出選項的類型可以透過 Nios II Eclipse Build 工具中的 BSP 編輯器進行設定。
  4. 反轉每個位元組的位元順序。
    • 筆記: 由於Altera On-Chip Flash IP Core的配置,每個位元組的資料在寫入CFM之前都需要反轉。
  5. 開始向CFM4和CFM1一次寫入2個位元組的資料。該過程持續到編程比特流結束。
  6. 輪詢 Altera On-Chip Flash IP 的狀態暫存器以確保寫入操作成功。提示訊息表明傳輸已完成。
    • 筆記: 如果寫入操作失敗,終端將停止位元流傳送程序並產生錯誤訊息。
  7. 設定控制暫存器以重新保護 CFM1 和 CFM2,以防止任何不必要的寫入操作。

相關資訊

  • 透過 Convert 編程產生 pof File森
  • 提供有關創建 rpd 的信息 files 在轉換程式設計期間 files.

遠端觸發重新配置

  • 在主機遠端終端中選擇觸發重新配置操作後,Nios II 軟體應用程式將執行以下操作:
  1. 從標準輸入接收命令。
  2. 透過以下兩個寫入操作開始重新配置:
  • 將 0x03 寫入雙配置 IP 核中 0x01 的偏移位址。此操作會覆寫實體 CONFIG_SEL 接腳並將映像 1 設定為下一個啟動設定映像。
  • 將 0x01 寫入雙配置 IP 核中 0x00 的偏移位址。此操作會觸發 CFM1 和 CFM2 中的應用程式映像的重新配置

參考設計演練intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-2

產生程式設計 Files

  • 您必須產生以下程序 file在 MAX 10 FPGA 開發套件上使用遠端系統升級之前:

對於 QSPI 程式設計:

  • 軟體——使用 參考設計中包含的 pfl.sof,或者您可以選擇建立包含您自己的 PFL 設計的不同 .sof
  • pof—配置 file 從 .hex 產生並編程到 QSPI 快閃記憶體中。
  • 為了 遠端系統升級:
  • pof—配置 file 從 .sof 產生並編程到內部快閃記憶體。
  • rpd—包含 內部快閃記憶體的數據,包括 ICB 設定、CFM0、CFM1 和 UFM。
  • 地圖——持有 ICB 設定、CFM0、CFM1 和 UFM 的每個儲存磁區的位址。

產生 file用於 QSPI 程式設計的 s

生成 .pof file 對於 QSPI 編程,請執行以下步驟:

  1. 建立 Nios II 專案並產生 HEX file.
    • 筆記: 有關建置 Nios II 專案和產生 HEX 的信息,請參閱 AN730:MAX 10 裝置中的 Nios II 處理器引導方法 file.
  2. 上 File 選單,點擊轉換編程 Files.
  3. 在輸出程式設計下 file,選擇程式設計師對象 File (.pof) 在程式設計中 file 類型列表。
  4. 在模式清單中,選擇 1 位元被動串列。
  5. 在配置設備清單中,選擇CFI_512Mb。
  6. 在 File 名稱框,指定 file 程式設計名稱 file 你想創造。
  7. 在輸入中 files 轉換列表,刪除選項和 SOF 資料行。按一下“新增十六進位資料”,將出現“新增十六進位資料”對話方塊。在「新增十六進位資料」方塊中,選擇「絕對定址」並插入 .hex file 從 Nios II EDS 建置工俱生成。
  8. 全部設定完成後,點選Generate,產生相關編程 file.

相關資訊

AN730:MAX 10 FPGA 裝置中的 Nios II 處理器啟動方法
產生 file遠端系統升級

產生 .pof、.map 和 .rpd file如需遠端系統升級,請執行下列步驟:

  1. 還原 Factory_image、application_image_1 和 application_image_2,並編譯所有三個設計。
  2. 生成兩個.pof file如下表所示:
    • 筆記: 參考透過Convert編程產生.pof Files 產生 .pof 的步驟 files.intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-3
  3. 使用任何十六進位編輯器開啟 app2.rpd。
  4. 在十六進位編輯器中,參考.map,根據起止偏移選擇二進位資料塊 file。 10M50 裝置的起始偏移量和結束偏移量分別為 0x12000 和 0xB9FFF。將此區塊複製到新區塊 file 並將其保存在不同的 .rpd 中 file。這個新的.rpd file 僅包含應用程式圖像 2。intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-4

透過 Convert 編程產生 pof Files

轉換 .sof files 到 .pof files,請按以下步驟操作:

  1. 上 File 選單,點擊轉換編程 Files.
  2. 在輸出程式設計下 file,選擇程式設計師對象 File (.pof) 在程式設計中 file 類型列表。
  3. 在模式清單中,選擇內部配置。
  4. 在 File 名稱框,指定 file 程式設計名稱 file 你想創造。
  5. 產生記憶體映射 File (.map),開啟建立記憶體映射 File (自動產生輸出_file。 .map 包含 CFM 和 UFM 的位址以及您透過選項/啟動資訊選項設定的 ICB 設定。
  6.  若要產生原始程式資料 (.rpd),請開啟建立設定資料 RPD(產生輸出_file_auto.rpd)。
    借助記憶體映射 File,您可以輕鬆識別.rpd中每個功能區塊的數據 file。您也可以為第三方編程工具提取閃存數據,或透過 Altera 片上閃存 IP 更新配置或用戶數據。
  7. .sof可以透過Input添加 files 轉換列表,最多可以增加兩個 .sof files.
    • 為了進行遠端系統升級,您可以保留 .pof 中原始的 page 0 數據,並用新的 .sof 取代 page 1 數據 file。要執行此操作,您需要新增 .pof file 在第 0 頁,然後
      新增 .sof 頁面,然後新增新的 .sof file 到
  8. 全部設定完成後,點選Generate,產生相關編程 file.

對 QSPI 進行編程

若要將 Nios II 應用程式程式碼程式設計到 QSPI 快閃記憶體中,請執行下列步驟:

  1. 在 MAX 10 FPGA 開發套件上,將 MAX10_BYPASSn 切換為 0 以旁路板載 VTAP (MAX II) 裝置。
  2. 將 Intel FPGA 下載電纜(以前稱為 USB Blaster)連接到 JTAG 標頭。
  3. 在“編程器”視窗中,按一下“硬體設定”並選擇“USB Blaster”。
  4. 在模式清單中,選擇 JTAG.
  5. 按一下左側窗格中的“自動偵測”按鈕。
  6. 選擇需要燒錄的設備,點選新增 File.
  7. 選擇 pfl.sof。
  8. 單擊開始開始編程。
  9. 編程成功後,在不關閉開發板的情況下,再次按一下左側窗格中的「自動偵測」按鈕。您將看到 QSPI_512Mb 快閃記憶體出現在程式設計器視窗中。
  10. 選擇QSPI設備,然後按一下“新增” File.
  11. 選擇.pof file 之前從 .hex 生成 file.
  12. 點擊開始開始對 QSPI 快閃記憶體進行程式設計。

使用 J 對帶有初始映像的 FPGA 進行編程TAG

您必須將 app1.pof 編程到 FPGA 中作為設備初始映像。若要將 app1.pof 編程到 FPGA 中,請執行下列步驟:

  1. 在“編程器”視窗中,按一下“硬體設定”並選擇“USB Blaster”。
  2. 在模式清單中,選擇 JTAG.
  3. 按一下左側窗格中的“自動偵測”按鈕。
  4. 選擇需要燒錄的設備,點選新增 File.
  5. 選擇app1.pof。
  6. 單擊開始開始編程。

使用 UART 更新影像和觸發重新配置

若要遠端設定 MAX10 FPGA 開發套件,請執行下列步驟:

  1. 筆記: 在開始之前,請確保滿足以下條件:
    • 板上的 CONFIG_SEL 引腳設定為 0
    • 您的開發板的 UART 連接埠已連接到您的計算機
    • 開啟 Remote Terminal.exe,遠端終端介面將會開啟。
  2. 按一下設置,將出現序列埠設定視窗。
  3. 設定遠端終端的參數以符合 Quartus II UART IP 核中選擇的 UART 設定。設定完成後,按一下「確定」。intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-5
  4. 按下開發套件上的 nCONFIG 按鈕或在 Send 文字方塊中鍵入 1,然後按 Enter。
    • 終端機上會出現操作選擇列表,如下圖:intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-6
    • 筆記: 若要選擇操作,請在「傳送」文字方塊中鍵入數字,然後按 Enter 鍵。
  5. 若要使用應用程式映像 1 更新應用程式映像 2,請選擇操作 2。
    • 筆記: 地圖上顯示的地址 file 包括 ICB 設定、CFM 和 UFM,但 Altera 片上
    • Flash IP只能存取CFM和UFM。因此,映射中顯示的位址之間存在位址偏移 file 和 Altera On-Chip Flash IP 參數視窗。
  6. 根據Altera On-Chip Flash IP參數視窗指定的位址鍵入位址。intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-7
    • 輸入結束位址後,擦除將自動開始。intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-8
  7. 擦除成功後,會提示進入燒寫.rpd file 對於應用程式圖像 2。
    • 要上傳圖像,請點擊“發送”File 按鈕,然後選擇僅包含應用程式映像 2 的 .rpd,然後按一下「開啟」。
    • 筆記: 除了應用程式映像 2 之外,您還可以使用想要更新到裝置中的任何新映像。
    • 更新過程將直接開始,您可以透過終端機監控進度。操作選單會提示完成,您可以選擇下一步操作。
  8. 若要觸發重新配置,請選擇操作 4。
影像 LED 狀態(低電位有效)
工廠形象 01010
應用圖1 10101
應用圖2 01110

文件修訂歷史

日期 版本 變化
2017 年 XNUMX 月 2017.02.21 更名為英特爾。
2015 年 XNUMX 月 2015.06.15 初次發布。

文件/資源

使用 Nios II 處理器透過 UART 的英特爾 MAX 10 FPGA 設備 [pdf] 使用者指南
MAX 10 FPGA 裝置透過 UART 使用 Nios II 處理器、MAX 10 FPGA 裝置、透過 UART 使用 Nios II 處理器、透過 UART、Nios II 處理器 UART、Nios II、處理器 UART

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *