0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(pí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,精簡(jiǎn)指令集計(jì)算機(jī))指令集架構(gòu)的 32 位處理器軟核,支持 RV32IM 指令集,支持 AXI4-Lite 接口,用于簡(jiǎn)化 FPGA 中復(fù)雜的控制邏輯。MicroBlade 處理器軟核框架如下圖所示:

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

MicroBlade 串口設(shè)計(jì),開發(fā)板實(shí)現(xiàn)使用的是億海神針系列EQ6HL45型FPGA。本篇通過(guò)原理圖設(shè)計(jì),學(xué)習(xí)MicroBlade基本結(jié)構(gòu),通過(guò)創(chuàng)建簡(jiǎn)單的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模塊通過(guò)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工程,由于本工程無(wú)需創(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)建是否有誤。沒(méi)有問(wèn)題,則點(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í)工程沒(méi)有頂層,則自動(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)工程屬性無(wú)需配置,工程中集成了例程,如下圖:

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)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18927

    瀏覽量

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

    關(guān)注

    19

    文章

    7174

    瀏覽量

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

    關(guān)注

    5

    文章

    1541

    瀏覽量

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

    關(guān)注

    14

    文章

    1533

    瀏覽量

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

    關(guān)注

    0

    文章

    33

    瀏覽量

    1753
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    LABVIEW串口通訊

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

    好用的串口工具

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

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

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

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

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

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

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

    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 ?3278次閱讀

    QT串口通信的簡(jiǎn)單使用

    QT串口通信是上位機(jī)和下位機(jī)通信常用的通信方式, 也是學(xué)習(xí)QT必須學(xué)會(huì)的基礎(chǔ)知識(shí), 這篇就簡(jiǎn)單介紹一下QT串口通信的簡(jiǎn)單使用.
    的頭像 發(fā)表于 01-15 09:27 ?1408次閱讀
    QT<b class='flag-5'>串口</b>通信的簡(jiǎn)單使用

    stm32怎么讀取串口發(fā)來(lái)的指令

    讀取串口發(fā)來(lái)的指令是嵌入式系統(tǒng)中一項(xiàng)常見(jiàn)的任務(wù),特別是在與外部設(shè)備進(jìn)行通信時(shí)。在STM32系列微控制器中,提供了多個(gè)串口接口(USART、UART等),可以用于讀取和處理串口接收到的數(shù)據(jù)。下面將詳細(xì)
    的頭像 發(fā)表于 01-07 17:08 ?2323次閱讀

    無(wú)線串口監(jiān)控怎么連接

    無(wú)線串口監(jiān)控是一種用于遠(yuǎn)程監(jiān)控和管理串口設(shè)備的技術(shù)。它可以方便地連接和管理串口設(shè)備,避免了物理連接和距離限制。在本文中,我們將詳細(xì)介紹無(wú)線串口監(jiān)控的連接方法。 了解無(wú)線
    的頭像 發(fā)表于 01-04 15:18 ?578次閱讀

    USB虛擬串口串口1可以同時(shí)發(fā)送嗎

    可以同時(shí)發(fā)送,USB虛擬串口和物理串口1都可以作為數(shù)據(jù)傳輸?shù)耐ǖ?,可以同時(shí)操作和發(fā)送數(shù)據(jù)。 USB虛擬串口是一種通過(guò)USB接口模擬的串口,它通過(guò)驅(qū)動(dòng)程序?qū)SB接口轉(zhuǎn)換為標(biāo)準(zhǔn)的
    的頭像 發(fā)表于 01-04 11:26 ?1223次閱讀

    什么是串口(UART)?串口的組成和FPGA實(shí)現(xiàn)

    串口作為常用的三大低速總線(UART、SPI、IIC)之一,在設(shè)計(jì)眾多通信接口和調(diào)試時(shí)占有重要地位。
    的頭像 發(fā)表于 01-03 11:43 ?8457次閱讀
    什么是<b class='flag-5'>串口</b>(UART)?<b class='flag-5'>串口</b>的組成和FPGA實(shí)現(xiàn)

    直通串口和交叉串口的區(qū)別 如何辨別交叉串口線與直連串口線?

    直通串口和交叉串口的區(qū)別 如何辨別交叉串口線與直連串口線?什么時(shí)候用交叉,什么時(shí)候用直通? 直通串口和交叉
    的頭像 發(fā)表于 11-28 15:45 ?2155次閱讀

    STM32里的串口通信

    STM32里的串口通信 在STM32里,串口通信是USART,STM32可以通過(guò)串口和其他設(shè)備進(jìn)行傳輸并行數(shù)據(jù),是全雙工,異步時(shí)鐘控制,設(shè)備之間是點(diǎn)對(duì)點(diǎn)的傳輸。 對(duì)應(yīng)的STM32引腳分別是RX和TX
    的頭像 發(fā)表于 11-10 15:58 ?2600次閱讀
    STM32里的<b class='flag-5'>串口</b>通信

    licheepi 4a串口通信(usb串口)

    licheepi 4a串口通信(usb串口)
    的頭像 發(fā)表于 11-08 09:09 ?481次閱讀
    licheepi 4a<b class='flag-5'>串口</b>通信(usb<b class='flag-5'>串口</b>)