RM新时代网站-首页

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

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

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

RX23E-A 24bit ΔΣADC應(yīng)用篇(4)添加外圍功能AFE和DSAD的方法

瑞薩MCU小百科 ? 來(lái)源:瑞薩嵌入式小百科 ? 作者:瑞薩嵌入式小百科 ? 2024-05-28 14:13 ? 次閱讀

4

添加AFE和DSAD

本節(jié)學(xué)習(xí)如何添加外圍功能-AFE和DSAD,并進(jìn)行設(shè)置,每1ms采集外部PT100的溫度值。

4.1 參考文檔r01an4788ej0110-rx23ee-a.pdf

897b07e4-1ca7-11ef-b74b-92fbcf53809c.png8995b7ce-1ca7-11ef-b74b-92fbcf53809c.png

4.2 打開(kāi)Smart Configurator,Components標(biāo)簽頁(yè)點(diǎn)擊“+”,F(xiàn)unction選擇“A/D Converter”,選擇“Analog Front End”。

89b928a8-1ca7-11ef-b74b-92fbcf53809c.png

4.3 點(diǎn)擊“Next”,點(diǎn)擊“Finish”。

89d811a0-1ca7-11ef-b74b-92fbcf53809c.png

4.4 設(shè)置AFE,PT100為三線(xiàn)RTD(電阻溫度檢測(cè)器),通過(guò)電流激勵(lì)能產(chǎn)生輸出電壓。

所以選擇從AIN8和AIN9輸出250uA的激勵(lì)電流。板子上已經(jīng)將J5-2連接到J4-2,J5-1連接到J4-1。

89f073ee-1ca7-11ef-b74b-92fbcf53809c.png

4.5 Components標(biāo)簽頁(yè)點(diǎn)擊“+”,F(xiàn)unction選擇“A/D Converter”,選擇“Continuous Scan Mode DSAD”。

8a04c6f0-1ca7-11ef-b74b-92fbcf53809c.png

4.6 點(diǎn)擊“Next”,點(diǎn)擊“Finish”。

8a1924ec-1ca7-11ef-b74b-92fbcf53809c.png

4.7 設(shè)置DSAD

選擇Channel0

不勾選中斷

8a294336-1ca7-11ef-b74b-92fbcf53809c.png

Positive input signal選擇ANI7

Negative input signal選擇AIN6

Reference input選擇REF1P/REF1N

勾選Positive reference voltage buffer

勾選Negative reference voltage buffer

選擇PGA:x16

A/D conversion number選擇Immediate value mode (the number of A/D conversions if from 1 to 255),轉(zhuǎn)換次數(shù)設(shè)為1

Oversampling ratio:OSR設(shè)為50000,那么所對(duì)應(yīng)的OSRm寄存器的值為3124

8a4915da-1ca7-11ef-b74b-92fbcf53809c.png

4.8 點(diǎn)擊右上角“Generate Code”生成代碼

8a612832-1ca7-11ef-b74b-92fbcf53809c.png

4.9 雙擊src->smc_gen->Config_DSAD0文件夾中的Config_DSAD0.h

文件的最后,添加下面第2行和第3行的代碼

/* Start user code for function. Do not edit comment generated here */
bool r_dsad0_IsConversionEnd (void);
void r_dsad0_ClearIrFlag (void);
/* End user code. Do not edit comment generated here */

4.10 雙擊src->smc_gen->Config_DSAD0文件夾中的Config_DSAD0.c

文件的最后,添加下面第2行到29行的代碼

/* Start user code for adding. Do not edit comment generated here */
/**********************************************************************************************************************
 * Function Name: r_dsad0_IsConversionEnd
 * Description : This function returns the Conversion status of DSAD0.
 * Arguments  : None
 * Return Value : bool
 *          false:Conversion, true:Conversion end
 *********************************************************************************************************************/
bool r_dsad0_IsConversionEnd (void)
{
  return (bool) ((1U == IR(DSAD0, ADI0)) ? true : false);
}
/**********************************************************************************************************************
 End of function r_dsad0_IsConversionEnd
 *********************************************************************************************************************/


/**********************************************************************************************************************
 * Function Name: r_dsad0_ClearIrFlag
 * Description : This function clears the IR flag
 * Arguments  : None
 * Return Value : None
 *********************************************************************************************************************/
void r_dsad0_ClearIrFlag (void)
{
  IR(DSAD0, ADI0)= 0U;
}
/**********************************************************************************************************************
 End of function r_dsad0_ClearIrFlag
 *********************************************************************************************************************/
/* End user code. Do not edit comment generated here */

4.11 從參考例程“r01an4788_rx23ea_rtd”的src文件夾中拷貝以下文件到src文件夾中。

8a6d1976-1ca7-11ef-b74b-92fbcf53809c.png

打開(kāi)r_rtd_api.h文件,將D_RTD_SELECT宏定義修改為“1”(3線(xiàn))。

8a9cffd8-1ca7-11ef-b74b-92fbcf53809c.png

4.12 雙擊rx23ea_local_board_lab.c文件,包含以下頭文件(第10-12行,第16-17行)

/***********************************************************************
*
*  FILE        : rx23ea_local_board_lab.c
*  DATE        : 2023-09-16
*  DESCRIPTION : Main Program
*
*  NOTE:THIS IS A TYPICAL EXAMPLE.
*
***********************************************************************/
#include 
#include 
#include 


#include "r_smc_entry.h"


#include "r_sensor_common_api.h"
#include "r_rtd_api.h"

4.13 在main()函數(shù)前添加變量定義(第2-3行)

bool timer_flag = false;
static volatile int32_t s_dsad0_value;         /** DSAD0 24bit A/D value storage variable     */
static volatile float  s_temp   = 0;        /** Measurement temperature storage variable    */

4.14 在main函數(shù)中添加下面的代碼(第1-2行,第6-8行,第10-44行)

  uint32_t dsad0_reg;                 /** DSAD0.DR register storage variable                          */
  float rtd_temp = 0;                             /** Measurement temperature */


  R_Config_TMR0_TMR1_Start();


    /** A/D conversion start */
    R_Config_DSAD0_Start();
    R_Config_DSAD0_Set_SoftwareTrigger();


    while (1)
    {
        if(true == timer_flag){
          timer_flag = false;


      /****************************/
      /** Temperature measurement */
      /****************************/
      /** A/D conversion complete for DSAD0? */
      if (true == r_dsad0_IsConversionEnd())
      {
              int32_t dsad0_value;        /** Signed 24-bit DSAD0 value                                   */


              r_dsad0_ClearIrFlag();      /** clear DSAD0 IR flag                                         */


              /** Get A/D value */
              {
                  R_Config_DSAD0_Get_ValueResult( &dsad0_reg);


                  /** Flag mask, Sign extension */
                  dsad0_value = (int32_t) ((dsad0_reg & 0x00FFFFFFU) << 8) >> 8;
              }
              /** Calculate the temperature [degree] of the reference junction */
              rtd_temp = R_RTD_DsadToTemp((float) dsad0_value);


              /** debug monitor */
              {
                  s_dsad0_value   = dsad0_value;
                  s_temp          = rtd_temp;
              }


      }
        }


    }

4.15 點(diǎn)擊8ac06a0e-1ca7-11ef-b74b-92fbcf53809c.png編譯代碼。

8acb9492-1ca7-11ef-b74b-92fbcf53809c.png

4.16 高亮rx23ea_local_board_lab工程,按下調(diào)試按鈕8ae94172-1ca7-11ef-b74b-92fbcf53809c.png

4.17 可以通過(guò)觀測(cè)變量的方式檢查轉(zhuǎn)換結(jié)果。

打開(kāi)src文件夾中的rx23ea_local_board_lab.c文件,找到s_dsad0_value和s_temp。鼠標(biāo)移動(dòng)到變量名上,雙擊變量名,并點(diǎn)擊鼠標(biāo)右鍵,選擇“Add Watch Expression”。

8af3f2de-1ca7-11ef-b74b-92fbcf53809c.png

在Expressions窗口中,右鍵點(diǎn)擊該變量名,選擇Enable Real-time Refresh,將此變量設(shè)置為實(shí)時(shí)刷新。

8b0f2860-1ca7-11ef-b74b-92fbcf53809c.png

4.18 運(yùn)行代碼 (8b49b192-1ca7-11ef-b74b-92fbcf53809c.png),需要點(diǎn)擊兩次。

可以觀察到變量的實(shí)時(shí)變化。

8b5774da-1ca7-11ef-b74b-92fbcf53809c.png

用手捏住傳感器,可以看到數(shù)值發(fā)生變化。

8b6a1f04-1ca7-11ef-b74b-92fbcf53809c.png

4.19 按下斷開(kāi)按鈕8b8d1090-1ca7-11ef-b74b-92fbcf53809c.png或者終止按鈕8b9727ce-1ca7-11ef-b74b-92fbcf53809c.png。



審核編輯:劉清

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

    關(guān)注

    98

    文章

    6495

    瀏覽量

    544448
  • AFE
    AFE
    +關(guān)注

    關(guān)注

    7

    文章

    224

    瀏覽量

    121642
  • pga
    pga
    +關(guān)注

    關(guān)注

    1

    文章

    97

    瀏覽量

    41523
  • 輸出電壓
    +關(guān)注

    關(guān)注

    2

    文章

    1112

    瀏覽量

    38091
  • 溫度檢測(cè)器
    +關(guān)注

    關(guān)注

    1

    文章

    23

    瀏覽量

    11761
  • Pt100
    +關(guān)注

    關(guān)注

    9

    文章

    172

    瀏覽量

    69116

原文標(biāo)題:RX23E-A 24bit ΔΣADC 應(yīng)用篇 (4) 添加AFE和DSAD [完結(jié)]

文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ADS1256設(shè)置不同的數(shù)據(jù)輸出速率的時(shí)候,得到的24bit的輸出數(shù)據(jù)不相同,為什么?

    在使用ADS1256采集數(shù)據(jù)時(shí)出現(xiàn)問(wèn)題描述如下:當(dāng)設(shè)置不同的數(shù)據(jù)輸出速率的時(shí)候,得到的24bit的輸出數(shù)據(jù)不相同。 采集系統(tǒng)硬件描述如下,下位機(jī)MCU采用的主頻為456MHZ,通過(guò)GPIO口跟
    發(fā)表于 12-13 06:34

    ADS1299的SPI可以一次傳送24bit資料嗎?

    ADS1299的ADC24BIT,我需要由SPI將DATA傳至32bit的MCU,請(qǐng)問(wèn)ADS1299的SPI一次傳送24bit資料嗎? 還是一次傳送8
    發(fā)表于 12-05 07:39

    ADS1256對(duì)24bit ADC采集的數(shù)據(jù)進(jìn)行在模擬工程計(jì)算器上進(jìn)行FFT轉(zhuǎn)換,為什么ENOB和SNR的值這么矛盾呢?

    對(duì)24bit ADC采集的數(shù)據(jù)進(jìn)行在模擬工程計(jì)算器上進(jìn)行FFT轉(zhuǎn)換,為何ENOB和SNR的值這么矛盾呢,難道SNR不應(yīng)該是大于130dB嗎?
    發(fā)表于 11-26 07:53

    ads1282如何設(shè)置成24bit數(shù)據(jù)輸出?

    ads1282如何設(shè)置成 24bit數(shù)據(jù)輸出?
    發(fā)表于 11-19 08:02

    ADS127L01是一個(gè)24 bit的數(shù)模轉(zhuǎn)換器,讀取出來(lái)的實(shí)際的24bit的值如何跟實(shí)際的電壓對(duì)應(yīng)起來(lái),轉(zhuǎn)換公式是什么?

    0x12 RX | 0x56 0x34 0x80 0x20 獲取到的數(shù)據(jù)取低24bit,就是0x34 0x80 0x20,實(shí)際值是0x348020,這個(gè)值如何轉(zhuǎn)化為實(shí)際的輸入電壓值? 謝謝。
    發(fā)表于 11-19 06:57

    RX23E-A 24bit ΔΣADC 應(yīng)用 (2) 創(chuàng)建RX23E-A工程

    本節(jié)學(xué)習(xí)項(xiàng)目開(kāi)發(fā),熟悉e2 studio和Smart Configurator,創(chuàng)建工程。
    的頭像 發(fā)表于 08-02 11:59 ?1496次閱讀
    <b class='flag-5'>RX23E-A</b> <b class='flag-5'>24bit</b> ΔΣ<b class='flag-5'>ADC</b> 應(yīng)用<b class='flag-5'>篇</b> (2) 創(chuàng)建<b class='flag-5'>RX23E-A</b>工程

    RX23E-A 24bit ΔΣADC應(yīng)用(3)添加Component-定時(shí)器

    本節(jié)學(xué)習(xí)如何添加外圍功能 - CMT,并進(jìn)行設(shè)置,每1ms發(fā)生一次中斷。
    的頭像 發(fā)表于 05-27 14:05 ?927次閱讀
    <b class='flag-5'>RX23E-A</b> <b class='flag-5'>24bit</b> ΔΣ<b class='flag-5'>ADC</b>應(yīng)用<b class='flag-5'>篇</b>(3)<b class='flag-5'>添加</b>Component-定時(shí)器

    QCC5181QCC3086QCC3084QCC3083 USB Audio 96K/24bit LDAC

    QCC5181QCC3086QCC3084QCC3083 USB Audio 96K/24bit LDAC 1、USB Audio 支持 96K/24bit ; 2、支持sbc/aac/aptx/aptx-HD/aptx-Adaptive/aptx-lossless/I
    的頭像 發(fā)表于 05-24 17:02 ?3395次閱讀
    QCC5181QCC3086QCC3084QCC3083 USB Audio 96K/<b class='flag-5'>24bit</b> LDAC

    使用RX23E-A對(duì)外部電阻式傳感器PT100進(jìn)行溫度測(cè)量

    RX23E-A系列微控制器配備模擬前端,無(wú)需校準(zhǔn)即可測(cè)量溫度、壓力、流量和重量,精度優(yōu)于0.1%,是高精度傳感、測(cè)試和測(cè)量設(shè)備的理想之選。
    的頭像 發(fā)表于 05-23 14:18 ?1479次閱讀
    使用<b class='flag-5'>RX23E-A</b>對(duì)外部電阻式傳感器PT100進(jìn)行溫度測(cè)量

    RX23E-A 24bitΔΣADC基礎(chǔ)(4) RX23E-A詳解

    RX23E-A的目標(biāo)應(yīng)用是需要高精度模擬的工業(yè)傳感器設(shè)備。例如,溫度控制器、記錄儀、壓力表、力傳感器、體重秤等。
    的頭像 發(fā)表于 04-25 14:17 ?827次閱讀
    <b class='flag-5'>RX23E-A</b> <b class='flag-5'>24bit</b>ΔΣ<b class='flag-5'>ADC</b>基礎(chǔ)<b class='flag-5'>篇</b>(<b class='flag-5'>4</b>) <b class='flag-5'>RX23E-A</b>詳解

    RX23E-A 24bit ΔΣADC基礎(chǔ)(3)應(yīng)用實(shí)例及設(shè)計(jì)要點(diǎn)

    由于應(yīng)變片/電阻電橋的靈敏度較低*1,請(qǐng)將PGA增益設(shè)置為128倍,以使輸入?yún)⒖荚肼曌钚 ?/div>
    的頭像 發(fā)表于 04-18 14:03 ?1008次閱讀
    <b class='flag-5'>RX23E-A</b> <b class='flag-5'>24bit</b> ΔΣ<b class='flag-5'>ADC</b>基礎(chǔ)<b class='flag-5'>篇</b>(3)應(yīng)用實(shí)例及設(shè)計(jì)要點(diǎn)

    RX23E-A 24bit ΔΣADC基礎(chǔ)(2)用于傳感器測(cè)量的Δ∑ADC的特性

    世界上有各種各樣的傳感器,除了ΔΣADC之外,還需要各種電路來(lái)測(cè)量這些傳感器。當(dāng)處理微小信號(hào)時(shí),您可能需要在執(zhí)行AD轉(zhuǎn)換之前放大信號(hào)。
    的頭像 發(fā)表于 04-10 14:30 ?2184次閱讀
    <b class='flag-5'>RX23E-A</b> <b class='flag-5'>24bit</b> ΔΣ<b class='flag-5'>ADC</b>基礎(chǔ)<b class='flag-5'>篇</b>(2)用于傳感器測(cè)量的Δ∑<b class='flag-5'>ADC</b>的特性

    RX23E-A中的24位ΔΣADC轉(zhuǎn)換器和模擬前端介紹

    RX23E-A MCU是32位RX MCU,具有內(nèi)置FPU和高達(dá)256KB閃存,配有模擬前端(AFE),有助于測(cè)量壓力、流量、溫度和重量,精度小于0.1%。
    的頭像 發(fā)表于 04-08 14:16 ?1457次閱讀
    <b class='flag-5'>RX23E-A</b>中的<b class='flag-5'>24</b>位ΔΣ<b class='flag-5'>ADC</b>轉(zhuǎn)換器和模擬前端介紹

    找一款24bit ADC,要求采樣率8KSPS,能夠提供裸DIE,有的加我

    1.采樣位數(shù):24bit 2.采樣率:≥8k sps 4.支持單端/差分輸入 5.支持多通道(單端16路,差分8路) 6.ENOB: ≥16bit @2K TYP 7.Temp:-40℃~85℃
    發(fā)表于 01-15 14:15

    適用于工業(yè)傳感器應(yīng)用的嵌入模擬前端RX23E-B MCU

    新發(fā)布的RX23E-B MCU配備125kSPS速率的ΔΣADC,其性能與分立式產(chǎn)品相當(dāng),可支持大多數(shù)工業(yè)傳感設(shè)備。
    的頭像 發(fā)表于 01-04 18:23 ?941次閱讀
    適用于工業(yè)傳感器應(yīng)用的嵌入模擬前端<b class='flag-5'>RX23E</b>-B MCU
    RM新时代网站-首页