超額利用硬件資源
動態重配置的實現
本文引用地址:http://www.104case.com/article/147239.htm為了在應用中實現動態重配置,需要定義用于分配數字模塊和模擬模塊的多種不同硬件配置。我們可用直觀的圖形用戶界面(GUI)來簡化完成這項工作。開發人員可在應用中通過調用應用編程接口(API)動態切換配置。API調用的代碼隨后可用于根據外設以及為特定配置選定的設置來設置所需的寄存器值。

為了展示動態重配置在應用中如何實現,我們不妨來看一個真實的系統。圖6顯示了賽普拉斯推出的PSoC 1器件。該器件包括多種不同系統資源:CPU內核、數字子系統、模擬子系統和可編程互聯等。數字子系統包含各種不同的可編程數字模塊,每個模塊都能獨立配置用于不同功能。同樣,模擬子系也同包含多種不同可編程模塊,也能進行類似的配置。這些子系統在圖中顯示為開發工具中的獨立模塊(圖7)。

要配置可編程硬件模塊,開發人員可拖動外設,將其放到空白區,這樣該外設就連接到其他外設或引腳。開發工具可生成所需的寄存器值,這些值在編程時間內將存儲到閃存中。加電或復位時,器件在開始執行主應用代碼前,會從閃存加載初始配置到寄存器。
開發人員點擊右鍵并從工作區選擇新的可加載配置,則可定義新的配置。對每種配置來說,開發人員都能選擇不同的外設,并根據需要加以連接。一旦所有配置都定義完畢,開發工具會生成所需的寄存器值和匯編碼,并將這些值存儲到他們各自的寄存器,如圖4所示。開發人員也可從主應用中用單行代碼“LoadConfig_[config_name]”動態地加載配置。
開發人員需要注意的一個問題是配置之間的切換時間。雖然卸載和加載配置主要是寄存器寫入工作,但這個過程所需的時間與特定配置需寫入寄存器的數量成正比。因此可根據所用資源算出近似切換時間,且應用也可根據時延進行調整。
動態重配置功能強大,幾乎可用于所有不同外設通過時分復用來降低系統成本和尺寸的應用之中。通過在運行時修改可編程硬件資源的功能來執行不同任務,系統設計人員可以實現可用硬件資源的超額利用。
模數轉換器相關文章:模數轉換器工作原理
塵埃粒子計數器相關文章:塵埃粒子計數器原理 衰減器相關文章:衰減器原理 熱敏打印機相關文章:熱敏打印機原理
評論