ZHCUBZ5A September 2021 – April 2024
DATALOG 模塊將兩個(gè)用戶可選軟件變量的實(shí)時(shí)值存儲在 C2000 MCU 上提供的數(shù)據(jù) RAM 中,如圖 3-23 所示。通過將模塊輸入 iptr[0] 和 iptr[1] 配置為兩個(gè)變量的地址來選擇這兩個(gè)變量。兩個(gè) RAM 緩沖區(qū)位置(其中存儲了數(shù)據(jù)值)的起始地址存儲在 datalogBuff1[0] 和 datalogBuff1[1] 中。這些 Datalog 緩沖區(qū)是包含值觸發(fā)數(shù)據(jù)的大型數(shù)組,這些數(shù)據(jù)隨后可以顯示在圖形中。DATALOG 預(yù)分頻器是可配置的,這使得 dlog 函數(shù)只能從每個(gè)預(yù)分頻樣本中記錄一個(gè)。默認(rèn)預(yù)分頻器設(shè)置為 10,但可以通過修改 datalogIF.h 文件中 DATA_LOG_SCALE_FACTOR 定義的值進(jìn)行更改。直接存儲器存取 (DMA) 用于將所選軟件變量的值傳輸?shù)?RAM 中的 DATALOG 緩沖區(qū)。
要啟用 DATALOG 功能,必須在工程屬性中添加預(yù)定義符號 DATALOGF2_EN,如圖 3-19 所示。
以下代碼演示了一個(gè) DATALOG 對象和句柄的聲明。此代碼位于 datalogIF.c 文件中。
DATALOG_Obj datalog;
DATALOG_Handle datalogHandle; //!< the handle for the Datalog object
下面的代碼演示了 DATALOG 對象、句柄和參數(shù)的初始化和設(shè)置。此代碼位于 sys_main.c 文件中。
// Initialize Datalog
datalogHandle = DATALOGIF_init(&datalog, sizeof(datalog));
DATALOG_Obj *datalogObj = (DATALOG_Obj *)datalogHandle;
HAL_setupDMAforDLOG(halHandle, 0, &datalogBuff1[0], &datalogBuff1[1]);
HAL_setupDMAforDLOG(halHandle, 1, &datalogBuff2[0], &datalogBuff2[1]);
下面的代碼演示了兩個(gè)模塊輸入 iptr[0] 和 iptr[1] 的配置,以指向兩個(gè)變量的地址。datalog 模塊輸入指向不同的系統(tǒng)變量,具體取決于構(gòu)建級別。此代碼位于 sys_main.c 文件中:
datalogObj->iptr[0] = &motorVars_M1.adcData.I_A.value[0];
datalogObj->iptr[1] = &motorVars_M1.adcData.I_A.value[1];
以下代碼演示了在 motor1ctrlISR() 中斷執(zhí)行期間使用新數(shù)據(jù)定期更新 datalog 緩沖區(qū)。此代碼位于 motor1_drive.c 文件中。
if(DATALOGIF_enable(datalogHandle) == true)
{
DATALOGIF_updateWithDMA(datalogHandle);
// Force trig DMA channel to save the data
HAL_trigDMAforDLOG(halHandle, 0);
HAL_trigDMAforDLOG(halHandle, 1);
}
datalog 模塊與圖形工具一同使用,該工具提供了一種直觀檢查變量并判斷系統(tǒng)性能的方法。CCS 中提供了圖形工具,可以各種圖形類型顯示數(shù)據(jù)數(shù)組。數(shù)據(jù)數(shù)組以各種格式存儲在器件的存儲器中。
當(dāng)工程處于調(diào)試模式時(shí),打開并設(shè)置時(shí)間圖窗口來繪制數(shù)據(jù)日志緩沖區(qū),如圖 3-24 中所示。或者,用戶可以導(dǎo)入位于工程文件夾中的圖形配置文件。要導(dǎo)入這些文件,請點(diǎn)擊:Tools -> Graph -> DualTime…,選擇“import”并通過瀏覽找到以下位置 <install_location>\solutions\universal_motorcontrol_lab\common\debug,然后選擇 motor_datalog_fp2.graphProp 文件。點(diǎn)擊“OK”,這樣會將 Graphs 添加到調(diào)試視圖中。點(diǎn)擊圖形選項(xiàng)卡左上角的“Continuous Refresh”按鈕 。