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)不再提示

零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1 外設(shè)篇——DAC

AIoT行業(yè)洞察 ? 來(lái)源:AIoT行業(yè)洞察 ? 作者:AIoT行業(yè)洞察 ? 2024-12-27 10:55 ? 次閱讀

AiPi-Eyes-S1是安信可開(kāi)源團(tuán)隊(duì)專(zhuān)門(mén)為Ai-M61-32S設(shè)計(jì)的一款開(kāi)發(fā)板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S 模組具有豐富的外設(shè)接口,具體包括 DVP、MJPEG、Dispaly、AudioCodec、USB2.0、SDU、以太網(wǎng) (EMAC)、SD/MMC(SDH)、SPI、UART、I2C、I2S、PWM、GPDAC、GPADC、ACOMP 和 GPIO 等。

AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。

從零開(kāi)始學(xué)習(xí)小安派:

1、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【入門(mén)篇】——初識(shí)小安派-Eyes-S1

2、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【入門(mén)篇】——安裝VMware與Ubuntu

3、入門(mén)篇:零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1——新建工程并燒錄調(diào)試

4、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1入門(mén)篇——Win下SSH連接Linux

5、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【入門(mén)篇】——Samba共享文件夾

6、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【入門(mén)篇】——工程文件架構(gòu)

7、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【外設(shè)篇】——GPIO 輸入輸出

8、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【外設(shè)篇】——GPIO中斷編程

9、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【外設(shè)篇】——PWM

10、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【外設(shè)篇】——UART

11、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【外設(shè)篇】——I2C

12、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【外設(shè)篇】——ADC

13、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【外設(shè)篇】——I2S

14、零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【外設(shè)篇】——TIMER

既然有 ADC,自然就會(huì)有 DAC 啦,ADC 是將模擬量轉(zhuǎn)化為數(shù)字量,那么 DAC 就是相反的,將數(shù)字量轉(zhuǎn)化為模擬量(電壓)輸出。

DAC 模塊是 12 位電壓輸出數(shù)模轉(zhuǎn)換器,可與 DMA 控制器配合使用。芯片內(nèi)置的 DAC 模塊有兩個(gè)輸出通道,每個(gè)通道各有一個(gè)獨(dú)立的轉(zhuǎn)換器,可以互不影響單獨(dú)進(jìn)行數(shù)模轉(zhuǎn)換。另外此 DAC 的轉(zhuǎn)化器還可以作為 AudioDAC 的模擬輸出通道??捎糜谝纛l播放,變送器電壓調(diào)制等應(yīng)用。

01、了解小安派-Eyes-S1 的 DAC

小安派-Eyes-S1 具有兩個(gè)通道的 DAC,對(duì)應(yīng)通道 A 和通道 B, IO 口也是固定的,通道 A 對(duì)應(yīng) IO3,通道 B 對(duì)應(yīng) IO2。

其 DAC 具有以下特點(diǎn):

? DAC 調(diào)制精度為 12-bit
? DAC 的數(shù)模轉(zhuǎn)化器可以作為 AudioDAC 模塊的模擬輸出通道
? DAC 的輸入時(shí)鐘可選為 32MHz,xclk 或者來(lái)自于 AudioDAC 模塊
? 支持 DMA 功能,支持 10 種數(shù)據(jù)傳輸格式
? 支持 DAC 雙通道同時(shí)轉(zhuǎn)換
? DAC 的輸出引腳固定為 ChannelA 為 GPIO3,ChannelB 為 GPIO2
? 支持內(nèi)部和外部輸入?yún)⒖茧妷?/p>

DAC 分頻有以下四種選擇,其中在 D

MA 模式可使用 1 分頻:

#define DAC_CLK_DIV_16 0
#define DAC_CLK_DIV_32 1
#define DAC_CLK_DIV_64 3
#define DAC_CLK_DIV_1 4

02、結(jié)構(gòu)體與函數(shù)接口

bflb_dac_init

說(shuō)明: 初始化 dac。dac 使用之前需要開(kāi)啟 dac ip 時(shí)鐘、設(shè)置 dac 時(shí)鐘源和分頻值、選擇使用的 gpio 為 analog 模式。

void bflb_dac_init(struct bflb_device_s *dev, uint8_t clk_div);

wKgZPGduFxGAF2vbAAAmHgnYQCc658.jpg

bflb_dac_deinit

說(shuō)明: 反初始化 dac。

void bflb_dac_deinit(struct bflb_device_s *dev);

wKgZPGduFxOANkBSAAAML_jaS58675.jpg

bflb_dac_link_txdma

說(shuō)明: dac dma 開(kāi)關(guān)使能

void bflb_dac_link_txdma(struct bflb_device_s *dev, bool enable);

wKgZO2duFxOAAi9ZAAAoeZ9s6Ec406.jpg

bflb_dac_channel_enable

說(shuō)明: dac 通道使能。

void bflb_dac_channel_enable(struct bflb_device_s *dev, uint8_t ch);

wKgZO2duFxmAPVgcAAAtO7hH_fk408.jpg

bflb_dac_channel_disable

說(shuō)明: dac 通道關(guān)閉。

void bflb_dac_channel_disable(struct bflb_device_s *dev, uint8_t ch);

wKgZPGduFx6AQXWpAAAsTmqgB6Q486.jpg

bflb_dac_set_value

說(shuō)明: 更改 dac 通道值。

void bflb_dac_set_value(struct bflb_device_s *dev, uint8_t ch, uint16_t value);

wKgZO2duFx-AZVtPAAA0Qi-Ufow826.jpg

03、簡(jiǎn)單示例——DAC 輸出正弦波

本來(lái)想給大家畫(huà)一個(gè)愛(ài)心的波形,但出于種種不可抗力(絕不是我懶)的緣故,沒(méi)畫(huà)出來(lái)。用官方示例中的數(shù)組輸出一個(gè)正弦波形給大家演示。

#include "bflb_dac.h"
#include "bflb_mtimer.h"
#include "board.h"
#include "bflb_gpio.h"
struct bflb_device_s *dac;
void My_dac_gpio_init()
{
struct bflb_device_s* gpio;
gpio = bflb_device_get_by_name("gpio");
/* DAC_CHA */
bflb_gpio_init(gpio, GPIO_PIN_3, GPIO_ANALOG | GPIO_SMT_EN | GPIO_DRV_0);
}
uint16_t SIN_LIST[] = {
500, 506, 513, 519, 525, 531, 538, 544, 550, 556,
563, 569, 575, 581, 587, 594, 600, 606, 612, 618,
624, 630, 636, 642, 648, 654, 660, 666, 672, 678,
684, 690, 696, 701, 707, 713, 718, 724, 730, 735,
741, 746, 752, 757, 762, 768, 773, 778, 784, 789,
794, 799, 804, 809, 814, 819, 823, 828, 833, 838,
842, 847, 851, 856, 860, 864, 869, 873, 877, 881,
885, 889, 893, 897, 901, 904, 908, 912, 915, 919,
922, 925, 929, 932, 935, 938, 941, 944, 947, 950,
952, 955, 958, 960, 962, 965, 967, 969, 971, 973,
975, 977, 979, 981, 983, 984, 986, 987, 989, 990,
991, 992, 993, 994, 995, 996, 997, 997, 998, 999,
999, 999, 1000, 1000, 1000, 1000, 1000, 1000, 1000,
999, 999, 999, 998, 998, 997, 996, 995, 994, 993,
992, 991, 990, 989, 987, 986, 984, 983, 981, 979,
978, 976, 974, 972, 970, 967, 965, 963, 960, 958, 955, 953, 950, 947, 944, 941, 938, 935,
932, 929, 926, 922, 919, 916, 912, 908, 905, 901, 897, 893, 890, 886, 882, 878, 873, 869,
865, 861, 856, 852, 847, 843, 838, 833, 829, 824, 819, 814, 809, 804, 799, 794, 789, 784,
779, 774, 768, 763, 758, 752, 747, 741, 736, 730, 725, 719, 714, 708, 702, 696, 691, 685, 679,
673, 667, 661, 655, 649, 643, 637, 631, 625, 619, 613, 607, 601, 594, 588, 582, 576, 570, 563,
557, 551, 545, 538, 532, 526, 520, 513, 507, 501, 495, 488, 482, 476, 469, 463, 457, 451, 444,
438, 432, 426, 420, 413, 407, 401, 395, 389, 383, 376, 370, 364, 358, 352, 346, 340, 334, 329,
323, 317, 311, 305, 299, 294, 288, 282, 277, 271, 265, 260, 254, 249, 244, 238, 233, 228, 222,
217, 212, 207, 202, 197, 192, 187, 182, 177, 172, 168, 163, 158, 154, 149, 145, 141, 136, 132, 128, 124,
119, 115, 111, 107, 104, 100, 96, 92, 89, 85, 82, 78, 75, 72, 69, 65, 62, 59, 56, 54, 51, 48, 45, 43, 40, 38,
36, 33, 31, 29, 27, 25, 23, 21, 19, 18, 16, 14, 13, 12, 10, 9, 8, 7, 6, 5, 4, 3, 3, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 4, 5, 5, 6, 8, 9, 10, 11,
12, 14, 15, 17, 19, 20, 22, 24, 26, 28, 30, 32, 35, 37, 39, 42, 44, 47, 50, 52, 55, 58, 61, 64, 67, 71, 74, 77, 81, 84, 87, 91, 95, 98, 102, 106, 110, 114, 118, 122,
126, 130, 135, 139, 143, 148, 152, 157, 161, 166, 171, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 226, 231, 236, 242, 247, 252, 258, 263, 269, 274, 280, 286,
291, 297, 303, 309, 315, 320, 326, 332, 338, 344, 350, 356, 362, 368, 374, 380, 386, 392, 399, 405, 411, 417, 423, 430, 436, 442, 448, 455, 461, 467, 473, 480, 486, 492
};
// 輸出正弦波的電壓值數(shù)組
int main(void)
{
board_init();
My_dac_gpio_init();
dac = bflb_device_get_by_name("dac");
/* 512K / 16 = 32K */
bflb_dac_init(dac, DAC_CLK_DIV_16);
// 16分頻
bflb_dac_channel_enable(dac, DAC_CHANNEL_A);
//選擇通道A,對(duì)應(yīng)GPIO3
printf("DAC Startrn");
while (1) {
for (uint16_t i = 0; i < sizeof(SIN_LIST) / sizeof(uint16_t); i++) {
bflb_dac_set_value(dac, DAC_CHANNEL_A, SIN_LIST[i]);
bflb_mtimer_delay_us(100);
}
}
bflb_mtimer_delay_ms(200);
// 循環(huán)輸出波形
}

正弦波形:

wKgZPGduFx-AJ0GvAAEBnWmye_c394.jpg

審核編輯 黃宇

聲明:本文內(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)投訴
  • dac
    dac
    +關(guān)注

    關(guān)注

    43

    文章

    2303

    瀏覽量

    191268
  • 安信可
    +關(guān)注

    關(guān)注

    0

    文章

    155

    瀏覽量

    4017
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    零基礎(chǔ)開(kāi)發(fā)小安-Eyes-DU之【PWM循環(huán)呼吸燈】

    上周發(fā)布了新的開(kāi)源硬件——小安-Eyes-DU,DU板子亮點(diǎn)是什么?小安來(lái)解釋下。 小安-
    的頭像 發(fā)表于 08-14 15:37 ?823次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes</b>-DU之【PWM循環(huán)呼吸燈】

    如何用小安-Eyes-S1做一個(gè)電子木魚(yú)?

    2024年的第一教程來(lái)了,本篇學(xué)習(xí)如何添加LVGL事件,并制作完成一個(gè)電子木魚(yú)(小美苦苦哀求,我略微出手而已)。祝大家2024積德累功,心想事成!接下來(lái)看看如何用小安-Eyes-S1
    的頭像 發(fā)表于 01-13 15:18 ?1060次閱讀
    如何用<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>做一個(gè)電子木魚(yú)?

    零基礎(chǔ)開(kāi)發(fā)小安-Eyes-S1外設(shè)——GPIO 輸入輸出

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開(kāi)始學(xué)習(xí)小安
    的頭像 發(fā)表于 10-25 13:50 ?1058次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b><b class='flag-5'>外設(shè)</b><b class='flag-5'>篇</b>——GPIO 輸入輸出

    零基礎(chǔ)開(kāi)發(fā)小安-Eyes-S1外設(shè)——GPIO中斷編程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 產(chǎn)品資料:https://docs.ai-thinker.com/eyes
    的頭像 發(fā)表于 10-29 14:56 ?784次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b><b class='flag-5'>外設(shè)</b><b class='flag-5'>篇</b>——GPIO中斷編程

    零基礎(chǔ)開(kāi)發(fā)小安-Eyes-S1外設(shè)——I2S

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開(kāi)始學(xué)習(xí)小安
    的頭像 發(fā)表于 12-13 18:02 ?1079次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b><b class='flag-5'>外設(shè)</b><b class='flag-5'>篇</b>——I2<b class='flag-5'>S</b>

    零基礎(chǔ)開(kāi)發(fā)安信可小安-Eyes-S1【入門(mén)】——初識(shí)小安-Eyes-S1

    初識(shí)小安-Eyes-S1 前言:本教程針對(duì)零基礎(chǔ)人員可以快速上手小安-
    發(fā)表于 09-08 11:06

    小安-Eyes-S1/S2多功能開(kāi)發(fā)板簡(jiǎn)介

    今天,我們?cè)?b class='flag-5'>小安放出新鮮的開(kāi)發(fā)板產(chǎn)品AiPi-Eyes-S1小安-
    的頭像 發(fā)表于 06-19 10:10 ?983次閱讀
    <b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>/<b class='flag-5'>S</b>2多功能<b class='flag-5'>開(kāi)發(fā)</b>板簡(jiǎn)介

    小安-Eyes-S1外設(shè)接口簡(jiǎn)介

    前言:本教程針對(duì)零基礎(chǔ)人員可以快速上手小安-Eyes-S1實(shí)現(xiàn)一些簡(jiǎn)單的應(yīng)用開(kāi)發(fā),僅供參考學(xué)習(xí),本人也在學(xué)習(xí)的過(guò)程中,感謝大家支持。
    的頭像 發(fā)表于 09-18 09:55 ?882次閱讀

    零基礎(chǔ)開(kāi)發(fā)小安-Eyes-S1【入門(mén)】——初識(shí)小安-Eyes-S1

    前言:本教程針對(duì)零基礎(chǔ)人員可以快速上手小安-Eyes-S1實(shí)現(xiàn)一些簡(jiǎn)單的應(yīng)用開(kāi)發(fā),僅供參考學(xué)習(xí),本人也在學(xué)習(xí)的過(guò)程中,感謝大家支持。
    的頭像 發(fā)表于 09-18 15:41 ?747次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【入門(mén)<b class='flag-5'>篇</b>】——初識(shí)<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>

    零基礎(chǔ)開(kāi)發(fā)小安-Eyes-S1【入門(mén)】——工程文件架構(gòu)

    -Eyes-S1【入門(mén)】——初識(shí)小安-Eyes-S12、零基礎(chǔ)
    的頭像 發(fā)表于 11-06 16:10 ?195次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【入門(mén)<b class='flag-5'>篇</b>】——工程文件架構(gòu)

    零基礎(chǔ)開(kāi)發(fā)小安-Eyes-S1外設(shè)】——PWM

    】——工程文件架構(gòu)7、零基礎(chǔ)開(kāi)發(fā)小安-Eyes-S1外設(shè)
    的頭像 發(fā)表于 11-06 16:10 ?187次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【<b class='flag-5'>外設(shè)</b><b class='flag-5'>篇</b>】——PWM

    零基礎(chǔ)開(kāi)發(fā)小安-Eyes-S1 外設(shè) ——I2C

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開(kāi)始學(xué)習(xí)小安
    的頭像 發(fā)表于 11-27 16:39 ?269次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> <b class='flag-5'>外設(shè)</b><b class='flag-5'>篇</b> ——I2C

    零基礎(chǔ)開(kāi)發(fā)小安-Eyes-S1外設(shè)】——FLASH

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開(kāi)始學(xué)習(xí)小安
    的頭像 發(fā)表于 12-05 14:31 ?249次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【<b class='flag-5'>外設(shè)</b><b class='flag-5'>篇</b>】——FLASH

    零基礎(chǔ)開(kāi)發(fā)小安-Eyes-S1——初識(shí)LVGL并搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開(kāi)始學(xué)習(xí)小安
    的頭像 發(fā)表于 01-03 14:09 ?335次閱讀

    零基礎(chǔ)開(kāi)發(fā)小安-Eyes-S1【進(jìn)階】——初識(shí) LVGL 并搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開(kāi)始學(xué)習(xí)小安
    的頭像 發(fā)表于 01-06 16:14 ?141次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【進(jìn)階<b class='flag-5'>篇</b>】——初識(shí) LVGL 并搭建最小工程