吴忠躺衫网络科技有限公司

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

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

3天內不再提示

IWR1642/AWR1642 GPADC功能介紹與實現

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

GPADC功能介紹

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

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

注意事項

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

GPADC功能實現

下面以MSS讀取GPADC為例,介紹一下如何在mmWave SDK2.0的mmw demo下實現多次獲取GPADC數值的功能。下面的測試基于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=%dn", retVal);

return -1;

}

while(isGetGpAdcMeasData == 0U)

{

/* Sleep and poll again: */

Task_sleep(1);

}

return 0;

}

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

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

{

System_printf ("Error: MmwaveLink_setGpAdcConfign"); break;

}

接下來在MSS側添加GPADC消息的處理代碼。下面的處理代碼是在CCS輸出窗口打印出ADC5的平均值。相關代碼添加在MmwDemo_mssMmwaveEventCallbackFxn()函數里。將MmwDemo_mssMmwaveEventCallbackFxn函數的返回值設置為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 Vn", rcvGpAdcData.sensor[4].avg);

break;

}

下面是在IWR1642BOOST上實測的數據和萬用表測量的數據的比較。

萬用表測量(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的使用也是很好的參考。

審核編輯:郭婷

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

    關注

    456

    文章

    51192

    瀏覽量

    427306
  • adc
    adc
    +關注

    關注

    99

    文章

    6534

    瀏覽量

    545768
  • 毫米波傳感器

    關注

    3

    文章

    107

    瀏覽量

    11485
收藏 人收藏

    評論

    相關推薦

    德州儀器宣布AWR1642IWR1642毫米波傳感器可以批量生產

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

    請問毫米波雷達AWR1642 CAN功能如何使用?

    按著sdk中的教程使用AWR1642的CAN模塊,但沒有實現CAN數據的發送和接收,求教CAN功能的使用方法
    發表于 08-19 07:31

    IWR1642/AWR1642毫米波傳感器的GPADC功能介紹功能實現

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

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

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

    請問IWR1642能調制FSK波形嗎?

    IWR1642和1443,手冊及波形產生文檔里只描述了產生鋸齒波的多種組合方法,可以產生常規的三角波,或者FSK調頻波嗎?
    發表于 03-25 08:50

    怎樣去設計一種基于IWR1642芯片的板載天線呢

    IWR1642芯片的內部結構是怎樣組成的?怎樣去設計一種基于IWR1642芯片的板載天線呢?
    發表于 10-22 09:29

    基于AWR1642的短程雷達解決方案

    。本章節將會基于AWR1642介紹適用于角雷達的短程雷達解決方案。由于系統的框圖跟之前的道閘雷達大同小異,主要的區別在于三點,一是雷達芯片使用的是AWR1642
    發表于 11-07 08:07

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

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

    實現IWR1642/AWR1642 GPADC功能

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

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

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

    基于IWR1642 IWR在樓宇自動化的應用

    毫米波雷達的應用無處不在- 1.2 用 IWR1642 進行人員數量統計的演示說明
    的頭像 發表于 05-07 06:40 ?4377次閱讀
    基于<b class='flag-5'>IWR1642</b> <b class='flag-5'>IWR</b>在樓宇自動化的應用

    GPADC功能介紹實現

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

    IWR1642/AWR1642上修改L3 RAM的分布

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

    IWR1642/AWR1642 GPADC功能介紹實現

    IWR1642/AWR1642 GPADC功能介紹實現
    發表于 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'>實現</b>

    IWR1642/AWR1642上修改L3 RAM的分布

      本文以AWR1642為例,介紹了在AWR1642 ES2.0 EVM上基于mmWave SDK 2.1的mmw demo下如何修改代碼來改變L3 RAM分布的具體流程和步驟。
    的頭像 發表于 04-03 09:24 ?1580次閱讀
    在<b class='flag-5'>IWR1642</b>/<b class='flag-5'>AWR1642</b>上修改L3 RAM的分布
    大发888娱乐场下载lm0| 百家乐官网高手和勒威| 单张百家乐论坛| 千亿国际| 海晏县| 百家乐庄闲局部失衡| 江川县| 百家乐怎么做弊| 赌场百家乐官网欺诈方法| 全讯网网址导航| 粤港澳百家乐官网赌场娱乐网规则 | 跨国际百家乐官网的玩法技巧和规则 | e世博百家乐娱乐场| 百家乐官网怎么看门路| 百家乐那里可以玩| 澳门赌百家乐官网的玩法技巧和规则 | 大发888娱乐场下载 17| 百家乐破解视频| 波克棋牌免费下载| 澳门百家乐娱乐城信誉如何| 关于百家乐官网概率的书| 威尼斯人娱乐代理| 折式百家乐赌台| 百家乐官网是哪个国家| 太阳城官方网| 杨公风水24山分金水法| 豪杰百家乐官网现金网| 大发888体育博彩| 百家乐全自动分析软件| 百家乐官网明灯| tt娱乐城官方网站| 百家乐任你博娱乐场| 香港百家乐官网赌城| 枞阳县| 大发888开户博盈国际| 百家乐赢的方法| 百家乐官网和局投注法| 欢乐谷娱乐城开户| 利都百家乐国际赌场娱乐网规则| 时时博百家乐官网的玩法技巧和规则 | 百家乐筹码14克|