0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MicroBlade 串口設(shè)計(jì)

中科億海微 ? 2023-08-18 08:14 ? 次閱讀

MicroBlade 處理器軟核 IP是實(shí)現(xiàn)基于 RISC-V(Reduced Instruction Set Computer,精簡指令集計(jì)算機(jī))指令集架構(gòu)的 32 位處理器軟核,支持 RV32IM 指令集,支持 AXI4-Lite 接口,用于簡化 FPGA 中復(fù)雜的控制邏輯。MicroBlade 處理器軟核框架如下圖所示:

1e38de32-3d5c-11ee-ad04-dac502259ad0.jpg

MicroBlade 串口設(shè)計(jì),開發(fā)板實(shí)現(xiàn)使用的是億海神針系列EQ6HL45型FPGA。本篇通過原理圖設(shè)計(jì),學(xué)習(xí)MicroBlade基本結(jié)構(gòu),通過創(chuàng)建簡單的MicroBlade工程,實(shí)現(xiàn)MicroBlade調(diào)用AXI Uartlite模塊和AXI GPIO模塊,完成串口打印功能,掌握在模塊化設(shè)計(jì)中,MicroBlade最小系統(tǒng)的組成,學(xué)會(huì)導(dǎo)出、建立以及運(yùn)行基于SDK的工程。

設(shè)計(jì)原理

本系統(tǒng)中的MicroBlade模塊通過AXI Lite總線與AXI Uartlite IP和AXI GPIO IP進(jìn)行通信,完成led指示燈的狀態(tài)改變以及串口打印功能。

操作步驟

基于GUI界面創(chuàng)建工程

1

創(chuàng)建新的工程項(xiàng)目

1)雙擊桌面圖標(biāo)打開eLinx3.0;2)點(diǎn)擊Create Project,或者單擊File>New Project創(chuàng)建工程文件;3)將新的工程項(xiàng)目命名TEST_MICROBLADE,選擇工程保存路徑,勾選Create project subdirectory,創(chuàng)建一個(gè)新的工程文件夾,點(diǎn)擊Next繼續(xù);4)選擇新建一個(gè)RTL工程,由于本工程無需創(chuàng)建源文件,故將Do not specify sources at this time(不指定添加源文件)勾選上。點(diǎn)擊 Next繼續(xù);5)選擇目標(biāo)FPGA器件:Family:eHiChip6 Package:CSG324Available devices: EQ6HL456)最后在新工程總結(jié)中,檢查工程創(chuàng)建是否有誤。沒有問題,則點(diǎn)擊Finish,完成新工程的創(chuàng)建。

2

創(chuàng)建原理圖,添加IP,進(jìn)行原理圖設(shè)計(jì)

1)在Flow Navigator下,展開IP INTEGRATOR,選擇Create Block Design創(chuàng)建新的原理圖設(shè)計(jì);2)將新的設(shè)計(jì)命名為design1;

1ec8beee-3d5c-11ee-ad04-dac502259ad0.png

3)在Diagram中添加MicroBlade IP;

1ee42850-3d5c-11ee-ad04-dac502259ad0.png

4)添加完成后如下圖所示,點(diǎn)擊Run Block Automation;

1efcc52c-3d5c-11ee-ad04-dac502259ad0.png

5) 在彈出窗口中,使用以下設(shè)置替換默認(rèn)設(shè)置:

Local Memory: 64KB

Debug Module: Debug

Peripheral AXI Port: Enabled

1f26d236-3d5c-11ee-ad04-dac502259ad0.png

6)完成之后,eLinx會(huì)基于之前的設(shè)置自動(dòng)生成一些額外的IP,并且會(huì)自動(dòng)連接完畢,此時(shí)不要點(diǎn)擊Run Connection Automation;

1f5b2a7c-3d5c-11ee-ad04-dac502259ad0.png

7)在Diagram中添加AXI Uartlite IP和AXI GPIO IP;

1f7db2a4-3d5c-11ee-ad04-dac502259ad0.png

8)完成后,點(diǎn)擊Run Connection Automation,在彈出窗口中勾選所有端口,點(diǎn)擊OK繼續(xù);

1f9bf82c-3d5c-11ee-ad04-dac502259ad0.png

1fc7f22e-3d5c-11ee-ad04-dac502259ad0.png

9)完成后,雙擊MicroBlade IP,打開界面,取消勾選Enable Interrupt隱藏Interrupt端口;10)雙擊AXI_Lite Interconnect IP,打開界面,把master端口的數(shù)量修改為2。手動(dòng)完成AXI_Lite Interconnect IP與AXI Uartlite IP,與AXI GPIO IP的連線; 11)雙擊AXI Uartlite IP,打開界面,把AXI CLK Frequency修改為50(板卡晶振為50M)。單擊UART端口,引出外設(shè)IO;12)雙擊AXI GPIO IP,打開界面,把GPIO通道GPIO Width修改為2,勾選Enable Dual Channel,把GPIO2通道GPIO Width修改為1。點(diǎn)擊展開GPIO端口,點(diǎn)擊gpio_io_o端口,引出外設(shè)IO;13)完成后,點(diǎn)擊布局重置按鈕重新布局,如下圖所示:

20189472-3d5c-11ee-ad04-dac502259ad0.png

14)Ctrl+S保存設(shè)計(jì)。

3

綜合、實(shí)現(xiàn)、生成比特流文件

1)保存后,在Sources窗格中鼠標(biāo)右鍵design1,選擇Generate Output Products...,開始BD工程綜合,如下圖所示:

2052c61a-3d5c-11ee-ad04-dac502259ad0.png

2)在Sources窗格中BD文件點(diǎn)擊右鍵,選擇Create HDL Wrapper,自動(dòng)更新Sources列表,同時(shí)工程沒有頂層,則自動(dòng)設(shè)置為頂層;3)在界面上方工具欄中,選擇Toos>Settings…在彈出的界面中點(diǎn)擊Synthesis欄,取消勾選Post_Synthesis Netlist Optimizing;

2075f0d6-3d5c-11ee-ad04-dac502259ad0.png

4)完成后繼續(xù)點(diǎn)擊Flow Navigator中的SYNTHESIS欄中的Run Synthesis進(jìn)行工程綜合;5)綜合結(jié)束后在界面上方工具欄中,選擇Toos >I/O Planning編輯管腳指定;

209909e0-3d5c-11ee-ad04-dac502259ad0.png

6)完成后在SYNTHESIS欄中點(diǎn)擊Edit Timing Constraints添加2個(gè)時(shí)序約束后保存;

20e4470c-3d5c-11ee-ad04-dac502259ad0.png

7)完成后繼續(xù)點(diǎn)擊左側(cè)Run Implemenation按鈕進(jìn)行布局布線編譯實(shí)現(xiàn);8)在PROGRAM AND DEBUG欄點(diǎn)擊Generate Bitstream。連接開發(fā)板,完成后點(diǎn)擊Open target啟動(dòng)Programmer下載碼流。下載成功后默認(rèn)狀態(tài)為led1和led2交替閃爍。

4

導(dǎo)出SDK并啟動(dòng)

1)在頂部工具欄中,選擇File>Export>Export Hardware導(dǎo)出硬件工程到SDK;

214161f8-3d5c-11ee-ad04-dac502259ad0.png

2)在工具欄中,選擇File>Launch SDK,使用默認(rèn)工程,啟動(dòng)SDK;

21907d7e-3d5c-11ee-ad04-dac502259ad0.png

3)啟動(dòng)SDK后,如下界面,點(diǎn)擊Create a project,彈出如下界面:

21b7da68-3d5c-11ee-ad04-dac502259ad0.png

4)選擇New Application->Application project,輸入工程名helloworld,依次默認(rèn)配置點(diǎn)擊Finish完成創(chuàng)建;

21f05474-3d5c-11ee-ad04-dac502259ad0.png

222364c2-3d5c-11ee-ad04-dac502259ad0.png

5)工程屬性無需配置,工程中集成了例程,如下圖:

224be1e0-3d5c-11ee-ad04-dac502259ad0.png

6)構(gòu)建。構(gòu)建成功后左側(cè)生成Debug文件夾

226bf8c2-3d5c-11ee-ad04-dac502259ad0.png

7)進(jìn)行上板運(yùn)行a)在工程名稱上點(diǎn)擊右鍵,彈出界面選擇run as

22828056-3d5c-11ee-ad04-dac502259ad0.png

b)點(diǎn)擊后彈出如下界面,在GDB OpenOCD Debugging按鈕雙擊即可

22b3c22e-3d5c-11ee-ad04-dac502259ad0.png

c)完成后,點(diǎn)擊run可開始板卡聯(lián)調(diào),成功如下圖所示:

22f1aa44-3d5c-11ee-ad04-dac502259ad0.png

5)連接串口。選擇SDK界面下方的Terminal窗口,點(diǎn)擊下圖的按鈕

23369776-3d5c-11ee-ad04-dac502259ad0.png

6)在彈出窗口中,進(jìn)行如下配置:

23484548-3d5c-11ee-ad04-dac502259ad0.png?

7)點(diǎn)擊OK后,點(diǎn)擊EQ6HL45板卡上的復(fù)位按鈕(F2),Terminal界面出現(xiàn)了’Hello RISC-V World’字樣。

23752004-3d5c-11ee-ad04-dac502259ad0.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19387

    瀏覽量

    230526
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7525

    瀏覽量

    88356
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1715

    瀏覽量

    149731
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1557

    瀏覽量

    76750
  • 串口傳輸
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    1822
收藏 人收藏

    評論

    相關(guān)推薦

    常見串口故障及解決方案 串口轉(zhuǎn)藍(lán)牙模塊使用技巧

    在現(xiàn)代電子設(shè)備和計(jì)算機(jī)系統(tǒng)中,串口通信是一種常見的數(shù)據(jù)傳輸方式。然而,串口通信可能會(huì)遇到各種故障,影響數(shù)據(jù)的傳輸效率和準(zhǔn)確性。 常見串口故障及解決方案 1. 串口無法識(shí)別設(shè)備 故障現(xiàn)象
    的頭像 發(fā)表于 12-27 10:08 ?395次閱讀

    串口通信原理解析 串口與并口的區(qū)別

    在計(jì)算機(jī)硬件和通信領(lǐng)域,串口(Serial Port)和并口(Parallel Port)是兩種常見的數(shù)據(jù)傳輸接口。它們在數(shù)據(jù)傳輸方式、速度、應(yīng)用場景等方面有著明顯的區(qū)別。 串口通信原理 1. 定義
    的頭像 發(fā)表于 12-27 09:50 ?455次閱讀

    串口設(shè)計(jì)如何避免踩坑?看這篇!

    本文將以Air700ECQ/EAQ/EMQ為例,帶你從硬件設(shè)計(jì)的角度,一起來了解串口設(shè)計(jì)中的一些關(guān)鍵注意點(diǎn);軟件開發(fā)或者AT設(shè)置方面不做深入探討。 ? 一、串口相關(guān)管腳 Air700ECQ/EAQ
    的頭像 發(fā)表于 12-26 11:45 ?178次閱讀
    <b class='flag-5'>串口</b>設(shè)計(jì)如何避免踩坑?看這篇!

    串口通信的開發(fā)環(huán)境配置

    串口通信的開發(fā)環(huán)境配置涉及多個(gè)方面,包括選擇編程語言、安裝必要的庫或驅(qū)動(dòng)程序、配置串口參數(shù)等。以下是一個(gè)基于Python的串口通信開發(fā)環(huán)境配置的步驟: 一、硬件準(zhǔn)備 確保你有一個(gè)支持串口
    的頭像 發(fā)表于 11-22 09:21 ?315次閱讀

    使用Python進(jìn)行串口通信的案例

    當(dāng)然!以下是一個(gè)使用Python進(jìn)行串口通信的簡單示例。這個(gè)示例展示了如何配置串口、發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)。我們將使用 pyserial 庫,這是一個(gè)非常流行的用于串口通信的Python庫。 首先,你
    的頭像 發(fā)表于 11-22 09:11 ?339次閱讀

    串口通信協(xié)議解析 串口通信應(yīng)用實(shí)例

    串口通信協(xié)議解析 串口通信協(xié)議是指規(guī)定了數(shù)據(jù)包的內(nèi)容,內(nèi)容包含了起始位、主體數(shù)據(jù)、校驗(yàn)位及停止位,雙方需要約定一致的數(shù)據(jù)包格式才能正常收發(fā)數(shù)據(jù)的有關(guān)規(guī)范。以下是串口通信協(xié)議的介紹: 基本概念
    的頭像 發(fā)表于 11-21 17:03 ?628次閱讀

    為什么通信要使用虛擬串口串口助手?

    串口助手和虛擬串口是什么?串口助手和虛擬串口串口通信中很常見。串口助手是用于
    的頭像 發(fā)表于 11-15 01:04 ?1457次閱讀
    為什么通信要使用虛擬<b class='flag-5'>串口</b>和<b class='flag-5'>串口</b>助手?

    LABVIEW串口通訊

    labview實(shí)現(xiàn)串口通訊
    發(fā)表于 08-19 14:37 ?7次下載

    好用的串口工具

    好用的串口工具
    發(fā)表于 08-15 10:35 ?1次下載

    USB轉(zhuǎn)串口串口卡的性能比較

    在當(dāng)今的電子設(shè)備中,串口通信是一種非常常見的通信方式。隨著技術(shù)的發(fā)展,USB接口逐漸取代了傳統(tǒng)的串口接口,但串口通信在某些特定領(lǐng)域仍然具有不可替代的作用。因此,市場上出現(xiàn)了USB轉(zhuǎn)串口
    的頭像 發(fā)表于 07-15 15:21 ?936次閱讀

    模擬串口為何會(huì)影響自帶串口信號

    模擬串口與自帶串口信號干擾問題是一個(gè)復(fù)雜的話題,涉及到硬件設(shè)計(jì)、軟件編程、信號完整性等多個(gè)方面。 模擬串口與自帶串口的基本概念 串口(Ser
    的頭像 發(fā)表于 07-15 15:11 ?651次閱讀

    工業(yè)串口設(shè)備通訊神器:串口服務(wù)器CS64J

    在當(dāng)今工業(yè)物聯(lián)網(wǎng)應(yīng)用中,串口服務(wù)器的應(yīng)用非常普遍。無論是RS485還是RS232串口通訊,串口服務(wù)器都能夠輕松實(shí)現(xiàn)虛擬串口串口以太網(wǎng)雙向數(shù)
    的頭像 發(fā)表于 03-21 17:09 ?518次閱讀
    工業(yè)<b class='flag-5'>串口</b>設(shè)備通訊神器:<b class='flag-5'>串口</b>服務(wù)器CS64J

    什么是串口?什么是并口?串口與并口有什么區(qū)別?

    什么是串口?什么是并口?串口與并口有什么區(qū)別? 串口和并口都是計(jì)算機(jī)與外部設(shè)備進(jìn)行數(shù)據(jù)傳輸?shù)慕涌?,它們之間存在一些重要區(qū)別。在下面的文章中,我將詳細(xì)介紹串口和并口的定義、工作原理、特點(diǎn)
    的頭像 發(fā)表于 02-02 15:33 ?9301次閱讀

    ZDP1440串口屏應(yīng)用開發(fā)如何使用虛擬串口調(diào)試

    ZDP1440串口屏應(yīng)用開發(fā)如何使用虛擬串口調(diào)試呢?本文將詳細(xì)方法分享給大家。
    的頭像 發(fā)表于 01-25 11:32 ?1743次閱讀
    ZDP1440<b class='flag-5'>串口</b>屏應(yīng)用開發(fā)如何使用虛擬<b class='flag-5'>串口</b>調(diào)試

    usb轉(zhuǎn)串口線怎么使用 usb轉(zhuǎn)串口串口轉(zhuǎn)usb的區(qū)別

    USB轉(zhuǎn)串口線(USB to Serial Cable)是一種用于將計(jì)算機(jī)的USB接口連接到串口設(shè)備的轉(zhuǎn)換線。正常情況下,計(jì)算機(jī)主機(jī)上只帶有USB接口,而許多老舊的外圍設(shè)備仍然使用串口(RS-232
    的頭像 發(fā)表于 01-22 14:56 ?4894次閱讀