在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在FPGA中利用IP核實現SOC系統中的串口收發接口的設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-08-02 08:08 ? 次閱讀

1、概述

在基于FPGA的SOC設計中,常使用串口作為通信接口,但直接用FPGA進行串口通信數據的處理是比較繁雜的,特別是直接使用FPGA進行串口通信的協議的解釋和數據打包等處理,將會消耗大量的FPGA硬件資源。為簡化設計,降低硬件資源開銷,可以在FPGA中利用IP核實現的嵌入式微處理器來對串口數據進行處理。

本文中的設計采用了XILINX的FPGA,可選用的嵌入式微處理器IP核種類繁多,但基于對硬件資源開銷最少的考慮,最終選用了Picoblaze。

嵌入式微處理器PicoBlaze適用于Spartan-II/E、CoolRunner-II和Virtex系列FPGA,運行速度可達到40MIPS以上,提供49個不同的指令,16個寄存器,256個地址端口,1個可屏蔽的中斷。其性能超過了傳統的8bit微處理器。

Picoblaze使用靈活,但其缺點是可尋址的存儲空間非常有限,因此為滿足實際需要本文同時也提出了使用片外SDRAM器件對其存儲能力進行擴展的設計方法。

2、串口收發接口設計

2.1串口收發接口硬件設計

嵌入式微處理器PicoBlaze本身并不具備串行接口,因此必須在FPGA中設計串口接收和發送模塊并通過總線結構與Picoblaze連接。

串口接收和發送模塊的設計可采用成熟的IP核。實際設計中采用了XLINX的串口收發IP核,其特點是串口波特率,符號規則都可以靈活地定制,同時具有16字節的接收FIFO和16字節的發送FIFO。

使用Picoblaze和串口收發IP核構成的串口收發系統結構見圖1。

在設計中,發送模塊、接收模塊和標志寄存器分別有不同的地址,Picoblaze通過地址端口對串口收發模塊進行訪問。設計中的標志寄存器,可用于指示發送模塊和接收模塊中FIFO的狀態,Picoblaze通過查詢標志寄存器來完成對串口數據的收發控制。

2.2串口收發接口軟件設計

串口發送、接收子程序

Picoblaze通過對標志寄存器的查詢,根據FIFO的狀態進行操作。串口發送和接收子程序流程見圖2。

在FPGA中利用IP核實現SOC系統中的串口收發接口的設計

Picoblaze的編程,類似于匯編語言。

串口發送子程序代碼如下:

(1)串口接收子程序

receive:

INPUT s0,uartrxflag;查詢接收FIFO是否非空

AND s0,01

AND s0,s0

JUMP Z,receive;若FIFO為空時繼續查詢

INPUT rxdata,uartrx;若FIFO非空時讀取數據

RETURN

(2)串口接收子程序

translate:

INPUT s0,uarttxflag;查詢發送FIFO是否為空

AND s0,01

AND s0,s0

JUMP NZ,translate;若發送FIFO非空時繼續查詢

OUTPUTtxdata,uarttx;若發送FIFO為空時寫入數據

RETURN

協議處理子程序

本文應用中的串口通信,采用應答機制,數據具有一定的幀結構,Picoblaze需要對命令幀進行拆包處理,并根據幀的內容進行相應的操作,然后發送響應幀。

在FPGA中利用IP核實現SOC系統中的串口收發接口的設計

根據幀格式,Picoblaze對串口數據的處理流程見圖3。

在FPGA中利用IP核實現SOC系統中的串口收發接口的設計

以上的Picoblaze程序流程所處理的數據幀結構是較為簡單的,當需要處理復雜的通信協議時可以考慮采用多個Picoblaze并行處理。

3存儲器接口設計

Picoblaze的優點是資源占用少,使用靈活,但可尋址的地址空間最多為256字節,無法滿足對大量通信數據進行存儲的需要。因此本文中采用了SDRAM器件來對Picoblaze的存儲能力進行擴展。

SDRAM器件的管腳分為控制信號、地址和數據三類。通常一個SDRAM中包含幾個BANK,每個BANK的存儲單元是按行和列尋址的。SDRAM的具體特性見參考文獻[3]。

SDRAM在使用時需要專用的控制器來產生滿足SDRAM所需的信號。FPGA中SDRAM控制器也有多種IP核可以選用。出于對設計通用性的考慮,本文中采用了一款Altera提供的SDRAM控制器IP核,并增加了必要的設計以滿足與Picoblaze的接口要求。SDRAM控制器IP核的功能、原理見參考文獻[4]。

對Picoblaze與SDRAM控制器的接口設計有以下幾個出發點:

總線匹配

Picoblaze為8位處理器,數據線僅8bit,而SDRAM控制器總線寬度與SDRAM相同,可以為8、16或32bit。因此對于SDRAM控制器的數據Picoblaze必須以字節為單位進行處理。

地址控制

Picoblaze地址線僅8位,無法直接對SDRAM進行尋址。因此Picoblaze對SDRAM的尋址可借鑒先入先出存儲器FIFO的設計,即設計專門的地址計數器,通過地址計數器實現對SDRAM的尋址。

時序匹配

Picoblaze的運行速度不超過40MHz,而SDRAM的工作速度通常大于100MHz。因此為了滿足SDRAM的時序要求,要增加必要的緩沖機制。

3.1存儲器接口硬件設計

Picoblaze與SDRAM存儲器接口的硬件原理框圖見圖4。

在FPGA中利用IP核實現SOC系統中的串口收發接口的設計

控制狀態機控制的地址計數器為SDRAM控制器提供地址,同時控制狀態機還控制輸入數據緩沖區和輸出數據緩沖區,并且根據Picoblaze的地址端口數據和讀/寫使能信號產生SDRAM控制器的命令字。

(1)SDRAM初始化

每次加電或復位后控制狀

態機執行對SDRAM控制器的初始化操作,設置SDRAM的時間參數和刷新周期等。

(2)數據寫入SDRAM

輸出數據緩沖區由16×8bit的FIFO構成,當Picoblaze向輸出數據緩沖區寫入超過8個字節后,通過“半滿”信號使控制狀態機進入SDRAM的長度為8的突發寫模式,在寫入完成后控制狀態機將地址計數器增加8,以準備好下一次的寫入。

(3)數據讀取

數據讀取時Picoblaze首先向控制狀態機發送讀取請求,控制狀態機進入SDRAM的長度為1的突發讀模式,并將讀取的數據寫入輸入數據緩沖區,此后Picoblaze再由輸入數據緩沖區中讀取數據。在讀取后,地址計數器做相應的增加,以實現先入先出功能。

以上的設計方法適用于需要數據連續寫入后再連續讀取的場合。

控制狀態機狀態圖見圖5。

在FPGA中利用IP核實現SOC系統中的串口收發接口的設計

3.2存儲器接口軟件設計

由于在SDRAM控制器與Picoblaze之間增加了控制狀態機,簡化了Picoblaze的程序設計。

(1)數據寫入

數據寫入時Picoblaze向輸出數據緩沖區直接寫入數據即可。

(2)數據讀取

數據讀取時Picoblaze首先向控制狀態機發出請求,然后等待輸入數據緩沖區的數據準備就續后再讀取。

4結論

本文在XILINX FPGA中采用嵌入式處理器Picoblaze進行SOC設計,以較少的硬件資源實現了對串口通信數據的處理,同時采用SDRAM器件對Picoblaze的存儲能力進行擴展。所采用的設計已應用于多個產品中。經過了長期的使用和測試證明文中的設計方法穩定、可靠,并且具有資源占用少,設計靈活的優點。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21736

    瀏覽量

    603385
  • 嵌入式
    +關注

    關注

    5082

    文章

    19126

    瀏覽量

    305198
  • 微處理器
    +關注

    關注

    11

    文章

    2263

    瀏覽量

    82448
收藏 人收藏

    評論

    相關推薦

    USB_OTG_IPAMBA接口的設計與FPGA實現

    USB_OTG_IPAMBA接口的設計與FPGA實現
    發表于 08-06 11:40

    利用FPGA自帶的IP核實現雙口RAM用于2片MCU進行數據交換時多次讀數據后RAM數據變為了0

    利用FPGA自帶的IP核實現雙口RAM用于2片MCU進行數據交換時多次讀數據后RAM數據變為了0,是什么意思,打什么幫幫忙?。。。。。。。?/div>
    發表于 01-15 16:22

    開放核協議:IPSoC設計接口技術

    本文介紹了IP核的概念及其SoC設計的應用,討論了為提高IP核的復用能力而采用的IP核與
    發表于 12-11 11:07

    采用IP核實現PCI總線接口設計

    消息。ICMP回復消息經常被用來調用ping程序測試對方主機是否在線。嵌入式TCP/IP協議棧,ICMP回送消息用一種十分簡單的方式實現,即將ICMP類型的字段由echo類型改變為
    發表于 04-23 07:00

    采用IP核實現PCI總線接口設計

    嵌入式操作系統 和欣操作系統基于微內核,服務動態加載。內核包括硬件驅動(串口、USB、以太網卡、無線通信模塊)、內存管理等系統基本服務,如圖1所示。TCP/
    發表于 04-28 09:57

    求一種基于FPGASOC系統串口設計

    本文XILINX FPGA采用嵌入式處理器Picoblaze進行SOC設計,以較少的硬件資源實現了對
    發表于 04-29 06:22

    搭建一個SoC下載到FPGA開發板設計實現

    SoC下載到安路FPGA開發板,并編寫簡單的匯編代碼,利用KeilSoC平臺上進行調試運行。
    發表于 08-09 17:09

    測控系統中用IP 核實現D/A 轉換

    采用數字化技術, 測控系統中用IP 核實現D/A 轉換,并且1 片可編程邏輯器件
    發表于 04-16 08:51 ?11次下載

    測控系統中用IP核實現D/A轉換

    采用數字化技術, 測控系統中用IP 核實現D/A 轉換,并且1 片可編程邏輯器件
    發表于 05-15 15:09 ?12次下載

    基于FPGASOC系統串口設計

    基于FPGASOC 系統串口設計 作者:葛銳 歐鋼摘要:本文XILINX
    發表于 02-08 09:48 ?21次下載

    開放核協議—IPSoC設計接口技術

    摘    要:本文介紹了IP核的概念及其SoC設計的應用,討論了為提高IP核的復用能力而采用的
    發表于 06-07 11:11 ?674次閱讀

    測控系統中用IP核實現D/A轉換

    摘要:采用數字化技術、測控系統中用IP核實現D/A轉換,并且1片可編程邏輯器件
    發表于 06-20 15:04 ?1021次閱讀
    <b class='flag-5'>在</b>測控<b class='flag-5'>系統</b>中用<b class='flag-5'>IP</b><b class='flag-5'>核實現</b>D/A轉換

    W5100FPGA系統實現TCP_IP網絡通信

    介紹了W5100現場可編程門陣列(FPGA)系統實現TCP/IP網絡通信的方法。描述了W51
    發表于 04-24 15:13 ?297次下載
    W5100<b class='flag-5'>在</b><b class='flag-5'>FPGA</b><b class='flag-5'>系統</b><b class='flag-5'>中</b><b class='flag-5'>實現</b>TCP_<b class='flag-5'>IP</b>網絡通信

    IPSoC設計接口技術解析

    接口標準,因此,開發統一的IP接口標準對提高IP核的復用意義重大。本文簡單介紹IP核概念,然后從接口
    發表于 11-06 11:30 ?0次下載
    <b class='flag-5'>IP</b>核<b class='flag-5'>在</b><b class='flag-5'>SoC</b>設計<b class='flag-5'>中</b>的<b class='flag-5'>接口</b>技術解析

    如何使用FPGA進行仿真系統數據采集控制器IP核設計的資料概述

    介紹了大型工業模擬仿真系統利用FPGA和軟IP核實現
    發表于 11-07 11:14 ?20次下載
    如何使用<b class='flag-5'>FPGA</b>進行仿真<b class='flag-5'>系統</b>數據采集控制器<b class='flag-5'>IP</b>核設計的資料概述
    主站蜘蛛池模板: 国模福利| 亚洲黄视频| 国产一级特黄aa级特黄裸毛片| 黄色网一级片| 成人淫片| 天天干天天操天天爽| 久久福利网| 114毛片免费观看网站| 18免费视频| 深爱婷婷网| 波多野结衣久久精品| 永久免费观看黄网站| 在线天堂视频| 色噜噜狠狠网站| 韩国三级日本三级在线观看| 日本特黄绿像大片免费看| 400部大量精品情侣网站| 清朝荒淫牲艳史在线播放| 午夜激情啪啪| 久久国产乱子伦精品免| 午夜影院三级| 538porm在线看国产亚洲| 亚洲成人黄色网址| 日本三级黄视频| 磁力bt种子搜索在线| www.久久在线| 康熙古代高h细节肉爽文全文| 特黄大片aaaaa毛片| 国模福利| 91网站在线看| 色香欲综合成人免费视频| 2017亚洲男人天堂| 国产高清免费午夜在线视频| 免费观看交性大片| 日韩免费一级毛片| 97色婷婷成人综合在线观看| 国产理论片在线观看| 国产叼嘿免费视频网站| 欧美一区二区三区免费| 91在线色| 久久精品网站免费观看|