一種基于PCI總線的反射內存卡設計
3 軟件設計
軟件設計包括驅動程序和應用程序兩部分。驅動程序提供的API 接口主要包含以下四個方面的功能: 打開和關閉驅動、配置反射內存卡、數據傳輸、中斷控制與處理。當應用程序訪問反射內存卡資源時,反射內存板必須打開, 一個句柄將返回到應用程序。圖7是應用程序處理的流程圖。
圖7 應用程序流程圖
4 性能測試
用三塊反射內存卡組成環形反射內存網, 由節點1向2 節點發送數據, 節點2 發送到節點3, 由節點3 向節點1 發送確認中斷, 記下此時的終止時間, 如表1 所示。
該反射內存卡在windows 操作系統下進行測試,由于windows 為非實時操作系統,所以需發送大批量的數據進行速率測試, 以克服操作系統本身的時延。試驗中每次發送15Mbit 的數據,根據傳輸速率= 總數據量/ 總時間算出傳輸速率。又由編解碼芯片的串行傳輸速率為1062.5MBd,數據傳輸速率為106.25MB/s,而數據包的長度是可變的, 從1 個雙字到16 個雙字, 每包數據包括32 位的header、32 位的地址數據和32 位的校驗和,所以有效的數據傳輸速率在26MB/s 至88MB/s,我們測得的數據傳輸率為38.9 MB/s 至39.9 MB/s,可以得出該反射內存樣卡功能正常。
表1 環形通訊傳輸速率表
5 結束語
本文介紹了一種基于PCI 總線的反射內存卡的設計方法。給出了硬件電路設計,在FPGA 內完成數據緩存FIFO 及其控制器、SDRAM 控制器和編解碼控制器的設計, 結構清晰, 集成度高; 介紹了驅動程序的設計,提供了應用程序接口; 采用三塊反射內存卡搭建了驗證系統, 實驗證明該反射內存樣卡功能正常, 工作穩定。
評論