国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

GPADC功能介紹與實現

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-01-12 15:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

作者:TI 工程師 Chris Meng

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=%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()函數里。將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 V\n", 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的使用也是很好的參考。

審核編輯:何安

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

    關注

    0

    文章

    341

    瀏覽量

    10509
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用 CW32 實現電池備份(VBAT)功能

    介紹了如何CW32基于 CW32 系列 MCU,通過增加簡單的外部電路配合軟件實現 VBAT 功能,在系統電源掉 電后仍能保持 RTC 時鐘正常計時,以及如何降低系統功耗,從而延長后備電池的使用壽命
    發表于 01-04 06:34

    使用 HTTP 協議能否實現 IAP 功能

    使用 HTTP 協議,能否實現 IAP 功能
    發表于 12-23 06:35

    電能質量在線監測裝置的多級告警閾值功能是如何實現的?

    電能質量在線監測裝置的多級告警閾值功能通過 “硬件采集 - 軟件計算 - 閾值比對 - 智能觸發 - 分級響應” 的全鏈路閉環實現,核心是為不同電能質量指標設置差異化閾值與響應策略,適配異常嚴重程度
    的頭像 發表于 12-10 14:32 ?495次閱讀
    電能質量在線監測裝置的多級告警閾值<b class='flag-5'>功能</b>是如何<b class='flag-5'>實現</b>的?

    速通音頻處理:掌握TTS播放、文件播放與錄音核心,實現完整功能

    這三大模塊的核心邏輯,助你高效打通從核心功能到完整功能實現路徑。 一、概述 ? 本文檔詳細介紹了基于 Air8000 開發板或者 Air8000 核心板的音頻
    的頭像 發表于 11-21 19:27 ?271次閱讀
    速通音頻處理:掌握TTS播放、文件播放與錄音核心,<b class='flag-5'>實現</b>完整<b class='flag-5'>功能</b>

    AG32 內置的CPLD 的DMA功能如何實現

    一、在AGM 的AG32 CPLD中實現DMA(直接內存訪問)功能,其核心邏輯如下: 1、系統架構?采用主從架構:MCU作為主設備,CPLD作為從設備?交互方式:MCU通過訪問寄存器的方式
    發表于 10-31 15:42

    如何利用Trace機制實現LLCP預覽功能

    在藍牙協議棧開發過程中,有時需要預先知道 LLCP。本文將介紹如何利用 Trace 機制實現 LLCP 預覽功能
    的頭像 發表于 10-09 17:55 ?1937次閱讀

    能耗數據采集能實現哪些功能

    能耗可視化 功能實現 :通過智能電表、燃氣表、水表等傳感器,實時采集電力、天然氣、水等能源的消耗數據,并以儀表盤、圖表等形式展示。 應用場景 : 工廠生產線:監控設備級能耗(如單臺注塑機、焊接機的實時用電量); 商
    的頭像 發表于 09-12 17:45 ?1085次閱讀

    工業組態云平臺可以實現哪些功能

    工業組態云平臺可以實現數據采集與監控、報警通知、遠程控制與運維、數據分析與決策、組態設計與可視化等多種功能,以下是具體介紹: 1、數據采集與監控 實時數據采集:通過內置多種工業設備驅動,支持主流
    的頭像 發表于 08-18 14:36 ?473次閱讀

    CANoe中ADAS功能介紹

    )。AFS作為CANoe基礎功能的一部分,不需要購買額外的Option即可使用。同時,CANoe本身的強大功能和開放接口使得結合總線通信,集成第三方工具,實現SI
    的頭像 發表于 07-10 14:55 ?1303次閱讀
    CANoe中ADAS<b class='flag-5'>功能</b>集<b class='flag-5'>介紹</b>

    應用中的“復制功能”如何實現##HarmonyOS應用開發##

    ?很多應用都有一個“點擊復制”的功能,這一功能在實際操作中非常便捷,這一功能實現主要是通過Basic Services Kit(基礎服務)中的“剪貼板服務”
    發表于 06-30 17:27

    HarmonyOS實戰: 城市選擇功能的快速實現

    最近在日常開發過程中,需要實現城市選擇功能,同時支持模糊搜索。看似簡單的功能動手實現起來卻有很多難點。本篇文章詳細記錄開發過程中遇到的問題和對應的解決方法,希望能夠幫助你,建議點贊收藏
    的頭像 發表于 06-24 17:07 ?488次閱讀

    【HarmonyOS 5】桌面快捷方式功能實現詳解

    【HarmonyOS 5】桌面快捷方式功能實現詳解 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、前言 在移動應用開發中,如何讓用戶快速觸達核心功能
    的頭像 發表于 06-21 16:42 ?2268次閱讀
    【HarmonyOS 5】桌面快捷方式<b class='flag-5'>功能</b><b class='flag-5'>實現</b>詳解

    國產開發板—米爾全志T113-i如何實現ARM+RISC-V+DSP協同計算?

    ,兩個核心通過共享內存的方式進行通信。兩個核心通過AMP中斷來傳遞訊息。內存的管理由主核負責。 使用 RPMsg進行核間通信 RPMsg整體通訊框架上面介紹了通訊原理,這里講解如何通訊,AMP
    發表于 03-21 16:50

    使用HarmonyOS NEXT實現簽名板的功能

    theme: greenwillow 簡介 大家好,我是一只會打代碼的羊。今天來分享一篇之前使用ArkTS API9版本實現的簽名板功能,目前鴻蒙已經推出API12了,對比API9的時候,現在實現
    的頭像 發表于 03-16 16:00 ?826次閱讀

    如何使用K210實現抄表功能 ?

    如何使用K210實現抄表功能 ?
    發表于 03-11 06:27