采用非對(duì)稱雙核 MCU 提高系統(tǒng)性能
1. 主動(dòng)發(fā)起數(shù)據(jù)請(qǐng)求的內(nèi)核會(huì)首先調(diào)用 IPC Driver 提供的一個(gè)命令函數(shù)。這個(gè)例子中,M3 是發(fā)起數(shù)據(jù)請(qǐng)求的內(nèi)核,執(zhí)行“IPCMtoCSetBits”函數(shù)。
? g_sIpcController1 是 tIpcController 類型的變量,控制 M3 和 C28 IPC 中斷通道之間的通信。
? SETMASK_16BIT 是 16-bit 掩碼,指示應(yīng)該被置位的位域。IPC_LENGTH_16_BITS 指示命令操作的數(shù)據(jù)對(duì)象是 16-bits。
? 函數(shù)被配置成允許阻塞 “ENABLE BLOCKING”, 意味著函數(shù)會(huì)一直等待直到 M3 PutBuffer 有空的緩沖區(qū)。如果函數(shù)被配置成不許阻塞 “DISABLE BLOCKING”, 一旦”P(pán)ut”緩沖區(qū)滿,它會(huì)立即返回STATUS_FAIL 并且不會(huì)發(fā)送消息到 C28。如果”P(pán)ut”緩沖區(qū)有空余,函數(shù)會(huì)返回 STATUS_PASS,
消息被成功發(fā)送到 C28.
2. 被動(dòng)接受數(shù)據(jù)請(qǐng)求的內(nèi)核會(huì)連續(xù)調(diào)用 IpcGet 函數(shù)來(lái)讀取 sMessage 結(jié)構(gòu)體里的消息,只要有消息在”Get”緩沖區(qū)。在 ISR 中 IpcGet 函數(shù)被調(diào)用,C28 側(cè)的 tIpcController 變量被用來(lái)綁定兩個(gè)相同的M3 和 C28 的 IPC 中斷通道(和 M3 側(cè)用來(lái)發(fā)送命令的 tIpcController 相同)。
3. 即使被動(dòng)接收數(shù)據(jù)的內(nèi)核沒(méi)有確認(rèn)(acknowledged)IPC 中斷標(biāo)志,主動(dòng)請(qǐng)求數(shù)據(jù)的內(nèi)核仍然可以連續(xù)發(fā)送消息,因?yàn)?tIpcController 變量會(huì)把消息排隊(duì)放到”P(pán)ut”緩沖區(qū)(與被動(dòng)接收數(shù)據(jù)請(qǐng)求的內(nèi)核的”Get”緩沖區(qū)相同)。被動(dòng)接收數(shù)據(jù)請(qǐng)求的內(nèi)核的 ISR 會(huì)連續(xù)獲取并處理消息,直至”Get”緩沖區(qū)為
空。
4、Cortex M3 和 C28x 核的任務(wù)分工
Cortex-M3 子系統(tǒng)的優(yōu)勢(shì)在于處理事務(wù)和管理通訊外設(shè)的能力,C28x 內(nèi)核子系統(tǒng)在實(shí)時(shí)控制和數(shù)據(jù)處理方面性能優(yōu)越。因此,在一個(gè)系統(tǒng)中,合理地分配兩個(gè)子系統(tǒng)的所處理的事務(wù),優(yōu)化資源的配置是至關(guān)重要的?;?Concerto 的系統(tǒng),一方面應(yīng)當(dāng)最大化地使用 C28x 的 DSP 和實(shí)時(shí)控制優(yōu)勢(shì),發(fā)揮ADC、PWM、C28x 組成的閉環(huán)系統(tǒng)的優(yōu)勢(shì);另一方面應(yīng)將人機(jī)界面、通訊協(xié)議棧、文件系統(tǒng)等盡可能運(yùn)行在 Cortex-M3 子系統(tǒng)一側(cè)。下面通過(guò)兩個(gè)應(yīng)用案例來(lái)討論如何通過(guò)合理任務(wù)分工來(lái)提高系統(tǒng)效率。
4.1 光伏逆變器網(wǎng)絡(luò)節(jié)點(diǎn)
光伏逆變器的主要功能是把光伏面板輸出的 DC 直流電逆變?yōu)?110V/220V 的 AC 交流電,最終接入電網(wǎng)或者離網(wǎng)輸電至用電設(shè)備。在一個(gè)大功率的光伏發(fā)電網(wǎng)絡(luò)拓?fù)渲?,往往有許多個(gè)光伏逆變器,這些逆變器需要被監(jiān)測(cè),控制中心需要實(shí)時(shí)觀測(cè)各個(gè)光伏逆變器的工作狀態(tài)。因此,光伏逆變器網(wǎng)絡(luò)節(jié)點(diǎn)的功能主要包括 DC/AC 逆變器和網(wǎng)絡(luò)連接。如圖 9 所示,C28x 子系統(tǒng)(運(yùn)行于 100MHz)完成MPPT 和 DC/AC 逆變算法。網(wǎng)絡(luò)連接可以有多種方式,常用的方式包括 Ethernet 以太網(wǎng)、RS485 或CAN 等,TMS320F28M35H52C 的 Cortex-M3 子系統(tǒng)(100 MHz)帶 Ethernet、RS485 和 CAN 等接口,支持多種有線和無(wú)線連接功能。
圖 8 Solar HV DC-AC Kit
對(duì)于 C28x 子系統(tǒng),采用狀態(tài)機(jī)的設(shè)計(jì)思路來(lái)區(qū)別不同的系統(tǒng)狀態(tài)。不同的狀態(tài)代表著不同的運(yùn)行模式,其它的任務(wù)能夠根據(jù)特定的運(yùn)行模式采取相應(yīng)的行動(dòng)。例如,可以采用下面 5 種不同的運(yùn)行模式。
? Power On Mode: 系統(tǒng)上電后進(jìn)入 Power On Mode,系統(tǒng)上電后,F(xiàn)28M35H52C1 中的 Cortex-M3內(nèi)核 boot 程序首先啟動(dòng),此時(shí) C28x 控制子系統(tǒng)和模擬子系統(tǒng)處于復(fù)位狀態(tài),需要 M3 主子系統(tǒng)將其從復(fù)位狀態(tài)解除。M3 主子系統(tǒng)設(shè)定 M3 和 C28x 內(nèi)核的時(shí)鐘頻率,由于 M3 和 C28x 的主頻之比必須
為整數(shù)比,因此 M3 和 C28x 的主頻設(shè)定只能為 60/60MHz、75/150MHz、100/100MHz。在 M3 和C28x 的主頻設(shè)定完成之后,需要由 M3 主子系統(tǒng)對(duì)整個(gè)芯片的外設(shè)資源以及 GPIO 進(jìn)行配置,來(lái)決定哪些 GPIO 可以由 C28x 控制子系統(tǒng)進(jìn)行配置。本系統(tǒng)中 M3 和 C28x 主頻設(shè)定為 75/150MHz。當(dāng)所有的初始化操作完成后,系統(tǒng)自動(dòng)轉(zhuǎn)入到 Standby Mode。
? Standby Mode:所有的 PWM 和繼電器被關(guān)閉。系統(tǒng)等待啟動(dòng)命令,也檢測(cè)是否發(fā)生錯(cuò)誤。
? Soft Start Mode: 接收到啟動(dòng)命令,系統(tǒng)進(jìn)入軟啟動(dòng)模式,PWM 和繼電器開(kāi)啟。如果啟動(dòng)成功而且沒(méi)有錯(cuò)誤發(fā)生,系統(tǒng)自動(dòng)進(jìn)入正常逆變模式。
? Normal Inverter Mode: 該模式下系統(tǒng)輸出功率,如果沒(méi)有錯(cuò)誤發(fā)生也沒(méi)有收到關(guān)閉命令,系統(tǒng)會(huì)一直處于這個(gè)模式。
? Fault Mode: 如果發(fā)生錯(cuò)誤,例如母線過(guò)壓,系統(tǒng)立即進(jìn)入 Fault Mode。所有 PWM 輸出被封鎖,輸出繼電器被斷開(kāi)。Fault 狀態(tài)可以被按鍵或者 GUI清除。清除后,系統(tǒng)會(huì)返回到Standby Mode
圖 90 C28x 端程序系統(tǒng)狀態(tài)機(jī)
圖 101 Concerto ADC 框圖
Concerto 系列有兩個(gè) 12-bit ADC 模塊,每個(gè) ADC 模塊包含兩個(gè)采樣保持電路,支持同步或者順序采樣模式,3 個(gè)帶 10-bitDAC 的模擬比較器,模擬信號(hào)的輸入范圍 0V~3.3V( 內(nèi)部參考)或者VREFHI/VREFLO 比例關(guān)系(外部參考)。
圖 11 給出了詳細(xì)的 ADC 配置,TMS320F28M35H52C 的 Cortex-M3 和 C28x 內(nèi)核都能夠訪問(wèn) ADC的結(jié)果寄存器,而且 2 個(gè) ADC 模塊共享 4 個(gè)模擬輸入, Concerto ADC 模塊的這個(gè)特性允許對(duì)關(guān)鍵信號(hào)進(jìn)行安全性驗(yàn)證,提高系統(tǒng)的可靠性。
4.2 電力線載波通訊 PLC 智能家居網(wǎng)關(guān)
智能家居網(wǎng)關(guān)能夠?qū)⒎块g內(nèi)的智能電器以有線或者無(wú)線的方式組成網(wǎng)絡(luò),集中進(jìn)行管理。如圖 10 所示,TMS320F28M35H52C 的 C28x(運(yùn)行于 150MHz)主要完成電力線載波通信(Power Line CarrierCommunication)PLC 的 OFDM 物理層算法。Cortex-M3(75MHz)的運(yùn)行 TCP/IP 協(xié)議接入以太網(wǎng),其次,可選地通過(guò) UART 接口外接 GPRS 模塊或者通過(guò) EBI 外擴(kuò)總線連接 TFT 彩屏用戶界面。
評(píng)論