title="1.png" alt="1.png" width="600" height="338"/>
全球各地的實驗室都會出現這樣似曾相識的場景:設計工程師努力突破限制,試圖增強功能或提高性能。然而,當深入到底層系統時序時,便會出現設計僵局。因為他們可能需要更改關鍵控制信號的解決方案。這種狀況會限制工程師發(fā)揮創(chuàng)造力,只寄希望于:“可以在控制外設內自定義邏輯和時序就好了?!爆F在,有了 C2000? 微控制器 (MCU) 的可配置邏輯塊 (CLB, Configurable Logic Block),這個愿望已成為現實。
什么是 CLB?CLB 將一個經優(yōu)化的高速可編程邏輯集成到 C2000 MCU 等實時控制器中,為增強型脈寬調制器 (PWM)、增強型捕捉、增強型正交編碼器和通用 I/O 等關鍵外設提供智能的信號輸入/輸出 (I/O) 路由功能,最終成為具有系統級差異化特性的增強版知識產權 (IP) 模塊。
圖1:CLB工具單元塊的示例
如圖 1 中所示,CLB 工具包括兩個、四個或八個邏輯塊,每個邏輯塊內是一整套經優(yōu)化的可編程邏輯單元,其中包含:
三個 4 輸入查找表 (LUT4)
三個 32 位計數器 (Ctr32)
三個 4 狀態(tài)有限狀態(tài)機 (FSM)
八個 3 輸入輸出查找表 (L3)
一個高級控制器 (HLC)
通過單獨配置并將這些單元塊連接在一起,您可以生成自定義邏輯方案,為復雜的系統問題提供新穎的解決方案,例如為保護觸發(fā)條件編寫應用特定的邏輯、增強軟開關 PWM的類型、或者實現基于特殊條件的正交編碼器位置捕獲。
為了方便開發(fā),TI 創(chuàng)建了一個圖形化 CLB 配置工具(如圖 2 所示),并將它直接集成到 TI 的 Code Composer Studio? 集成開發(fā)環(huán)境,用于代碼開發(fā)和調試。
圖2:CLB工具配置視圖
配置好之后,系統會自動生成 CLB 工具輸出邏輯。工程編譯輸出是一個 *.h 頭文件,該文件描述了 CLB 工具配置。在運行時初始化期間,頭文件描述符調用 C2000Ware DriverLib 應用程序編程接口函數來配置邏輯塊。
設計工程師逐漸使用 CLB 工具探索實現產品差異化的新方法。Harman International 公司 Lifestyle Audio 部門的首席硬件工程師Matt Parnell 一直在使用 CLB 來增強產品。
根據 Matt 的說法,他們一直在尋求“突破設計的限制”。
“例如,現在我們把主函數的軟件控制環(huán)路移動到 CLB,轉移了用戶控制邏輯和診斷功能的負擔。降低了400kHz 頻率的每個周期開銷,非常有效果和必要。各周期降低開銷后騰出的帶寬可直接用于改進控制功能,”Matt 表示。
他還談到,增強型 PWM (ePWM) 外設如何在“底層”集成信號。
“在 CLB 內,設計人員可以攔截內部 ePWM 信號,包括動作指示器和死區(qū)、邏輯條件的信號,然后創(chuàng)建自定義版本的子模塊。Harman 已經使用這個功能獲得了新勝利。CLB 為功能已經非常強大的器件增加了非常多的定制功能?!?/p>
新的 CLB 外設克服了控制類設計的障礙,為制定差異化解決方案提供了一個全新的工具集。最新的 C2000Ware 版本包括 15 個 CLB 示例;MotorControl 軟件開發(fā)套件中提供了編碼器示例。請查看培訓和應用手冊,了解 CLB 如何顛覆傳統邏輯。