女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

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

4

添加AFE和DSAD

本節學習如何添加外圍功能-AFE和DSAD,并進行設置,每1ms采集外部PT100的溫度值。

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

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

4.2 打開Smart Configurator,Components標簽頁點擊“+”,Function選擇“A/D Converter”,選擇“Analog Front End”。

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

4.3 點擊“Next”,點擊“Finish”。

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

4.4 設置AFE,PT100為三線RTD(電阻溫度檢測器),通過電流激勵能產生輸出電壓。

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

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

4.5 Components標簽頁點擊“+”,Function選擇“A/D Converter”,選擇“Continuous Scan Mode DSAD”。

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

4.6 點擊“Next”,點擊“Finish”。

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

4.7 設置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),轉換次數設為1

Oversampling ratio:OSR設為50000,那么所對應的OSRm寄存器的值為3124

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

4.8 點擊右上角“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

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

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()函數前添加變量定義(第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函數中添加下面的代碼(第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 點擊8ac06a0e-1ca7-11ef-b74b-92fbcf53809c.png編譯代碼。

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

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

4.17 可以通過觀測變量的方式檢查轉換結果。

打開src文件夾中的rx23ea_local_board_lab.c文件,找到s_dsad0_value和s_temp。鼠標移動到變量名上,雙擊變量名,并點擊鼠標右鍵,選擇“Add Watch Expression”。

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

在Expressions窗口中,右鍵點擊該變量名,選擇Enable Real-time Refresh,將此變量設置為實時刷新。

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

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

可以觀察到變量的實時變化。

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

用手捏住傳感器,可以看到數值發生變化。

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

4.19 按下斷開按鈕8b8d1090-1ca7-11ef-b74b-92fbcf53809c.png或者終止按鈕8b9727ce-1ca7-11ef-b74b-92fbcf53809c.png



審核編輯:劉清

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

    關注

    99

    文章

    6635

    瀏覽量

    548223
  • AFE
    AFE
    +關注

    關注

    8

    文章

    248

    瀏覽量

    122525
  • pga
    pga
    +關注

    關注

    1

    文章

    107

    瀏覽量

    41881
  • 輸出電壓
    +關注

    關注

    2

    文章

    1463

    瀏覽量

    39031
  • 溫度檢測器
    +關注

    關注

    1

    文章

    23

    瀏覽量

    11944
  • Pt100
    +關注

    關注

    9

    文章

    173

    瀏覽量

    69881

原文標題:RX23E-A 24bit ΔΣADC 應用篇 (4) 添加AFE和DSAD [完結]

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    請問對SPDIF_Rx傳來的48K,24Bit立體聲信號作約160階FIR電子二分頻濾波器需怎樣的MCU性能?

    請問對SPDIF_Rx 傳來的48K,24Bit立體聲信號作約160階FIR電子二分頻濾波器需怎樣的MCU性能?
    發表于 04-29 07:00

    請問對SPDIF_Rx 傳來的48K,24Bit立體聲信號作約160階FIR電子二分頻濾波器需怎樣的MCU性能?

    請問對SPDIF_Rx 傳來的48K,24Bit立體聲信號作約160階FIR電子二分頻濾波器需怎樣的MCU性能?
    發表于 04-24 06:33

    請問對SPDIF_Rx傳來的48K,24Bit立體聲信號作約160階FIR電子二分頻濾波器需怎樣的MCU性能?

    請問對SPDIF_Rx 傳來的48K,24Bit立體聲信號作約160階FIR電子二分頻濾波器需怎樣的MCU性能?
    發表于 04-22 07:42

    集成24位Delta-Sigma模/數轉換器的RX23E-B系列32位微控制器數據手冊

    RX23E-B 系列微控制器具有內置模擬前端 (AFE),是工業傳感器設備的理想選擇。 與上一代的 RX23E-A 相比,RX23E-B 的24
    的頭像 發表于 03-24 16:51 ?374次閱讀
    集成<b class='flag-5'>24</b>位Delta-Sigma模/數轉換器的<b class='flag-5'>RX23E</b>-B系列32位微控制器數據手冊

    模擬前端安裝式的RX23E-A 系列 32 位微控制器數據手冊

    現卓越,可以單芯片實現高精度測量、控制和通信。 *附件:模擬前端安裝式的RX23E-A 系列 32 位微控制器數據手冊.pdf 特性 雙 24 位 delta sigma 模數轉換器:高達 23
    的頭像 發表于 03-24 16:39 ?367次閱讀
    模擬前端安裝式的<b class='flag-5'>RX23E-A</b> 系列 32 位微控制器數據手冊

    瑞薩RX23E-A MCU的串口和ADC調試方法

    瑞薩 RX23E-A 系列微控制器配備模擬前端,無需校準即可測量溫度、壓力、流量和重量,精度優于 0.1%,是高精度傳感、測試和測量設備的理想之選。CPU 配備 RXv2 內核,在 DSP/FPU 運行中表現卓越,可以單芯片實現高精度測量、控制和通信。
    的頭像 發表于 03-06 14:00 ?1218次閱讀
    瑞薩<b class='flag-5'>RX23E-A</b> MCU的串口和<b class='flag-5'>ADC</b>調試<b class='flag-5'>方法</b>

    如何用DLP (Light Crafter 4500)如何連續投射24bit彩色圖?

    DLP (Light Crafter 4500)如何連續投射24bit彩色圖? 我們的場景是這樣的:投影儀投射24bit彩色圖,相機拍攝,最后重建三維。 我們以前都是在Matlab上編碼8bit
    發表于 02-25 08:03

    用DLP4500燒錄9張8bit位深度的相移圖,3張合成了一張24bit,結果每一張24bit都重復投射三次,這是為什么?

    你好,吳工,用DLP4500燒錄9張8bit位深度的相移圖,3張合成了一張24bit,結果每一張24bit都重復投射三次,想問下這是為什么?(我使用的是之前發的那個VS2010版本的API控制代碼)
    發表于 02-24 08:00

    ADS1292 24Bit AD有效位數如何確定?

    因為希望實時傳輸ECG數據,希望能將24位數據轉換為16位數。對于24bit的ad,我們認為低2-4位可能是不準確的隨機數據。想問如何確定,有沒有文檔描述這個問題嗎?
    發表于 12-30 06:54

    ADS1256設置不同的數據輸出速率的時候,得到的24bit的輸出數據不相同,為什么?

    在使用ADS1256采集數據時出現問題描述如下:當設置不同的數據輸出速率的時候,得到的24bit的輸出數據不相同。 采集系統硬件描述如下,下位機MCU采用的主頻為456MHZ,通過GPIO口跟
    發表于 12-13 06:34

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

    ADS1299的ADC24BIT,我需要由SPI將DATA傳至32bit的MCU,請問ADS1299的SPI一次傳送24bit資料嗎? 還是一次傳送8
    發表于 12-05 07:39

    ADS1256對24bit ADC采集的數據進行在模擬工程計算器上進行FFT轉換,為什么ENOB和SNR的值這么矛盾呢?

    24bit ADC采集的數據進行在模擬工程計算器上進行FFT轉換,為何ENOB和SNR的值這么矛盾呢,難道SNR不應該是大于130dB嗎?
    發表于 11-26 07:53

    ads1282如何設置成24bit數據輸出?

    ads1282如何設置成 24bit數據輸出?
    發表于 11-19 08:02

    ADS127L01是一個24 bit的數模轉換器,讀取出來的實際的24bit的值如何跟實際的電壓對應起來,轉換公式是什么?

    0x12 RX | 0x56 0x34 0x80 0x20 獲取到的數據取低24bit,就是0x34 0x80 0x20,實際值是0x348020,這個值如何轉化為實際的輸入電壓值? 謝謝。
    發表于 11-19 06:57

    RX23E-A 24bit ΔΣADC 應用 (2) 創建RX23E-A工程

    本節學習項目開發,熟悉e2 studio和Smart Configurator,創建工程。
    的頭像 發表于 08-02 11:59 ?1851次閱讀
    <b class='flag-5'>RX23E-A</b> <b class='flag-5'>24bit</b> ΔΣ<b class='flag-5'>ADC</b> 應用<b class='flag-5'>篇</b> (2) 創建<b class='flag-5'>RX23E-A</b>工程