PSoC的動(dòng)態(tài)重配置
摘要:本文通過(guò)對PSoC的動(dòng)態(tài)重配置方案的探討,分析了如何充分利用資源,實(shí)現硅芯片性能的最大化。
本文引用地址:http://dyxdggzs.com/article/87002.htm關(guān)鍵詞:PSoC;動(dòng)態(tài)重配置;ADC;PWM;Cypress
賽普拉斯半導體公司推出的 PSoC 混合信號陣列 (PSoC Mixed Signal Array) 可實(shí)現 ASIC 與可配置 FPGA 的集成,同時(shí)還能幫助用戶(hù)像使用熟悉的微控制器一樣應用該技術(shù)。動(dòng)態(tài)重配置 (Dynamic Reconfiguration) 是 PSoC 的眾多功能之一,能幫助用戶(hù)在運行過(guò)程中靈活地更改資源功能。憑借自動(dòng)生成的系統調用,PSoC 的可配置模塊能夠變形重構以支持多種功能,從而可最大限度地減少元件數量、加速設計進(jìn)程、縮小板級空間,并降低嵌入式系統的成本。在某些情況下,動(dòng)態(tài)重配置功能甚至使設計人員能夠實(shí)現 400% 的硅芯片利用率。
動(dòng)態(tài)重配置是指實(shí)時(shí)對硬件進(jìn)行再配置,以確保多個(gè)應用之間可以共享資源。在眾多系統中,不會(huì )同時(shí)使用所有硬件。例如,就一般的對講機來(lái)說(shuō),發(fā)射模式下不會(huì )使用接收功能,反之亦然。因此,在一般通話(huà)過(guò)程中,對講機上的某些資源并沒(méi)有被使用。不過(guò),如果我們讓步話(huà)機電路支持動(dòng)態(tài)重配置功能的話(huà),那么我們就能讓同一顆硅芯片既支持來(lái)自麥克風(fēng)的聲音捕獲和發(fā)射,又能滿(mǎn)足接收信號以及將接收信號通過(guò)揚聲器廣播出來(lái)的功能。這種即時(shí)重配置功能將實(shí)現資源利用率的最大化,從而可減少元件數量,進(jìn)而降低成本。
多年來(lái),微控制器實(shí)現了高度的集成,并且能夠集成多種外設。在許多情況下,微控制器上集成的眾多功能往往很少使用,甚至從未被用到過(guò)。我們不妨以煙霧檢測器為例來(lái)說(shuō)明。煙霧檢測器中的微控制器用 ADC 來(lái)監視電離室,但并不使用定時(shí)器和通信接口等資源。同樣,如果發(fā)生了火災,電離室的電壓輸出會(huì )下降,這時(shí)微控制器就不再需要 ADC 資源了,而需要通過(guò)PWM 輸出讓揚聲器系統發(fā)出告警。微控制器將需要同時(shí)具備 ADC 與 PWM 功能,才能使煙霧檢測器及時(shí)發(fā)出警報,但二者功能不會(huì )同時(shí)使用,這就造成了很大浪費。對于微控制器來(lái)說(shuō),若想將 ADC 模塊變成 PWM 模塊似乎有點(diǎn)變戲法的感覺(jué),但 PSoC 就是為了實(shí)現這一目的而推出的。PSoC 可用相同的硬件來(lái)支持不同的模塊,從而能夠支持動(dòng)態(tài)重配置。
PSoC 是賽普拉斯半導體公司推出的一系列混合信號陣列芯片,在同一封裝中集成了微控制器及其外部元件。PSoC 架構除包括模擬與數字等可配置模塊之外,還提供可編程互連機制,幫助用戶(hù)創(chuàng )建專(zhuān)用外設配置,從而滿(mǎn)足不同應用的具體要求。每個(gè)模塊都通過(guò)一系列基于鎖存的寄存器來(lái)控制,其值決定了其行為,并創(chuàng )建出模塊。用戶(hù)模塊是寄存器設置的抽象,可以支持高級功能。舉例來(lái)說(shuō),在諸多可用的選項之中,數字模塊可以是定時(shí)器、PWM 源乃至 UART 模塊。同樣,模擬塊也有很多可能性,可以是過(guò)濾器或 ADC 乃至比較器。因此,如果采用微控制器的話(huà),我們就必須明確列出 4 個(gè) ADC、3 個(gè)定時(shí)器、2 個(gè) DAC等等。但是,如果采用 PSoC 的話(huà),我們則只需列出其中模擬與數字模塊的數量即可,到底這些模塊如何發(fā)揮作用,則有無(wú)數種可能。賽普拉斯半導體公司的 PSoC 最多支持 16 個(gè)數字模塊和 12 個(gè)模擬塊,而少的則有 4 個(gè)數字塊、4 個(gè)模擬塊。
控制模塊的寄存器值可在運行時(shí)更改,這樣就能在應用程序的執行過(guò)程中根據需要創(chuàng )建新的功能。當完成特定模塊的工作任務(wù)后,可將該模塊轉換為不同的模塊,從而實(shí)現可用模塊使用率的最大化。這不僅能夠減少所需模塊的數量,而且也能相應降低 PSoC 的成本。動(dòng)態(tài)重配置可應用于多種設計方案之中。當然,如果同時(shí)使用所有不同模塊,那么沒(méi)有理由不對模塊的結構進(jìn)行重構。除此之外,我們可以預見(jiàn)在以下四種情況中,通過(guò)動(dòng)態(tài)重配置來(lái)減少所需模塊的數量。
首先,在某些設計中,我們會(huì )在啟動(dòng)或關(guān)閉階段使用特定模塊組,而其他階段則不會(huì )再使用。例如,電路可使用 ADC 模塊來(lái)測量配置電阻,以確定無(wú)線(xiàn)控制玩具的正確接收頻率。一旦明確了正確的工作頻率,就不再需要 ADC 模塊,而且用于支持 ADC 的模塊則可作為到傳動(dòng)器的 PWM 輸出。
在其它設計中,僅在發(fā)生例外情況時(shí)才使用某些模塊。 應急照明系統的控制器需要使模塊運行例行程序來(lái)為電池充電,同時(shí)持續發(fā)揮監視作用,避免發(fā)生電源故障。如果發(fā)生電源故障,負責電池充電的模塊就會(huì )轉變功能,為 LED提供適當大小的電流。
硬件有時(shí)需要針對不同用戶(hù)發(fā)揮不同作用。對家庭用戶(hù)來(lái)說(shuō),功率表通過(guò)測量電流 來(lái)計算用電情況。對進(jìn)行維護工作的技術(shù)人員來(lái)說(shuō),則能發(fā)出指令,讓用于測量的模塊暫時(shí)變成 UART 模塊,向計算機系統上載故障信息。這樣,硬件就能在現場(chǎng)檢測或修理廠(chǎng)返修時(shí)用于添加更多診斷設備,也能在產(chǎn)品出廠(chǎng)前進(jìn)行檢查。
最后,有時(shí)我們需要所有模塊來(lái)執行設備的例行功能,只不過(guò)不需要所有模塊同時(shí)運行。但位于便攜式氣象設備中的控制器會(huì )使用不同類(lèi)型的模塊但是相同的模塊來(lái)測量溫度、濕度、風(fēng)速及雨量。
動(dòng)態(tài)重配置是 PSoC 的一種強大功能,其擁有可輕松發(fā)揮作用的強大軟件包。PSoC Designer 是賽普拉斯推出的一種專(zhuān)有軟件,可為所有 PSoC 器件提供功能齊全的集成開(kāi)發(fā)環(huán)境。用戶(hù)友好型工具為選擇和定制模塊提供了圖形界面,可在可用模塊與適當引腳間放置并傳輸相關(guān)模塊。該軟件能生成應用編程接口,充分發(fā)揮模塊的潛力,并支持 C 語(yǔ)言或匯編語(yǔ)言編寫(xiě)的代碼。此外,該軟件包含的工具還可創(chuàng )建與管理動(dòng)態(tài)重配置所需的所有接口。
評論