0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GPADC功能介紹與實(shí)現(xiàn)

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-01-12 15:33 ? 次閱讀

Other Parts Discussed in Post:AWR1642, IWR1642, IWR1642BOOST, AWR1443, IWR1443

作者:TI 工程師 Chris Meng

GPADC功能介紹

IWR1642/AWR1642的毫米波傳感器芯片上集成了通用ADC(GPADC)的功能。用戶可以利用GPADC對(duì)外部電壓,例如電源電壓進(jìn)行監(jiān)控。IWR1642/AWR1642上的ADC采樣率為625Ksps,精度為10-bit,提供給用戶6個(gè)ADC管腳進(jìn)行測(cè)量。其中5個(gè)ADC支持緩沖模式和非緩沖模式,一個(gè)ADC僅支持非緩沖模式。在非緩沖模式下,ADC的測(cè)量范圍是0V~1.8V,而緩沖模式下,測(cè)量范圍是0.4V~1.3V。

GPADC本身是由雷達(dá)子系統(tǒng)控制,用戶可以通過在MSS或者DSS調(diào)用檢測(cè)GPADC的API,向雷達(dá)子系統(tǒng)發(fā)送相關(guān)請(qǐng)求來獲取GPADC相關(guān)信息。雷達(dá)子系統(tǒng)收到ADC檢測(cè)的消息后,會(huì)調(diào)度ADC測(cè)量和其他射頻模擬的檢測(cè)功能。用戶可以配置ADC設(shè)定時(shí)間,也就是跳過多少采樣點(diǎn)后開始正式采用,以及連續(xù)采樣點(diǎn)數(shù)。雷達(dá)子系統(tǒng)會(huì)在一幀結(jié)束的時(shí)候把ADC采樣的最小值,最大值和平均值通過消息發(fā)給GPADC采樣的發(fā)起者(MSS或者DSS)。

注意事項(xiàng)

這里有兩點(diǎn)需要注意。一個(gè)是BSS里面異步消息發(fā)送對(duì)象的設(shè)置。對(duì)于GPADC這個(gè)檢測(cè),是調(diào)用配置GPADC的那個(gè)核會(huì)收到BSS發(fā)出的消息。一個(gè)是mmwave Link下消息發(fā)送的對(duì)象。在mmw demo里面使用了mmwave link的消息,這個(gè)消息是不同于BSS的異步消息配置。在mmw demo里MMS代碼的消息處理函數(shù)MmwDemo_mssMmwaveEventCallbackFxn()的返回值默認(rèn)為0,表示在接收到消息后,同樣需要把消息發(fā)給DSS。所以當(dāng)MSS發(fā)起了GPADC的配置,默認(rèn)情況下不僅MSS會(huì)收到GPADC的消息,DSS也是會(huì)收到GPADC的消息。如果DSS不處理收到的GPADC消息,DSS側(cè)就會(huì)報(bào)錯(cuò)。所以如果不需要DSP處理相關(guān)事件,可以在DSP側(cè)的MmwDemo_dssMmwaveEventCallbackFxn函數(shù)里添加GPADC消息的處理,例如收到消息后break。但是,更好的方法是在mss側(cè)把相應(yīng)消息事件的返回值設(shè)置為1。這樣可以減少對(duì)DSS的打斷。默認(rèn)的代碼MmwDemo_mssMmwaveEventCallbackFxn()函數(shù)的返回值只有統(tǒng)一的一個(gè)值,因?yàn)閙mw demo每個(gè)核都會(huì)處理多個(gè)消息,所以最好修改一下MmwDemo_mssMmwaveEventCallbackFxn為不需要傳給dss的消息返回值為1,而需要的返回值為0。如果用戶需要在DSS側(cè)調(diào)用GPADC的配置代碼,也需要類似的處理。

GPADC功能實(shí)現(xiàn)

下面以MSS讀取GPADC為例,介紹一下如何在mmWave SDK2.0的mmw demo下實(shí)現(xiàn)多次獲取GPADC數(shù)值的功能。下面的測(cè)試基于IWR1642 BOOST ES2.0。DSS讀取GPADC,也可以使用類似方法。

首先需要在mss_main.c里面添加GPADC配置的相關(guān)代碼。每調(diào)用一次配置GPADC,就能夠收到一個(gè)相關(guān)GPADC的消息,獲取GPADC的值。如果需要多次讀取GPADC的值,需要多次調(diào)用GPADC的配置。

#include

#include

rlUInt8_t isGetGpAdcMeasData = 0U;

rlRecvdGpAdcData_t rcvGpAdcData = {0};

const rlGpAdcCfg_t gpAdcCfg =

{

.enable = 0x3F,

.bufferEnable = 0,//0表示非緩沖模式,

//1表示使能緩沖模式,如果全部ADC使能緩沖模式則配置0x3F

.numOfSamples[0].sampleCnt = 20,

.numOfSamples[0].settlingTime = 3,

.numOfSamples[1].sampleCnt = 14,

.numOfSamples[1].settlingTime = 3,

.numOfSamples[2].sampleCnt = 14,

.numOfSamples[2].settlingTime = 3,

.numOfSamples[3].sampleCnt = 14,

.numOfSamples[3].settlingTime = 3,

.numOfSamples[4].sampleCnt = 14,

.numOfSamples[4].settlingTime = 3,

.numOfSamples[5].sampleCnt = 14,

.numOfSamples[5].settlingTime = 3,

.numOfSamples[6].sampleCnt = 14,

.numOfSamples[6].settlingTime = 3,

.numOfSamples[7].sampleCnt = 14,

.numOfSamples[7].settlingTime = 3

.numOfSamples[8].sampleCnt = 14,

.numOfSamples[8].settlingTime = 3,

.numOfSamples[9].sampleCnt = 14,

.numOfSamples[9].settlingTime = 3,

.numOfSamples[10].sampleCnt = 14,

.numOfSamples[10].settlingTime = 3,

.numOfSamples[11].sampleCnt = 14,

.reserved0 = 0

};

int32_t MmwaveLink_setGpAdcConfig (void)

{

int32_t retVal;

retVal = rlSetGpAdcConfig(RL_DEVICE_MAP_INTERNAL_BSS, (rlGpAdcCfg_t*)&gpAdcCfg);

/* Check for mmWaveLink API call status */

if(retVal != 0)

{

/* Error: Link reported an issue. */

System_printf("Error: rlSetGpAdcConfig retVal=%d\n", retVal);

return -1;

}

while(isGetGpAdcMeasData == 0U)

{

/* Sleep and poll again: */

Task_sleep(1);

}

return 0;

}

下面是具體調(diào)用GPADC配置的代碼,可以添加在用戶需要測(cè)試外部電壓的地方。

if (MmwaveLink_setGpAdcConfig() < 0)???????????????

{

System_printf ("Error: MmwaveLink_setGpAdcConfig\n"); break;

}

接下來在MSS側(cè)添加GPADC消息的處理代碼。下面的處理代碼是在CCS輸出窗口打印出ADC5的平均值。相關(guān)代碼添加在MmwDemo_mssMmwaveEventCallbackFxn()函數(shù)里。將MmwDemo_mssMmwaveEventCallbackFxn函數(shù)的返回值設(shè)置為1,這樣DSP就不會(huì)收到該消息,也就不需要在DSP側(cè)添加消息處理代碼了。當(dāng)GPADC的配置代碼被調(diào)用的時(shí)候,用戶就可以在CCS打印輸出窗口看到測(cè)量的GPADC的值。

case RL_RF_AE_GPADC_MEAS_DATA_SB:

{

isGetGpAdcMeasData = 1U;

memcpy(&rcvGpAdcData, payload, sizeof(rlRecvdGpAdcData_t));

System_printf ("GPADC value: %d V\n", rcvGpAdcData.sensor[4].avg);

break;

}

下面是在IWR1642BOOST上實(shí)測(cè)的數(shù)據(jù)和萬用表測(cè)量的數(shù)據(jù)的比較。

萬用表測(cè)量(V) ADC5的平均值 GPADC值轉(zhuǎn)換為電壓 (V)
IWR1642 ES2.0 EVM 1.7176 980 1.8/1024*980=1.722656
0 0 1.8/1024*0=0

上面介紹的GPADC使用方法適用于IWR1642/AWR1642,對(duì)于IWR1443/AWR1443上的GPADC的使用也是很好的參考。

審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式處理
    +關(guān)注

    關(guān)注

    0

    文章

    341

    瀏覽量

    9963
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    示波器的種類和功能介紹

    示波器,作為電子測(cè)量領(lǐng)域的重要工具,其種類繁多,功能各異。從傳統(tǒng)的模擬示波器到現(xiàn)代的數(shù)字示波器,每一種示波器都具備其獨(dú)特的性能和適用場(chǎng)景。本文將詳細(xì)介紹示波器的種類、工作原理、主要功能以及應(yīng)用場(chǎng)景,幫助讀者更全面地了解示波器。
    的頭像 發(fā)表于 05-20 16:50 ?479次閱讀

    SOLIDWORKS特色功能介紹

    SOLIDWORKS是一款功能強(qiáng)大的三維CAD設(shè)計(jì)軟件,廣泛應(yīng)用于機(jī)械設(shè)計(jì)、工程分析、產(chǎn)品數(shù)據(jù)管理和仿真等多個(gè)領(lǐng)域。該軟件以其用戶友好的界面、豐富的功能和性能,贏得了全球數(shù)百萬工程師和設(shè)計(jì)人員的青睞。接下來,我們將詳細(xì)介紹SOL
    的頭像 發(fā)表于 04-11 15:05 ?717次閱讀

    PLC如何實(shí)現(xiàn)監(jiān)視功能?

    PLC(Programmable Logic Controller)實(shí)現(xiàn)監(jiān)視功能主要依賴于其編程軟件中的專門監(jiān)視窗口。
    的頭像 發(fā)表于 04-01 10:08 ?1627次閱讀

    全志R128 SDK HAL 模塊開發(fā)指南——GPADC

    GPADC 模塊介紹 GPADC 是 12bit 采集精度的模數(shù)轉(zhuǎn)換模塊,支持 4 路通道,模擬輸入范圍 0-1.8v,最高采樣率 1MHZ,并且支持?jǐn)?shù)據(jù)比較,自校驗(yàn)功能,同時(shí)工作于可
    發(fā)表于 03-28 09:39

    XPT2046芯片功能介紹

    電子發(fā)燒友網(wǎng)站提供《XPT2046芯片功能介紹.pdf》資料免費(fèi)下載
    發(fā)表于 03-26 09:10 ?3次下載

    SPWM調(diào)制方式是怎樣實(shí)現(xiàn)變壓功能的?又是怎樣實(shí)現(xiàn)變頻功能的?

    SPWM調(diào)制方式是怎樣實(shí)現(xiàn)變壓功能的?又是怎樣實(shí)現(xiàn)變頻功能的? SPWM是一種常見的調(diào)制方式,它通過調(diào)節(jié)脈沖的寬度來控制輸出波形的幅度和頻率,因此可以
    的頭像 發(fā)表于 02-06 11:09 ?1190次閱讀

    電容如何實(shí)現(xiàn)充放電、整流、濾波的功能?

    電容如何實(shí)現(xiàn)充放電、整流、濾波的功能? 電容是一種被廣泛應(yīng)用于電子電路中的被動(dòng)元件,具有很多重要的功能,包括充放電、整流和濾波功能。在本文中,我將詳細(xì)
    的頭像 發(fā)表于 02-03 17:50 ?1672次閱讀

    工業(yè)智能網(wǎng)關(guān)實(shí)現(xiàn)功能

    的智能化和自動(dòng)化。 下面將詳細(xì)介紹工業(yè)智能網(wǎng)關(guān)實(shí)現(xiàn)功能: 數(shù)據(jù)采集與傳輸能力:工業(yè)智能網(wǎng)關(guān)能夠連接不同類型的傳感器、設(shè)備和系統(tǒng),實(shí)時(shí)采集現(xiàn)場(chǎng)的各種數(shù)據(jù),如溫度、濕度、壓力、流量、電流等等。同時(shí),它還具備數(shù)據(jù)壓
    的頭像 發(fā)表于 01-12 15:17 ?417次閱讀

    城市地下綜合管廊監(jiān)控系統(tǒng)的功能、結(jié)構(gòu)及實(shí)現(xiàn)方案介紹

    電子發(fā)燒友網(wǎng)站提供《城市地下綜合管廊監(jiān)控系統(tǒng)的功能、結(jié)構(gòu)及實(shí)現(xiàn)方案介紹.doc》資料免費(fèi)下載
    發(fā)表于 01-05 11:33 ?0次下載

    DshanMCU-R128s2 ADC按鍵配置方法

    FreeRTOS平臺(tái)上使用的按鍵為ADC-KEY,采用的ADC模塊為GPADC。 按鍵功能驅(qū)動(dòng)的實(shí)現(xiàn)是通過ADC分壓,使每個(gè)按鍵檢測(cè)的電壓值不同,從而實(shí)現(xiàn)區(qū)分不同的按鍵。按下或者彈起中
    的頭像 發(fā)表于 12-22 19:11 ?2136次閱讀
    DshanMCU-R128s2 ADC按鍵配置方法

    單片機(jī)的GPIO如何實(shí)現(xiàn)觸摸按鍵的功能呢?

    單片機(jī)的GPIO如何實(shí)現(xiàn)觸摸按鍵的功能呢? 觸摸按鍵是一種使用觸摸電容技術(shù)實(shí)現(xiàn)的按鍵,它通過利用人體的電容來實(shí)現(xiàn)按鍵的檢測(cè)和觸發(fā)。在單片機(jī)中實(shí)現(xiàn)
    的頭像 發(fā)表于 12-07 11:43 ?3279次閱讀

    DVP功能及應(yīng)用介紹

    數(shù)字?jǐn)z像頭并行接口(DVP)用于捕獲 CMOS 影像攝像機(jī)所輸出的并行數(shù)據(jù)。本文主要就 DVP 功能簡(jiǎn)介以及應(yīng)用介紹。
    發(fā)表于 10-25 06:15

    全志R128外設(shè)模塊配置——ADC按鍵配置方法

    ADC 按鍵配置方法 FreeRTOS平臺(tái)上使用的按鍵為ADC-KEY,采用的ADC模塊為GPADC。 按鍵功能驅(qū)動(dòng)的實(shí)現(xiàn)是通過ADC分壓,使每個(gè)按鍵檢測(cè)的電壓值不同,從而實(shí)現(xiàn)區(qū)分不同
    發(fā)表于 10-20 11:04

    WiFi音頻模塊功能介紹

    電子發(fā)燒友網(wǎng)站提供《WiFi音頻模塊功能介紹.pdf》資料免費(fèi)下載
    發(fā)表于 10-20 10:49 ?1次下載
    WiFi音頻模塊<b class='flag-5'>功能</b><b class='flag-5'>介紹</b>

    全志R128芯片應(yīng)用開發(fā)案例——ADC驅(qū)動(dòng)煙霧傳感器

    通常很高,然后逐漸降低直到穩(wěn)定。 為了實(shí)現(xiàn)預(yù)熱功能,我們先實(shí)現(xiàn)一個(gè) sleep 函數(shù),等待預(yù)熱完成再讀取 ADC 電壓值。 static inline int msleep(int ms
    發(fā)表于 10-16 11:34