通常將采用存儲器技術(shù)的應用分為可執行代碼和數據任務(wù)?蓤绦写a要求使用非易失性存儲器,并在所有條件下都能夠保留存儲器中的代碼。數據任務(wù)則要求能夠對存儲器進(jìn)行快速、簡(jiǎn)易且無(wú)限次數的讀/寫(xiě)訪(fǎng)問(wèn)。會(huì )根據應用程序來(lái)決定執行數據任務(wù)的存儲器是易失性的還是非易失性的。通?蓤绦写a的存儲器采用基于ROM的技術(shù),而數據任務(wù)的存儲器則采用基于RAM的技術(shù)。作為賽普拉斯中的一款非易失性RAM產(chǎn)品,FRAM提供了獨特的優(yōu)點(diǎn)—它能夠將可執行代碼和數據組合在一個(gè)單存儲器中。本篇文章介紹的是代碼存儲對存儲器的要求. 代碼存儲對存儲器的要求 ◆非易失性 ◆相應的容量 ◆讀取訪(fǎng)問(wèn)時(shí)間 ◆防止意外寫(xiě)入的能力 ◆在某部分或某段代碼中的現場(chǎng)可編程能力 ◆編程的同時(shí)執行讀訪(fǎng)問(wèn)的能力 代碼存儲的基本要求是:應該是非易失性存儲器,并在所有條件下都能夠保持它的狀態(tài)。代碼存儲器是只讀的,并且在運行過(guò)程中不會(huì )更新存儲在該存儲器中的內容。保持代碼所需的存儲器空間由應用程序設置。通常額外存儲器空間中的20%-30%提供給將來(lái)系統修改使用。代碼執行時(shí)間是由存儲器的讀訪(fǎng)問(wèn)時(shí)間決定的;訪(fǎng)問(wèn)時(shí)間越短,對控制器開(kāi)銷(xiāo)的影響越小。 代碼存儲器是只讀的。應防止發(fā)生任何意外的寫(xiě)入操作,因為該操作會(huì )引起應用故障。不過(guò)在幾種情況下,代碼存儲器將被覆蓋。周期性更新設計以增加新特性或糾正硬件錯誤便是一種情況,F場(chǎng)重新編程代碼存儲器能力是一項主要的優(yōu)勢和功能。通常,重新編程只會(huì )影響某部分或某段代碼,并不能影響整個(gè)代碼。執行重新編程期間,寫(xiě)訪(fǎng)問(wèn)時(shí)間是決定重新編程器件所需時(shí)間的一個(gè)因素。 代碼存儲器包含實(shí)現擦除/編程功能的代碼,該代碼負責實(shí)現預先計劃的現場(chǎng)可編程能力。在現場(chǎng)編程過(guò)程中,要確保能夠對存儲器的字節或寄存器的某些部分同時(shí)執行讀/寫(xiě)訪(fǎng)問(wèn),以避免將擦除/編程代碼復制到其他存儲器(RAM)內并從這些存儲空間執行代碼所引起的不必要麻煩。 Nand Flash是代碼存儲器的常用解決方案,但在某些應用程序(它的代碼規模比較小,并且應用程序需要讀/寫(xiě)訪(fǎng)問(wèn)時(shí)間(數據記錄、能量采集或使用壽命長(cháng)的電池等操作)對稱(chēng))中,更應該選擇FRAM。 |
Nand Flash是代碼存儲器的常用解決方案,但在某些應用程序(它的代碼規模比較小,并且應用程序需要讀/寫(xiě)訪(fǎng)問(wèn)時(shí)間(數據記錄、能量采集或使用壽命長(cháng)的電池等操作)對稱(chēng))中,更應該選擇FRAM。 |