遠程更新方案



通常情況下,如果條件允許,使用一個MCU作為遠程更新的主控設備,會讓方案簡單不少。而且可以利用軟件做更多的操作(例如數據的校驗)。通常這么選擇的原因是系統中已經存在一個主控的MCU,就同時承擔遠程更新的任務。

如果FPGA板卡使用的是主動配置模式,由於Flash的讀寫只能通過FPGA來實現,同時JTAG直接更新FPGA鏡像可能無法滿足要求(比如不能每次上下電都需要用JTAG配置一次),那么設計一個主動模式的遠程更新方案就很重要的。此時,即便系統中有MCU或者上位機,但是由於Flash只能被FPGA控制,所以MCU/上位機更多的是作為數據通信來發送FPGA配置數據,而更新Flash的步驟依然需要FPGA來實現。

可以看到,如果將更新控制交給MCU,則FPGA單獨工作量下降了不少。配置過程中對FPGA的要求也不多,可以說大部分工作是外部設備(MCU)完成,FPGA工作量不多。所以討論的重點在於難度更大、FPGA工作量更多的主動更新方案。以此為基礎,目前的設計需求已經變為:

1.利用以有的數據通道傳輸數據給FPGA;

2.通過FPGA將更新數據寫入Flash中;

3.更新Flash的過程中,不要影響FPGA的正常功能;

1.利用以有的數據通道傳輸數據給FPGA;

由於數據傳輸的可選方法非常多,而且任何一個方案都是一個非常大的話題,這里就不詳細描述了。推薦的做法是做握手控制,將數據逐一寫入Flash即可。設計要點在於數據傳輸和Flash讀寫的交互握手和跨時鍾域。

通常數據傳輸的速率高於Flash讀寫速率,所以使用緩存,一方面存儲空間容易溢出,另一方面更新操作的使用頻率並不高,為了一個低頻度的應用留一個大容量的存儲空間並不划算。所以使用交互握手來處理,相對較慢的更新速度對低頻度的Flash更新操作影響並不大,但帶來的問題就是交互過程中需要考慮跨時鍾。

2.通過FPGA將更新數據寫入Flash中

3.更新Flash的過程中,不要影響FPGA的正常功能

這兩點需求都是要求FPGA實現的,具體方案就是FPGA收到數據后開始對Flash的讀寫操作,將數據正確寫入到Flash中去。

通過完整的分析,應該對遠程更新需要做的事情有個大略的了解。出去數據通路會隨着系統的不同而變化,FPGA端的讀寫控制是必然的需求。


版權所有權歸卿萃科技 杭州FPGA事業部,轉載請注明出處

作者:杭州卿萃科技ALIFPGA

原文地址:杭州卿萃科技FPGA極客空間 微信公眾號

掃描二維碼關注杭州卿萃科技FPGA極客空間


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM