基于FPGA高速實(shí)時(shí)數據傳輸系統設計方案
3.3 24bit/16bit數據轉換器的設計 [5] [6]
片外高速數據傳輸芯片為 16位輸入數據總線(xiàn) [4],而由 fpga內部讀緩沖區讀出的是 24位并行數據,因此需要將 24bit數據轉換成 16bit數據再輸出??紤]到傳送 12個(gè) 16bit數據可以等效為 8個(gè) 24bit數據,故將數據輸出時(shí)鐘 Dclk用一個(gè) 0~11的計數器進(jìn)行計數,然后取其中的 8個(gè)連續時(shí)鐘讀取 24bit數據,這樣就解決了 16bit數據和 24bit數據在傳輸上時(shí)鐘不匹配的問(wèn)題。讀取的 24bit數據隨后被分成兩個(gè) 12bit數據依次裝入 16個(gè) 12bit移位寄存器中,再由 Dclk一位一位打出并拼裝成 16bit數據,發(fā)送給幀同步產(chǎn)生及高速傳輸芯片控制器進(jìn)行碼頭加載,將自己編寫(xiě)的 16bit數據頭校驗碼以及其他一組信息碼插入數據流中輸出給高速數據傳輸芯片,完成整個(gè)數據轉換和發(fā)送過(guò)程。
4.實(shí)際測試結果
用 TLK1501[4]高速數據傳輸芯片集成的數據接收端口接收其發(fā)送端傳輸的高速串行數據流,在芯片內部自解碼之后再恢復成 16bit數據傳給 fpga,通過(guò)比對發(fā)送數據和接收數據的一致性就可以對邏輯設計、時(shí)序等方面進(jìn)行驗證,以保證設計正確。在實(shí)際測試時(shí),用一組設計好的 24bitDVI數據取代實(shí)際傳輸的像素信號,而其他同步信號則仍為實(shí)際 DVI同步信號,這樣做的目的就是可以對發(fā)送數據進(jìn)行控制,方便與接收數據進(jìn)行比對,設計的發(fā)送數據為一串依次加“1”的規律 24bit數,因此如果接收回的數據信號仍為依次加 “1”的 24bit數,則說(shuō)明邏輯設計和時(shí)序方面沒(méi)有問(wèn)題,設計方案可以用于實(shí)際操作中。
圖四上為發(fā)送數據波形圖,圖六下為接收數據波形圖。由圖中對比可以看出,接收數據同發(fā)送數據均為依次加“1”的 24bit數據,實(shí)際測試結果證實(shí)整個(gè)高速實(shí)時(shí)數據傳輸系統設計滿(mǎn)足設計要求,可以用于實(shí)際操作中。
5.結語(yǔ)
本系統在實(shí)際測試中,發(fā)送端數據時(shí)鐘為 40MHz,由于高速數據傳輸芯片――TLK1501[4]可以傳輸 20倍頻的串行數據流,因此實(shí)際在信道中傳輸的數據速度可以達到 800MHz,如此高的傳輸速度可以滿(mǎn)足一般情況下的工程要求,而且本系統由于所選片外存儲器的容量和操作速度上限制,沒(méi)能將 TLK1501高速傳輸的特點(diǎn)充分發(fā)揮出來(lái),相信在系統改進(jìn)之后,傳輸速度達到 1G甚至更高的實(shí)時(shí)數據應該可以實(shí)現!
本文作者創(chuàng )新點(diǎn):提出了一種片外 sram地址空間轉換模式,將一維的存儲空間抽象為二維存儲,可以使視頻象素點(diǎn)與存儲空間一一對應;提出了一種 24bit/16bit轉換模塊設計方式。
評論