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

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

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

明德?lián)PPCIE開發(fā)板系列XILINX-K7試用體驗-第二篇

明德?lián)P科技01 ? 來源:明德?lián)P科技01 ? 作者:明德?lián)P科技01 ? 2023-11-29 15:39 ? 次閱讀

本文為明德?lián)P原創(chuàng)文章,轉(zhuǎn)載請注明出處!作者:Vito

明德?lián)PPCIE開發(fā)板系列XILINX-K7試用體驗-第二篇

第二周的試用計劃是實現(xiàn)常見低速協(xié)議(UART,I2C,SPI)的FPGA工程,記錄自己實現(xiàn)的過程,包括協(xié)議基本理解,實現(xiàn)思路,仿真調(diào)試,上板驗證4個流程。雖然低速協(xié)議相對簡單,但是每次自己動手寫又會發(fā)現(xiàn)之前沒有注意到的問題,又能從中鞏固自己的邏輯思維;這些看似簡單的低速協(xié)議是后續(xù)所有高速接口協(xié)議的基礎(chǔ),只有基礎(chǔ)牢靠,在后續(xù)的進階應(yīng)用中才會游刃有余。特別是對于我這樣的FPGA新人來說,基礎(chǔ)是重中之重。

下面開始介紹我的低速協(xié)議的實現(xiàn)情況。

協(xié)議理解

UART真的算是最經(jīng)典的通信協(xié)議之一了吧,特別是在產(chǎn)品設(shè)計調(diào)試階段,串口幾乎成了一個必備的功能。硬件信號簡單,2根信號線(TX,RX),當(dāng)然不同設(shè)備連接時還需要一根共地線;3根線就能實現(xiàn)數(shù)據(jù)傳輸了。協(xié)議數(shù)據(jù)格式如下圖所示
image.png

數(shù)據(jù)收發(fā)過程分為:空閑,起始位,數(shù)據(jù)位,校驗位(可選),停止位。對于異步的設(shè)備來說,怎樣知道每一位傳輸?shù)臅r間寬度呢?這是通過波特率來指定的。事先雙方先約定好傳輸?shù)牟ㄌ芈适嵌嗌倬涂梢粤?,?dāng)然除了波特率,一般數(shù)據(jù)位長度,奇偶校驗,停止位長度都是要2方確定好,不然就無法正確通信了。

實現(xiàn)思路

本次實現(xiàn)FPGA和上位機通信的串口工程,連接如下圖所示;具體功能是利用PC的串口工具向usb轉(zhuǎn)串口模塊發(fā)送隨機數(shù)據(jù),F(xiàn)PGA通過接收usb轉(zhuǎn)串口模塊的數(shù)據(jù)并進行解析,并將解析的串口數(shù)據(jù)發(fā)回usb轉(zhuǎn)串口;通過查看PC上的接收數(shù)據(jù)和發(fā)送數(shù)據(jù)是否一致。

根據(jù)上述功能需求,進行模塊劃分設(shè)計,如下圖所示
image.png

根據(jù)模塊劃分,下面就需要明確模塊的接口信號,這里為了舉例就只列出tx和rx的接口信息。這里總結(jié)一下接口信號的思路:時鐘復(fù)位以及tx/rx信號就不說了,這里還加了握手信號,增加每一幀數(shù)據(jù)收發(fā)的可靠性,在處理一幀數(shù)據(jù)時不會被下一幀數(shù)據(jù)到來中斷而導(dǎo)致混亂。
image.png

image.png

信號接口設(shè)計完成之后就是每個模塊代碼的編寫了,這里我就簡單總結(jié)一下tx和rx設(shè)計思路。對于發(fā)送模塊:握手邏輯如果收到應(yīng)用層一幀數(shù)據(jù)的有效信號,拉低ready信號,同時拉高發(fā)送數(shù)據(jù)的標(biāo)志位。當(dāng)發(fā)送標(biāo)志位置1,發(fā)送計數(shù)器開始計數(shù)一幀數(shù)據(jù)的個數(shù),直到一幀數(shù)據(jù)的周期數(shù)記完并清零,表示一幀數(shù)據(jù)發(fā)送完成;于此同時,tx信號根據(jù)發(fā)送計數(shù)器值依次將應(yīng)用層的并行數(shù)據(jù)移位送出。對于接收模塊:當(dāng)檢測到rx信號的下降沿之后,接收計數(shù)器開始計數(shù),計數(shù)值為一幀數(shù)據(jù)的周期長度;并根據(jù)計數(shù)值移位采樣rx數(shù)據(jù),轉(zhuǎn)化成并行數(shù)據(jù),并拉高valid有效信號,表示一幀數(shù)據(jù)的接收過程。

仿真調(diào)試
編寫完串口驅(qū)動模塊之后,需要進行仿真調(diào)試,下面是仿真波形。
image.png

仿真激勵中,發(fā)送數(shù)據(jù)給的是1,2,3……255 數(shù)據(jù),可以看到圖中紫色部分為收發(fā)數(shù)據(jù)的波形,可以看到收發(fā)數(shù)據(jù)一致,因此仿真調(diào)試ok。

上板驗證

在實際應(yīng)用中,需要考慮更多的非理想環(huán)境。1.罪魁禍?zhǔn)拙褪钱惒綍r鐘問題,運行時間越長,所累積的時鐘誤差就會越來越大;所以很可能運行一段時間就會出現(xiàn)錯誤數(shù)據(jù),因此需要加上時鐘矯正減少時鐘累積誤差,解決辦法就是用高頻時鐘采集rx信號,當(dāng)檢測到一次數(shù)傳輸時再打開串口接收時鐘,當(dāng)發(fā)送完成之后再將串口接收時鐘關(guān)閉從而解決累積偏差。2.收發(fā)數(shù)據(jù)時有時一幀數(shù)據(jù)還沒有處理完成,可是下一幀數(shù)據(jù)已經(jīng)到來,如果不緩存就會出現(xiàn)丟幀的問題,因此在應(yīng)用層增加了一個fifo,用于緩存來不及處理的數(shù)據(jù)。

我之前看原理圖底板上是有FT232usb轉(zhuǎn)串行的芯片的,但是好像只連接了JTAG接口,電腦并沒有識別到串口號,所以我只能在擴展口找2個IO了。翻遍了原理圖和手冊都沒有找到一個XS11的引腳對應(yīng)關(guān)系,沒辦法只能先通過原理圖猜測信號所對應(yīng)的實際引腳位置,好在我手邊有萬用表,然后通過測量知道了實際對應(yīng)位置,希望之后將一些接口的實際信號做一個圖示,自己找信號位置太麻煩了。。。這里我挑了2個IO:J23/J24作為uart的tx 和rx,連接一個usb轉(zhuǎn)串口模塊,然后連接電腦,實際連接如下圖所示。image.png
image.png

下載bitstream之后,打開電腦串口軟件,定時一直發(fā)送數(shù)據(jù),觀察收發(fā)數(shù)據(jù)是否一致,測試結(jié)果如下圖所示。
image.png
可以看到,經(jīng)過一段時間的連續(xù)運行,收發(fā)數(shù)據(jù)量一致,且結(jié)果正確。因此該串口工程上板成功。

眾所周知,XILINX-Kin[te]x系列以性價比著稱,在高性能低功耗的前提下,價格也相對較低,目前市場上不存在缺貨的情況,所以當(dāng)使用量大的時候,價格也會更有優(yōu)勢。所以在研發(fā)工作中,

這個款核心板是非常適用于二次開發(fā)和產(chǎn)品使用的。明德?lián)P推出0元試用核心板活動正在進行中,可以聯(lián)系客服黃老師參加:13316124179(微信同號)
wKgZomVcHi6ASLokAAIDEFMcS_0856.png

審核編輯 黃宇

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

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600449
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2140

    瀏覽量

    120680
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4834

    瀏覽量

    96820
  • Kintex-7
    +關(guān)注

    關(guān)注

    1

    文章

    27

    瀏覽量

    15993
收藏 人收藏

    評論

    相關(guān)推薦

    【作品合集】龍芯2K0300蜂鳥開發(fā)板試用精選

    】第三 龍芯2K0300蜂鳥--驅(qū)動OLED【龍芯2K0300蜂鳥試用
    發(fā)表于 09-10 18:17

    【小e開發(fā)板試用體驗】“開發(fā)快”系列第二篇(功能初體驗)

    `剛剛考完試后,我就迫不及待的打開連接了"小e“,來看看它的功能初體驗。按照初體驗的步驟:1:我們連上開發(fā)板的USB接口,將屏幕旁的總開關(guān)撥到ON端,將跳線帽蓋在OLEO的白色跳線
    發(fā)表于 01-05 12:22

    硬件電路及系統(tǒng)設(shè)計入門寶典-第二篇

    不少朋友問道系列后續(xù)部分內(nèi)容,這里就不賣關(guān)子了,直接把第二篇分享出來:第三還在寫作中,完成后也會分享給大家。希望大家繼續(xù)支持“超硬工程師”。
    發(fā)表于 08-06 19:00

    至芯科技之a(chǎn)ltera 系列FPGA教程 第二篇 軟件的安裝

    至芯科技之a(chǎn)ltera 系列FPGA教程 第二篇 軟件的安裝
    發(fā)表于 08-11 03:14

    【NanoPi Duo開發(fā)板試用體驗】2、連接WIFI

    體驗的第二篇:2、連接WIFI此次試用的NanoPi Duo開發(fā)板具有WIFI模塊,可以實現(xiàn)WIFI無線上網(wǎng),下面簡單介紹其接入網(wǎng)絡(luò)的簡單步驟1、查看網(wǎng)絡(luò)設(shè)備列表nmcli dev 效果如下:注:如果列出
    發(fā)表于 10-14 17:01

    Xilinx Kintex-7系列FPGA的開發(fā)板SATA/PCIe接口

    前言TLK7-EVM是一款由廣州創(chuàng)龍基于Xilinx Kintex-7系列FPGA自主研發(fā)的核心+底板方式的
    發(fā)表于 09-24 14:39

    今天分享 PCIE高速接口XILINX.ISE教程

    ?開發(fā)板測試:1、 安裝windrive 2、LED狀態(tài)顯示 3、測試讀寫 PCIE開發(fā)板介紹:1、原理圖介紹 PCIE TLP協(xié)議介紹:1、分析存儲器寫報文結(jié)構(gòu) 2、分析存儲器讀報文
    發(fā)表于 02-14 09:50

    運放中的那些坑——第二篇

    運放中的那些坑——第二篇
    的頭像 發(fā)表于 08-31 11:37 ?1.5w次閱讀
    運放中的那些坑——<b class='flag-5'>第二篇</b>

    明德PCIE高速傳輸解決方案

    明德PCIE高速傳輸方案積累了豐富的技術(shù),傳輸?shù)膸捓寐士蛇_(dá)到90%以上,延遲可達(dá)到理論的最低延遲值。
    發(fā)表于 04-13 10:36 ?900次閱讀
    <b class='flag-5'>明德</b><b class='flag-5'>揚</b><b class='flag-5'>PCIE</b>高速傳輸解決方案

    明德XILINX-K7核心7K325 410T工業(yè)級

    明德MP5650核心-工業(yè)級 KINTEX-7 FPGA 芯片325T/410T 相對較低的成本實現(xiàn)超高的性能
    的頭像 發(fā)表于 07-02 11:43 ?4840次閱讀
    <b class='flag-5'>明德</b><b class='flag-5'>揚</b><b class='flag-5'>XILINX-K7</b>核心<b class='flag-5'>板</b><b class='flag-5'>7K</b>325 410T工業(yè)級

    明德mdyFmcAd9653-ADC系列采集說明書

    mdyFmcAD9653 是由明德科教研發(fā)的多通道、高分辨率和高采樣率的 ADC 系列,
    發(fā)表于 07-05 15:25 ?4次下載

    明德mdyFmcAd9653-ADC系列采集說明書

    mdyFmcAD9653是由明德科教研發(fā)的多通道、高分辨率和高采樣率的ADC系列,該系列包括如下型號。
    的頭像 發(fā)表于 10-12 10:33 ?3671次閱讀

    【時擎科技AT1000開發(fā)板試用體驗】時擎科技AT1K DEV開發(fā)板開箱

    本文來源電子發(fā)燒友社區(qū),作者:jf_46793279, 帖子地址: https://bbs.elecfans.com/jishu_2289322_1_1.html AT1K DEV 開發(fā)板 開箱
    的頭像 發(fā)表于 11-22 14:34 ?993次閱讀
    【時擎科技AT1000<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗】時擎科技AT1<b class='flag-5'>K</b> DEV<b class='flag-5'>開發(fā)板</b>開箱

    第二第二期免費開發(fā)板試用開始了

    大家好,第二第二期免費開發(fā)板試用開始了,細(xì)節(jié)如下:1第二第二
    的頭像 發(fā)表于 08-26 09:29 ?592次閱讀
    <b class='flag-5'>第二</b>批<b class='flag-5'>第二</b>期免費<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>開始了

    明德K7核心試用體驗-第一

    本文為明德原創(chuàng)文章,轉(zhuǎn)載請注明出處!作者:Vito 明德核心試用體驗-第一
    的頭像 發(fā)表于 11-21 11:05 ?472次閱讀
    <b class='flag-5'>明德</b><b class='flag-5'>揚</b><b class='flag-5'>K7</b>核心<b class='flag-5'>板</b><b class='flag-5'>試用</b>體驗-第一<b class='flag-5'>篇</b>