超額利用硬件資源
動(dòng)態(tài)重配置的實(shí)現
本文引用地址:http://dyxdggzs.com/article/147239.htm為了在應用中實(shí)現動(dòng)態(tài)重配置,需要定義用于分配數字模塊和模擬模塊的多種不同硬件配置。我們可用直觀(guān)的圖形用戶(hù)界面(GUI)來(lái)簡(jiǎn)化完成這項工作。開(kāi)發(fā)人員可在應用中通過(guò)調用應用編程接口(API)動(dòng)態(tài)切換配置。API調用的代碼隨后可用于根據外設以及為特定配置選定的設置來(lái)設置所需的寄存器值?! ?/p>

為了展示動(dòng)態(tài)重配置在應用中如何實(shí)現,我們不妨來(lái)看一個(gè)真實(shí)的系統。圖6顯示了賽普拉斯推出的PSoC 1器件。該器件包括多種不同系統資源:CPU內核、數字子系統、模擬子系統和可編程互聯(lián)等。數字子系統包含各種不同的可編程數字模塊,每個(gè)模塊都能獨立配置用于不同功能。同樣,模擬子系也同包含多種不同可編程模塊,也能進(jìn)行類(lèi)似的配置。這些子系統在圖中顯示為開(kāi)發(fā)工具中的獨立模塊(圖7)?! ?/p>

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