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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-01-12 15:33 ? 次閱讀

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

作者:TI 工程師 Chris Meng

GPADC功能介紹

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

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

注意事項

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

GPADC功能實現(xiàn)

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

首先需要在mss_main.c里面添加GPADC配置的相關代碼。每調用一次配置GPADC,就能夠收到一個相關GPADC的消息,獲取GPADC的值。如果需要多次讀取GPADC的值,需要多次調用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;

}

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

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

{

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

}

接下來在MSS側添加GPADC消息的處理代碼。下面的處理代碼是在CCS輸出窗口打印出ADC5的平均值。相關代碼添加在MmwDemo_mssMmwaveEventCallbackFxn()函數(shù)里。將MmwDemo_mssMmwaveEventCallbackFxn函數(shù)的返回值設置為1,這樣DSP就不會收到該消息,也就不需要在DSP側添加消息處理代碼了。當GPADC的配置代碼被調用的時候,用戶就可以在CCS打印輸出窗口看到測量的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ù)據(jù)和萬用表測量的數(shù)據(jù)的比較。

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

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

審核編輯:何安

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

    關注

    0

    文章

    341

    瀏覽量

    10042
收藏 人收藏

    評論

    相關推薦

    Java 23功能介紹

    功能。 跟上 Java 新版本的發(fā)布節(jié)奏可能很難,這意味著要解決一連串的問題——更改是什么、為什么要更改以及如何使用全新和更新的功能。 在這篇博文中,我將介紹 Java 23 的一些全新和更新
    的頭像 發(fā)表于 12-04 10:02 ?317次閱讀
    Java 23<b class='flag-5'>功能</b><b class='flag-5'>介紹</b>

    請問AFE5809 decimation功能如何實現(xiàn)?

    正在測試AFE5809抽取功能,通過給的sonar例子不能實現(xiàn)其抽取功能,想知道如何實現(xiàn)
    發(fā)表于 12-02 06:02

    在TPS65903x、TPS65917-Q1、TPS65919-Q1和TPS65916中使用GPADC的指南

    電子發(fā)燒友網(wǎng)站提供《在TPS65903x、TPS65917-Q1、TPS65919-Q1和TPS65916中使用GPADC的指南.pdf》資料免費下載
    發(fā)表于 09-30 14:18 ?0次下載
    在TPS65903x、TPS65917-Q1、TPS65919-Q1和TPS65916中使用<b class='flag-5'>GPADC</b>的指南

    TI電量計Checksum功能介紹

    電子發(fā)燒友網(wǎng)站提供《TI電量計Checksum功能介紹.pdf》資料免費下載
    發(fā)表于 09-05 11:19 ?0次下載
    TI電量計Checksum<b class='flag-5'>功能</b>的<b class='flag-5'>介紹</b>

    電子負載短路功能介紹

    本次主要介紹APM可編程直流電子負載短路功能的使用
    的頭像 發(fā)表于 08-30 09:26 ?539次閱讀
    電子負載短路<b class='flag-5'>功能</b><b class='flag-5'>介紹</b>

    瑞薩開發(fā)板?RX-FSOE-REF-KIT功能安全使用介紹(上)

    本文基于瑞薩官方開發(fā)板RX-FSOE-REF-KIT,介紹EtherCAT通訊的功能安全應用開發(fā)以及實現(xiàn)過程所需的開發(fā)環(huán)境。
    的頭像 發(fā)表于 08-20 15:25 ?672次閱讀
    瑞薩開發(fā)板?RX-FSOE-REF-KIT<b class='flag-5'>功能</b>安全使用<b class='flag-5'>介紹</b>(上)

    示波器分段存儲功能介紹

    在電子測量領域,示波器作為一種重要的測試工具,廣泛應用于信號分析、故障診斷等領域。隨著技術的不斷發(fā)展,示波器的功能也越來越強大。其中,分段存儲功能作為示波器的一項重要功能,極大地提高了波形數(shù)據(jù)的存儲和分析效率。本文將詳細
    的頭像 發(fā)表于 05-29 17:11 ?772次閱讀

    示波器的種類和功能介紹

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

    SOLIDWORKS特色功能介紹

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

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

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

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

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

    XPT2046芯片功能介紹

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

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

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

    電阻是如何實現(xiàn)上下拉功能的呢?

    電阻是如何實現(xiàn)上下拉功能的呢? 上下拉功能是指在電路中通過連接電阻來實現(xiàn)對信號的上拉和下拉控制。在數(shù)字電路中,上拉和下拉功能通常用于控制輸入
    的頭像 發(fā)表于 02-04 09:32 ?1007次閱讀

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

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