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

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

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

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

星星科技指導(dǎo)員 ? 來源:TI ? 作者:Chris Meng ? 2023-04-03 10:13 ? 次閱讀

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=%dn", 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_setGpAdcConfign"); 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 Vn", rcvGpAdcData.sensor[4].avg);

break;

}

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

萬(wàn)用表測(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)注

    452

    文章

    49985

    瀏覽量

    419665
  • adc
    adc
    +關(guān)注

    關(guān)注

    97

    文章

    6347

    瀏覽量

    543367
  • 毫米波傳感器
    +關(guān)注

    關(guān)注

    3

    文章

    100

    瀏覽量

    11414
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    德州儀器宣布AWR1642IWR1642毫米波傳感器可以批量生產(chǎn)

    繼發(fā)布全球精度最高的CMOS單芯片毫米波雷達(dá)傳感器一年后,德州儀器(TI)近日宣布,其高集成度超寬帶AWR1642IWR1642 毫米波傳感器實(shí)現(xiàn)批量生產(chǎn)。這兩款傳感器均支持在76GHz-81GHz的頻率下,
    的頭像 發(fā)表于 06-01 11:06 ?1.2w次閱讀

    請(qǐng)問毫米波雷達(dá)AWR1642 CAN功能如何使用?

    按著sdk中的教程使用AWR1642的CAN模塊,但沒有實(shí)現(xiàn)CAN數(shù)據(jù)的發(fā)送和接收,求教CAN功能的使用方法
    發(fā)表于 08-19 07:31

    IWR1642/AWR1642毫米波傳感器的GPADC功能介紹功能實(shí)現(xiàn)

    作者:TI 工程師 Chris MengGPADC功能介紹 IWR1642/AWR1642的毫米波傳感器芯片上集成了通用ADC(GPADC
    發(fā)表于 03-04 06:45

    IWR1642/AWR1642上修改代碼改變L3 RAM分布

    本文以AWR1642為例,介紹了在AWR1642 ES2.0 EVM上基于mmWave SDK 2.1的mmw demo下如何修改代碼來改變L3 RAM分布的具體流程和步驟。IWR1642
    發(fā)表于 03-12 06:45

    請(qǐng)問IWR1642能調(diào)制FSK波形嗎?

    IWR1642和1443,手冊(cè)及波形產(chǎn)生文檔里只描述了產(chǎn)生鋸齒波的多種組合方法,可以產(chǎn)生常規(guī)的三角波,或者FSK調(diào)頻波嗎?
    發(fā)表于 03-25 08:50

    怎樣去設(shè)計(jì)一種基于IWR1642芯片的板載天線呢

    IWR1642芯片的內(nèi)部結(jié)構(gòu)是怎樣組成的?怎樣去設(shè)計(jì)一種基于IWR1642芯片的板載天線呢?
    發(fā)表于 10-22 09:29

    基于AWR1642的短程雷達(dá)解決方案

    。本章節(jié)將會(huì)基于AWR1642介紹適用于角雷達(dá)的短程雷達(dá)解決方案。由于系統(tǒng)的框圖跟之前的道閘雷達(dá)大同小異,主要的區(qū)別在于三點(diǎn),一是雷達(dá)芯片使用的是AWR1642
    發(fā)表于 11-07 08:07

    如何在IWR1642/AWR1642上修改L3 RAM的分布?

    本文以AWR1642為例,介紹了在AWR1642 ES2.0 EVM上基于mmWave SDK 2.1的mmw demo下如何修改代碼來改變L3 RAM分布的具體流程和步驟。IWR1642
    發(fā)表于 11-10 08:06

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

    GPADC功能介紹 IWR1642/AWR1642的毫米波傳感器芯片上集成了通用ADC(GPADC
    發(fā)表于 11-11 07:30

    德州儀器將開始量產(chǎn)其高度集成的超寬頻AWR1642IWR1642毫米波傳感器

    據(jù)外媒報(bào)道,在推出世界上最精確的毫米波(mmWave)單芯片互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)傳感器一年后,美國(guó)德州儀器公司(TI)現(xiàn)在宣布將開始量產(chǎn)其高度集成的超寬頻AWR1642IWR1642毫米波(mmWave)傳感器。
    發(fā)表于 06-04 17:30 ?1559次閱讀

    基于IWR1642 IWR在樓宇自動(dòng)化的應(yīng)用

    毫米波雷達(dá)的應(yīng)用無(wú)處不在- 1.2 用 IWR1642 進(jìn)行人員數(shù)量統(tǒng)計(jì)的演示說明
    的頭像 發(fā)表于 05-07 06:40 ?4272次閱讀
    基于<b class='flag-5'>IWR1642</b> <b class='flag-5'>IWR</b>在樓宇自動(dòng)化的應(yīng)用

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

    GPADC功能介紹? ? ?? ?????? IWR1642/AWR1642的毫米波傳感器芯片上集成了通用ADC(
    的頭像 發(fā)表于 01-12 15:33 ?4886次閱讀

    IWR1642/AWR1642上修改L3 RAM的分布

    IWR1642/AWR1642上修改L3 RAM的分布
    發(fā)表于 11-01 08:26 ?2次下載
    在<b class='flag-5'>IWR1642</b>/<b class='flag-5'>AWR1642</b>上修改L3 RAM的分布

    IWR1642/AWR1642 GPADC功能介紹實(shí)現(xiàn)

    IWR1642/AWR1642 GPADC功能介紹實(shí)現(xiàn)
    發(fā)表于 11-01 08:26 ?3次下載
    <b class='flag-5'>IWR1642</b>/<b class='flag-5'>AWR1642</b> <b class='flag-5'>GPADC</b><b class='flag-5'>功能</b><b class='flag-5'>介紹</b>與<b class='flag-5'>實(shí)現(xiàn)</b>

    IWR1642/AWR1642上修改L3 RAM的分布

      本文以AWR1642為例,介紹了在AWR1642 ES2.0 EVM上基于mmWave SDK 2.1的mmw demo下如何修改代碼來改變L3 RAM分布的具體流程和步驟。
    的頭像 發(fā)表于 04-03 09:24 ?1356次閱讀
    在<b class='flag-5'>IWR1642</b>/<b class='flag-5'>AWR1642</b>上修改L3 RAM的分布