通過分布式處理提升處理器效率
UDB陣列可支持高達24個UDB,支持靈活的布線矩陣,用戶能夠將多個UDB連接在一起,以實現更大和更復雜的處理功能。
圖2
模擬子系統:PSoC 3和PSoC 5系列還具有高性能和可編程模擬子系統,它包含創建完整模擬信號鏈所需的所有部件,包括高達20位的模擬-數字轉換,用于信號調節的數字過濾器,以及數字-模擬轉換。在本次關于分布式處理的討論場景下,模擬子系統能夠在將模擬輸入發送至數字子系統或CPU進行進一步數據處理前,對模擬輸入進行處理。
可編程布線和互聯子系統:它位于框圖的最右側,可編程布線和互聯子系統包含靈活的布線矩陣,布線矩陣與I/O以及數字、模擬和CPU子系統相連。該功能塊具備相應的能力,使用它,能夠定義將芯片上的信號路由至何處,并能創建多路子系統的處理系統。
分布式處理的示例
至此,我們已了解了用來創建分布式處理子系統的可用工具,現在我們將考察如何使用分布式處理來提升系統效率。在這里,我們將考察一個分布式處理應用的真實示例。Sensored無刷直流(BLDC)電機控制即是能夠展示這類分布式處理優點的常見的嵌入式控制功能
控制帶傳感器的BLDC的傳統方法是,電機轉動并導致三個霍耳效應傳感器的邏輯電平改變狀態,在典型的帶傳感器的 BLDC MCU控制系統中,當狀態發生變化時,處理器接收IO中斷信號。CPU隨后將調整連接至PWM輸出和驅動的電機線圈。這會在CPU上造成較重的中斷負擔,降低服務于中斷功能的CPU MIPS,而不是執行應用程序需要更多關注的其他處理功能。此外,電機運行越快,CPU中斷就越頻繁。不僅如此,為應用增加額外電機還會使問題進一步復雜,這是因為,無法可靠地對兩臺(或多臺)電機進行同步以確?;魻杺鞲衅鞑粫瑫r觸發,獨立的中斷具有相同的優先級。
必定有其他方式,是嗎?的確如此。PSoC 3和PSoC 5系列的架構給出了在微處理器陣列上執行分布式處理的良好示例,可將這類中斷密集型操作卸載。通過在UDB的PLD單元中簡單地實施硬件查找表,就不必再中斷CPU。取而代之的是,將中斷發送至CPU中斷控制器,霍爾效應傳感器輸入直接送至硬件查找表,隨后確定將用于接收PWM信號的輸出。在該實施方案中,僅當電機速度變化時CPU才會中斷。
這只不過是使用分布式處理降低主CPU負擔并提升系統效率的一個例子,還有很多實施分布式處理的示例,包括中斷密集型應用,其中,CPU需參考數據結構并作出決策。通過在UDB架構中實施查找表、并使用UDB數據路徑元素對數據進行比較,CPU將不再需要處理中斷事宜。
分布式處理應用的另一示例是,將DMA用于數據傳輸密集型應用,如I2S對USB(記錄)、或USB對I2S(放出)應用。通過在UDB架構中實施I2S塊,使用DMA在處理過程中、在兩個功能塊和SRAM塊之間傳輸數據,只需很少的CPU周期來控制數據流。以這種方式使用DMA,在基于脈沖密集型方案的通信協議應用中,能帶來極大的好處,如USB以及具有可靠數據速率的應用(如I2S)。
通過提供更高效的處理器和功耗更低的處理技術,CPU廠家和MCU供應商致力于不斷降低功耗并提升系統效率,作為系統設計者,我們也應尋找機會,設計出具有更低功耗和更高效率的嵌入式系統。隨著新PSoC 3和PSoC 5平臺的發布,工程師的系統設計工具庫中現在有了另一工具。將嵌入式應用視為處理功能的組合,分解處理功能,并在處理子系統陣列上分配這些處理功能,工程師們現在能夠優化其嵌入式系統的效率,并降低系統功耗。
評論