采用非對稱雙核 MCU 提高系統性能
1. 主動發起數據請求的內核會首先調用 IPC Driver 提供的一個命令函數。這個例子中,M3 是發起數據請求的內核,執行“IPCMtoCSetBits”函數。
? g_sIpcController1 是 tIpcController 類型的變量,控制 M3 和 C28 IPC 中斷通道之間的通信。
? SETMASK_16BIT 是 16-bit 掩碼,指示應該被置位的位域。IPC_LENGTH_16_BITS 指示命令操作的數據對象是 16-bits。
? 函數被配置成允許阻塞 “ENABLE BLOCKING”, 意味著函數會一直等待直到 M3 PutBuffer 有空的緩沖區。如果函數被配置成不許阻塞 “DISABLE BLOCKING”, 一旦”Put”緩沖區滿,它會立即返回STATUS_FAIL 并且不會發送消息到 C28。如果”Put”緩沖區有空余,函數會返回 STATUS_PASS,
消息被成功發送到 C28.
2. 被動接受數據請求的內核會連續調用 IpcGet 函數來讀取 sMessage 結構體里的消息,只要有消息在”Get”緩沖區。在 ISR 中 IpcGet 函數被調用,C28 側的 tIpcController 變量被用來綁定兩個相同的M3 和 C28 的 IPC 中斷通道(和 M3 側用來發送命令的 tIpcController 相同)。
3. 即使被動接收數據的內核沒有確認(acknowledged)IPC 中斷標志,主動請求數據的內核仍然可以連續發送消息,因為 tIpcController 變量會把消息排隊放到”Put”緩沖區(與被動接收數據請求的內核的”Get”緩沖區相同)。被動接收數據請求的內核的 ISR 會連續獲取并處理消息,直至”Get”緩沖區為
空。
4、Cortex M3 和 C28x 核的任務分工
Cortex-M3 子系統的優勢在于處理事務和管理通訊外設的能力,C28x 內核子系統在實時控制和數據處理方面性能優越。因此,在一個系統中,合理地分配兩個子系統的所處理的事務,優化資源的配置是至關重要的。基于 Concerto 的系統,一方面應當最大化地使用 C28x 的 DSP 和實時控制優勢,發揮ADC、PWM、C28x 組成的閉環系統的優勢;另一方面應將人機界面、通訊協議棧、文件系統等盡可能運行在 Cortex-M3 子系統一側。下面通過兩個應用案例來討論如何通過合理任務分工來提高系統效率。
4.1 光伏逆變器網絡節點
光伏逆變器的主要功能是把光伏面板輸出的 DC 直流電逆變為 110V/220V 的 AC 交流電,最終接入電網或者離網輸電至用電設備。在一個大功率的光伏發電網絡拓撲中,往往有許多個光伏逆變器,這些逆變器需要被監測,控制中心需要實時觀測各個光伏逆變器的工作狀態。因此,光伏逆變器網絡節點的功能主要包括 DC/AC 逆變器和網絡連接。如圖 9 所示,C28x 子系統(運行于 100MHz)完成MPPT 和 DC/AC 逆變算法。網絡連接可以有多種方式,常用的方式包括 Ethernet 以太網、RS485 或CAN 等,TMS320F28M35H52C 的 Cortex-M3 子系統(100 MHz)帶 Ethernet、RS485 和 CAN 等接口,支持多種有線和無線連接功能。

圖 8 Solar HV DC-AC Kit
對于 C28x 子系統,采用狀態機的設計思路來區別不同的系統狀態。不同的狀態代表著不同的運行模式,其它的任務能夠根據特定的運行模式采取相應的行動。例如,可以采用下面 5 種不同的運行模式。
? Power On Mode: 系統上電后進入 Power On Mode,系統上電后,F28M35H52C1 中的 Cortex-M3內核 boot 程序首先啟動,此時 C28x 控制子系統和模擬子系統處于復位狀態,需要 M3 主子系統將其從復位狀態解除。M3 主子系統設定 M3 和 C28x 內核的時鐘頻率,由于 M3 和 C28x 的主頻之比必須
為整數比,因此 M3 和 C28x 的主頻設定只能為 60/60MHz、75/150MHz、100/100MHz。在 M3 和C28x 的主頻設定完成之后,需要由 M3 主子系統對整個芯片的外設資源以及 GPIO 進行配置,來決定哪些 GPIO 可以由 C28x 控制子系統進行配置。本系統中 M3 和 C28x 主頻設定為 75/150MHz。當所有的初始化操作完成后,系統自動轉入到 Standby Mode。
? Standby Mode:所有的 PWM 和繼電器被關閉。系統等待啟動命令,也檢測是否發生錯誤。
? Soft Start Mode: 接收到啟動命令,系統進入軟啟動模式,PWM 和繼電器開啟。如果啟動成功而且沒有錯誤發生,系統自動進入正常逆變模式。
? Normal Inverter Mode: 該模式下系統輸出功率,如果沒有錯誤發生也沒有收到關閉命令,系統會一直處于這個模式。
? Fault Mode: 如果發生錯誤,例如母線過壓,系統立即進入 Fault Mode。所有 PWM 輸出被封鎖,輸出繼電器被斷開。Fault 狀態可以被按鍵或者 GUI清除。清除后,系統會返回到Standby Mode

圖 90 C28x 端程序系統狀態機

圖 101 Concerto ADC 框圖
Concerto 系列有兩個 12-bit ADC 模塊,每個 ADC 模塊包含兩個采樣保持電路,支持同步或者順序采樣模式,3 個帶 10-bitDAC 的模擬比較器,模擬信號的輸入范圍 0V~3.3V( 內部參考)或者VREFHI/VREFLO 比例關系(外部參考)。
圖 11 給出了詳細的 ADC 配置,TMS320F28M35H52C 的 Cortex-M3 和 C28x 內核都能夠訪問 ADC的結果寄存器,而且 2 個 ADC 模塊共享 4 個模擬輸入, Concerto ADC 模塊的這個特性允許對關鍵信號進行安全性驗證,提高系統的可靠性。
4.2 電力線載波通訊 PLC 智能家居網關
智能家居網關能夠將房間內的智能電器以有線或者無線的方式組成網絡,集中進行管理。如圖 10 所示,TMS320F28M35H52C 的 C28x(運行于 150MHz)主要完成電力線載波通信(Power Line CarrierCommunication)PLC 的 OFDM 物理層算法。Cortex-M3(75MHz)的運行 TCP/IP 協議接入以太網,其次,可選地通過 UART 接口外接 GPRS 模塊或者通過 EBI 外擴總線連接 TFT 彩屏用戶界面。
評論