兩個fpga開發板之間的i o通訊,時鐘同步問題?

時間 2021-06-04 04:37:59

1樓:torres999

哥們,你這個應用解決了嗎,目前我也遇到同樣的問題,兩塊板子之前用了不帶收發器的晶元,要做125Mbps的LVDS資料傳輸,接收端很難做到正確接收

2樓:徐小潺

高票答案很好,跨時鐘域的問題我就不重複說了。這裡想和題主聊下通訊系統的問題。不知題主做這個實驗的初衷是什麼?對於通訊系統來說,我可以提供一種簡單的巨集觀同步方式供題主參考。

首先將序列取樣成數碼訊號。然後在接收端建立乙個同步--跟蹤流程。怎麼建立呢?

傳送的資訊可以選偽隨機序列如pn9(這個序列簡單,做同步,算ber,bler都很方便),那麼在接收端,你可以用乙個512的窗來找相關峰,很方便就做到了兩個板子之間的同步(不過解析度只有512樣點級了)。接下來可以一邊按這個同步位置來解碼,一邊按照一定的頻率繼續做相關峰,即可不斷跟蹤其位置使其始終保持同步。

當然,如果你要玩得更高大上,就像你說的,得定義乙個更複雜的幀結構,總之離不開同步--跟蹤的套路。

3樓:三磷酸腺苷

系統級的同步要同時實現兩種行為,第一種是頻率同步,可以用一般的鎖相環來做,第二種是相位同步,要事先定義好通訊機制,用事先約定的通訊機制進行資料幀同步。

4樓:

你這個是典型的跨時鐘域問題,典型的生產者和消費者問題。

如果想實現低誤碼,有幾種辦法:

1.將A板子的時鐘直接送給B板子做參考。

2.兩個板子必須有握手和應答機制。

3.或者採用serdes傳輸,內部包含時鐘,接收端從訊號中解出時鐘作為本地的參考時鐘。

4.接收端頻率高一點。

5.如果資料為突發形式,那麼乙個大的buf可能是有效的。

6.如果是影象資料,可以採用桌球buf的方式插幀或者丟幀。

7.還有乙個辦法,如果資料帶校驗,可以根據校驗去動態調整本地時鐘。

5樓:輝騰

建議看一下FPGA跨時鐘域處理的相關資料。

你用兩塊時鐘完全不相干的板子通訊,屬於非同步通訊了,所以你看看非同步時鐘域應該怎麼處理。在網上都有資料的。

6樓:Wang Kellen

你心真大啊,FPGA的晶元管腳翻轉速率能達到200MHZ?搞笑麼?你隨便輸出乙個100MHz時鐘出來用示波器看看幅度能達到高電平?

7樓:林名

首先,你最好先了解下什麼是同步通訊,什麼是非同步通訊。

其次,了解一下通訊握手是做什麼的。

第三,看一下晶振的原理,它為什麼能提供高頻訊號。

從理論上說,不存在兩顆完全一樣的晶振,就算振頻一樣,起振時刻也有輕微差別,還有漂移呢。一塊板都有問題,你這還兩塊板呢。都不說訊號在板間傳遞不可忽視的時間差,和衰減。

通訊呢,最重要的是同步,對方的時鐘一定要同步到本地時鐘,然後工作在本地時鐘上。就算這樣還有誤位元速率呢,不同步時鐘的話就需要通訊協議有很強的糾錯功能,糾完錯再提誤位元速率才有意義。

不糾錯,不同步,就來通訊,那就只能看運氣了,或者把通道頻段降低到一定程度,這樣你的出錯週期也許可以長到你可以接受的時間跨度。

上面都是基於你的設計實現完善情況下,如果時序約束都沒做,或者走線選件布局沒考慮好,那就另說了。另外看樣子你也沒有對這兩塊板子之間的地平面進行處理,小心燒板子。

硬體產品,如何從乙個開發板上的原型Demo變成可靠的產品?

說雨 一般來說,樣板機轉成產品是非常重要且關鍵的一步,不僅要保證功能的穩定,而且要考慮各種干擾如EMI ESD以及散熱情況和整機功耗等實際問題哦,最後就是等待通過各種測試了,通過後的喜悅你懂得。 陳小坤 開發板主要是在產品Demo出來前,軟體工程師基於開發板預先進行軟體設計,加快產品開發進度。同時也...

怎樣處理兩個好朋友之間的關係?

貳柒阿 跟隨自己的內心走。你覺得b沒什麼不好,那為什麼要為了a而不和她來往。a如果真的把你當朋友又怎麼會說出這種話?唉,這是我乙個多月前就打了但是沒發,不知道你現在是個什麼樣的情況。反正什麼情況下都別委屈了自己。這就行了。 立志的龔大壯 委婉的拒絕她,你要知道,凡事都要憑自己的內心去做 當然是在一些...

同事之間問題,結果引發兩個領導之間撕破臉的矛盾?如何是好?

既然都說了你沒做錯什麼,那你就先靜觀其變吧。我只想說你的領導的問題 工作就是工作,工作必須要講原則。只要沒做錯就可以有底氣。如果對方試探你的底線,你必須要維護自己團隊的核心利益和名譽。但是工作上的事情,在撕破臉的邊緣就應該收手,並把你們的爭論焦點讓更高層的Leader知曉。大家表面上得和氣解決問題,...