簡體   English   中英

CRC /奇偶校驗/漢明保護16位並行總線

[英]CRC/Parity/Hamming Protect 16-bit parallel bus

我有一個基於Cortex-M4的MCU通過一個16位並行存儲器總線接口連接到FPGA。 本質上,FPGA的行為類似於映射到MCU存儲空間的外部存儲器:MCU提供一個地址,后跟數據字(寫入)或讀取FPGA提供的字(讀取)。

我想在尋址和數據寫/讀期間保護讀和寫傳輸錯誤。 但是,由於兩個部件之間的距離很短,我不希望發生很多誤碼。

我可以輕松地在FPGA內部實現奇偶校驗,漢明碼或CRC的檢查和生成。 然而,在uC中做同樣的事情(檢查和生成)似乎相對更難,因為我不想削弱吞吐量。 在沒有錯誤檢測的情況下,讀取和寫入16位字需要大約4-6個處理器周期,因此相當快。 因此,我不想在保護措施上花費數百個周期。

最后,我正在尋找一種適用於16位數據的中等效率的錯誤檢測方法,該方法在uC中以盡可能少的周期實現。

(根據我的經驗)很難保護像這樣的並行總線。 它當然是在帶有ECC RAM等的PC和服務器級硬件中完成的,但很少在微控制器中完成。

如果您的特定Cortex-M4實現具有硬件CRC塊,您可能能夠在那里傳輸數據,假設您可以在每次總線傳輸結束時簡單地添加CRC字。 這可能仍然會使其降低至少2-3倍,因為每個進出FPGA的字也必須以軟件的形式饋送到CRC單元。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM