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

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

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

RA6M3 HMI Board 之DAC設(shè)置電壓值

嵌入式大雜燴 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2023-06-20 09:02 ? 次閱讀

開發(fā)環(huán)境:

RT-Thread Studio:v2.2.6

開發(fā)板:RA6M3 HMI Board開發(fā)板

MCU:R7FA6M3AH3CFB

1 RA6M3 DAC簡介

R7FA6M3有片上DAC外設(shè),總共有兩路DAC輸出通道,每路的分辨率可配置為12位, 這兩個(gè)通道之間互不影響,每個(gè)通道都可以使用ELC功能可外部觸發(fā)或者進(jìn)行與ADC單元1的同步轉(zhuǎn)換。

1687183494752vhyzx5shyz

2 RT-Thread 的DAC簡介

DAC(Digital-to-Analogl Converter) 指數(shù)模轉(zhuǎn)換器。是指把二進(jìn)制數(shù)字量形式的離散數(shù)字信號(hào)轉(zhuǎn)換為連續(xù)變化的模擬信號(hào)的器件。在數(shù)字世界中,要處理不穩(wěn)定和動(dòng)態(tài)的模擬信號(hào)并不容易,基于 DAC 的特性,在各種不同的產(chǎn)品中都可以找到它的身影。與之相對(duì)應(yīng)的 ADC(Analog-to-Digital Converter)),它是 DAC 數(shù)模轉(zhuǎn)換的逆向過程。DAC 主要應(yīng)用于音頻放大,視頻編碼,電機(jī)控制,數(shù)字電位計(jì)等。

應(yīng)用程序通過 RT-Thread 提供的 DAC 設(shè)備管理接口來訪問 DAC 硬件,相關(guān)接口如下所示:

函數(shù) 描述
rt_device_find() 根據(jù) DAC設(shè)備名稱查找設(shè)備獲取設(shè)備句柄
rt_dac_enable() 使能 DAC設(shè)備
rt_dac_read() 讀取 DAC設(shè)備數(shù)據(jù)
rt_dac_disable() 關(guān)閉 DAC設(shè)備

關(guān)于DAC的更多資料請(qǐng)參看RT-Thread官方手冊(cè):

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/dac/dac

3 硬件連接

P014引腳可以連接到MCU內(nèi)部的 DAC 外設(shè),從而輸出外部電壓。

1687183495332kvsv9aeb47

4 RA6M3 DAC配置

接下來配置DAC,只需要簡單配置就可使用。雙擊工程中的 RA Smart Configurator 圖標(biāo),第一次打開需要配置正確的 FSP 安裝路徑。

1687183495638wqlb7rj7f7

1687183495880w5apscks90

  • FSP配置DAC

1.配置掃描通道對(duì)應(yīng)的引腳

1687183496217psdjchm9ed

2.修改通道號(hào)為 0,與 DAC0 對(duì)應(yīng)

16871834965781seedik4xy

1687183497046m7m96ydnjq

  • 配置DAC通道

然后打開對(duì)應(yīng)的通道

16871834973566noetosqd7

4 DAC代碼實(shí)現(xiàn)

筆者這里使用的DAC通道0,然后接到ADC的通道1,核心代碼如下:

#define DEV_ADC                   "adc0"
#define DEV_ADC_CHANNEL         1

#define DEV_DAC                   "dac0"
#define DEV_DAC_CHANNEL         0

#define REFER_VOLTAGE            330
#define CONVERT_BITS              (1 < < 12)

void dac_test(void)
{
    rt_adc_device_t dev_adc = (rt_adc_device_t)rt_device_find(DEV_ADC);
    rt_dac_device_t dev_dac = (rt_dac_device_t)rt_device_find(DEV_DAC);
    rt_uint32_t vol, value = 2048;

    if(dev_adc == RT_NULL)
    {
        rt_kprintf("no adc device named %s\\n", DEV_ADC);
    }
    rt_adc_enable(dev_adc, DEV_ADC_CHANNEL);

    if(dev_dac == RT_NULL)
    {
        rt_kprintf("no dac device named %s\\n", DEV_DAC);
    }

    rt_dac_enable(dev_dac, DEV_DAC_CHANNEL);
    rt_dac_write(dev_dac, DEV_DAC_CHANNEL, value);

    vol = value * REFER_VOLTAGE / CONVERT_BITS;
    rt_kprintf("the dac voltage is :%d.%02d \\n", vol / 100, vol % 100);

    rt_thread_mdelay(100);

    value = rt_adc_read(dev_adc, DEV_ADC_CHANNEL);

    vol = value * REFER_VOLTAGE / CONVERT_BITS;
    rt_kprintf("the adc voltage is :%d.%02d \\n", vol / 100, vol % 100);

    rt_adc_disable(dev_adc, DEV_ADC_CHANNEL);
    rt_dac_disable(dev_dac, DEV_DAC_CHANNEL);
}

MSH_CMD_EXPORT(dac_test, dac_test);

5 測試驗(yàn)證

編譯下載,調(diào)試信息如下:

16871834976705dywiz0di4

從以上打印信息可以看出,dac0和adc0已經(jīng)使能,將P001和P014連接,然后使用MSH命令‘dac_test’即可使能DAC線程。

1687183497916fa8xjvl54c

DAC輸出電壓和ADC通道1的值相同。
審核編輯:湯梓紅

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

    關(guān)注

    146

    文章

    16900

    瀏覽量

    349951
  • dac
    dac
    +關(guān)注

    關(guān)注

    43

    文章

    2261

    瀏覽量

    190757
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4900

    瀏覽量

    97068
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1261

    瀏覽量

    39842
  • RA6M3
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    92
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何利用rt-thread和HMI Board RA6M3開發(fā)一套物聯(lián)網(wǎng)工控機(jī)?

    近年來,隨著新一輪的科技發(fā)展以及工業(yè)產(chǎn)業(yè)升級(jí),工業(yè)經(jīng)濟(jì)慢慢的由數(shù)字化向網(wǎng)絡(luò)化和智能化發(fā)展?;谶@一理念,本人利用rt-thread和HMI Board RA6M3開發(fā)了一套物聯(lián)網(wǎng)工控機(jī)。
    的頭像 發(fā)表于 09-15 15:27 ?1399次閱讀
    如何利用rt-thread和<b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> <b class='flag-5'>RA6M3</b>開發(fā)一套物聯(lián)網(wǎng)工控機(jī)?

    RA6M3 HMI Board評(píng)測挑戰(zhàn)】-瑞薩RA6M3上的CAN實(shí)踐

    RA6M3 HMI Board 評(píng)測大挑戰(zhàn)】-瑞薩RA6M3上的CAN實(shí)踐
    的頭像 發(fā)表于 10-17 14:55 ?1821次閱讀
    【<b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>評(píng)測挑戰(zhàn)】-瑞薩<b class='flag-5'>RA6M3</b>上的CAN實(shí)踐

    RA6M3數(shù)據(jù)手冊(cè)(英)

    RA6M3數(shù)據(jù)手冊(cè)(英)
    發(fā)表于 11-07 19:49 ?0次下載
    <b class='flag-5'>RA6M3</b>數(shù)據(jù)手冊(cè)(英)

    RA6M3硬件用戶手冊(cè)(英)

    RA6M3硬件用戶手冊(cè)(英)
    發(fā)表于 11-07 19:49 ?0次下載
    <b class='flag-5'>RA6M3</b>硬件用戶手冊(cè)(英)

    RA6M3數(shù)據(jù)手冊(cè)(中英)

    RA6M3數(shù)據(jù)手冊(cè)(中英)
    發(fā)表于 11-07 19:49 ?0次下載
    <b class='flag-5'>RA6M3</b>數(shù)據(jù)手冊(cè)(中英)

    RA6M3硬件用戶手冊(cè)(中英)

    RA6M3硬件用戶手冊(cè)(中英)
    發(fā)表于 11-07 19:49 ?2次下載
    <b class='flag-5'>RA6M3</b>硬件用戶手冊(cè)(中英)

    RA6M3 組數(shù)據(jù)表

    RA6M3 組數(shù)據(jù)表
    發(fā)表于 05-12 19:25 ?0次下載
    <b class='flag-5'>RA6M3</b> 組數(shù)據(jù)表

    RA6M3 HMI Board SDHI實(shí)踐

    進(jìn)行說明,然后使用RT-Studio新建工程進(jìn)行開發(fā),通過RASC對(duì)RA6M3的底層硬件配置,然后使用SDHI接口實(shí)現(xiàn)SD的識(shí)別,搭配文件系統(tǒng)對(duì)SD卡進(jìn)行讀寫操作,同時(shí)記錄開發(fā)遇到的問題。 1.2
    的頭像 發(fā)表于 06-19 18:15 ?983次閱讀
    <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> <b class='flag-5'>之</b>SDHI實(shí)踐

    RA6M3 HMI Board RTC實(shí)踐

    開發(fā)環(huán)境: RT-Thread Studio:v2.2.6 開發(fā)板:RA6M3 HMI Board開發(fā)板 MCU:R7FA6M3AH3CFB 1 R
    的頭像 發(fā)表于 06-21 21:31 ?2866次閱讀
    <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> <b class='flag-5'>之</b>RTC實(shí)踐

    RA6M3 組用戶手冊(cè):硬件

    RA6M3 組用戶手冊(cè):硬件
    發(fā)表于 06-29 19:17 ?0次下載
    <b class='flag-5'>RA6M3</b> 組用戶手冊(cè):硬件

    RA6M3 組數(shù)據(jù)表

    RA6M3 組數(shù)據(jù)表
    發(fā)表于 06-29 19:17 ?0次下載
    <b class='flag-5'>RA6M3</b> 組數(shù)據(jù)表

    【線下培訓(xùn)】上海臨港: RT-Thread × 瑞薩 工業(yè)監(jiān)視器 RA6M3 HMI Board解決方案

    RT-Thread 與瑞薩將于10月14日在上海臨港舉行一場線下培訓(xùn)。 本次培訓(xùn)將為開發(fā)者們帶來期待已久的熱門技術(shù)主題, RT-Thread × 瑞薩 工業(yè)監(jiān)視器 RA6M3 HMI Board
    的頭像 發(fā)表于 09-07 17:40 ?746次閱讀
    【線下培訓(xùn)】上海臨港: RT-Thread × 瑞薩 工業(yè)監(jiān)視器 <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>解決方案

    瑞薩RA6M3 HMI-Board Video Demo 上手指南

    高性能芯片 RA6M3 及 RT-Thread 和 LVGL 軟件生態(tài),HMI Board 不僅硬件性能強(qiáng)勁,同時(shí)軟件生態(tài)豐富,助力開發(fā)者快速開發(fā)出 GUI 智能硬件產(chǎn)品。 本示例開源鏈接: https
    的頭像 發(fā)表于 09-15 18:25 ?1604次閱讀
    瑞薩<b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI-Board</b> Video Demo 上手指南

    瑞薩 RA6M3 開發(fā)實(shí)踐指南-UART實(shí)踐

    RT-Thread即將發(fā)布一系列RA6M3外設(shè)驅(qū)動(dòng)的實(shí)踐指南,我們將使用瑞薩RA6M3 HMI-Board 開發(fā)板,帶領(lǐng)大家上手RT-Thread設(shè)備驅(qū)動(dòng)。? 【硬件介紹】 1.? 開發(fā)板描述
    的頭像 發(fā)表于 09-23 12:15 ?1259次閱讀

    RA6M3 RT-Thread* LVGL HMI Board開發(fā)實(shí)踐指南-GPIO實(shí)踐

    RT-Thread即將發(fā)布一系列RA6M3外設(shè)驅(qū)動(dòng)的實(shí)踐指南,我們將使用瑞薩RA6M3 HMI-Board 開發(fā)板,帶領(lǐng)大家上手RT-Thread設(shè)備驅(qū)動(dòng), 本篇文章將介紹GPIO外設(shè)。GPIO
    的頭像 發(fā)表于 11-30 19:05 ?1126次閱讀
    <b class='flag-5'>RA6M3</b> RT-Thread* LVGL <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>開發(fā)實(shí)踐指南-GPIO實(shí)踐