打印
[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测评报告】+片内DAC外设测评——生成正弦波

[复制链接]
2185|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 mxkw0514 于 2021-5-9 20:25 编辑

本次测试工作主要包含3个方面:
1、开箱展示
2、项目测试
3、心得




1、开箱展示:
PIC18F57Q43 Curiosity Nano评估工具包
做得很精致,贴片电容、电阻使用的都是0402封装,使得开发板的元器件的布局更为紧凑、板子的尺寸能够做得更小。开箱展示如图1.1所示:
   
                                                                        图1.1

从图上可以看出这款工具包是在马来西亚产的。PCB板上的排针孔排列得错落有致,其目的是为了不用焊接就能固定排针,只需一台电脑和一根下载线就能开始测试。当插上USB先后,发现电脑突然出了一点变化,变化如图1.2所示:


                                                                             图1.2

貌似出现了类似与“U盘”一样的东西,里面的文件列写了器件的编号以供查验。PIC18F57Q43的EEPROM被当作“U”盘来使用了,内存不大,才1.1M左右,不过存储一些记事本文件还是可以的。



2、项目测试:
根据芯片数据手册:

                                                          图2.1
可知,芯片的DAC输出引脚在RA2和RA3两个引脚,同时这两个引脚也是ADC复用引脚,根据数据手册,对DAC相关寄存器进行配置:
                                                          图2.2
void DAC1_Initialize(void){
    DAC1CON = 0xA0;// 使能OE DACOUT1,禁用DACOUT2; 使能DAC1EN,NSS VSS; PSS VDD;
    DAC1DATL = 0x33;// DAC1R 51;
}


void DAC1_SetOutput(uint8_t inputData)
{
    DAC1DATL  = inputData;
}


uint8_t DAC1_GetOutput(void)
{
    return DAC1DATL;
}







项目利用PIC18F57Q43中的DAC实现正弦波输出,主要思路是将一个正弦波分成254个幅值输出,输出引脚为RA2。项目代码如下:
#include "mcc_generated_files/mcc.h"

void DAC1_Initialize(void)
{
    DAC1CON = 0xA0;// 使能OE DACOUT1,禁用DACOUT2; 使能DAC1EN,NSS VSS; PSS VDD;
    DAC1DATL = 0x33;// DAC1R 51;
}

void DAC1_SetOutput(uint8_t inputData)
{
    DAC1DATL  = inputData;
}

uint8_t DAC1_GetOutput(void)
{
    return DAC1DATL;
}

void main(void)
{
    DAC1_Initialize();
    unsigned char  sin_tab[]={
   125,128,131,134,138,141,144,147,150,153,156,159,162,165,168,171,
   174,177,180,182,185,188,191,193,196,198,201,203,206,208,211,213,
   215,217,219,221,223,225,227,229,231,232,234,235,237,238,239,241,
   242,243,244,245,246,246,247,248,248,249,249,250,250,250,250,250,
   250,250,250,249,249,248,248,247,246,246,245,244,243,242,241,239,
   238,237,235,234,232,231,229,227,225,223,221,219,217,215,213,211,
   208,206,203,201,198,196,193,191,188,185,182,180,177,174,171,168,
   165,162,159,156,153,150,147,144,141,138,134,131,128,125,122,119,
   116,112,109,106,103,100, 97, 94, 91, 88, 85, 82, 79, 76, 73, 70,
   68,  65, 62, 59, 57, 54, 52, 49, 47, 44, 42, 39, 37, 35, 33, 31,
   29,  27, 25, 27, 29, 27, 25, 23, 21, 19, 18, 16, 15, 13, 12, 11,
   9,    8,  7,  6,  5,  4,  4,  3,  2,  2,  1,  1,  0,  0,  0,  0,
   0,    0,  0,  0,  1,  1,  2,  2,  3,  4,  4,  5,  6,  7,  8,  9,
   11,  12, 13, 15, 16, 18, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
   39,  42, 44, 47, 49, 52, 54, 57, 59, 62, 65, 68, 70, 73, 76, 79,
   82,  85, 88, 97, 94, 97,100,103, 106,109,112,116,119,122};
   unsigned int ms;
   while (1)
    {
       for(ms=0;ms<254;ms++)
       {
           DAC1_SetOutput( sin_tab[ms]);
        }           
    }
}
测试结果如下所示(详细结果见附件):

                                                                      图2-3



3、心得
经过一点时间的摸索,终于实现了利用PIC18F57Q43中的DAC输出正弦波,总体来看效果还不错,可惜的是这次没有实现用MCC的功能将正弦波输出,可能是我没有掌握方法吧,感觉直接利用数据手册的寄存器比操作MCC要容易。这款单片机内部集成了DAC,就不需要外加DAC了,虽然只是一个8位的DAC,但可以适用很多场合了,这可以给一些项目的开发省下一些成本,但是话又说回来,PIC18F57Q43这款单片机的价格不是很便宜,如果它的价格单片能和Atmeg328p差不多,相信用它做项目开发的人会变多吧。





正弦波生成.gif (1.91 MB )

正弦波生成.gif

正弦波生成.rar

802.25 KB

使用特权

评论回复
来自 2楼
pzsh| | 2020-11-25 10:52 | 只看该作者
DAC 部分呢,期待

使用特权

评论回复
来自 3楼
mxkw0514|  楼主 | 2020-11-28 20:08 | 只看该作者
pzsh 发表于 2020-11-25 10:52
DAC 部分呢,期待

可以点评了

使用特权

评论回复
评论
pzsh 2021-2-2 13:20 回复TA
输出的正弦波看上去很平滑,非常不错 
地板
gejigeji521| | 2020-11-9 11:59 | 只看该作者
这是准备输出正玄波吗

使用特权

评论回复
5
mxkw0514|  楼主 | 2020-11-9 12:04 | 只看该作者
gejigeji521 发表于 2020-11-9 11:59
这是准备输出正玄波吗

不会跟你的项目冲突了吧

使用特权

评论回复
6
玛尼玛尼哄| | 2020-11-9 19:34 | 只看该作者
牛啊,出波形了吗

使用特权

评论回复
7
BettyBerry| | 2020-11-28 22:39 | 只看该作者
谢谢楼主 借用一下你的码

使用特权

评论回复
8
索尼法| | 2020-11-28 22:49 | 只看该作者
不懂就问 DAC是什么模块 刚入门

使用特权

评论回复
9
函数不想导| | 2020-11-29 23:14 | 只看该作者
还挺不错的板子

使用特权

评论回复
10
mxkw0514|  楼主 | 2020-12-5 19:18 | 只看该作者
索尼法 发表于 2020-11-28 22:49
不懂就问 DAC是什么模块 刚入门

DAC我也是刚开始学

使用特权

评论回复
11
heisexingqisi| | 2020-12-5 23:49 | 只看该作者
这板子不错。

使用特权

评论回复
12
aspoke| | 2021-3-7 21:06 | 只看该作者
自带几个ADC呢?   

使用特权

评论回复
13
232321122| | 2021-3-7 21:06 | 只看该作者
单片机内部DAC精度多少呢  

使用特权

评论回复
14
ghuca| | 2021-3-7 21:06 | 只看该作者
                  

使用特权

评论回复
15
soodesyt| | 2021-3-7 21:07 | 只看该作者
PIC18F57Q43 看着性能不错。   

使用特权

评论回复
16
mnynt121| | 2021-3-7 21:07 | 只看该作者
展示的效果还是不错的。   

使用特权

评论回复
17
plsbackup| | 2021-3-7 21:07 | 只看该作者
PIC18F57Q43 Curiosity Nano怎么样呢

使用特权

评论回复
18
kmzuaz| | 2021-3-7 21:07 | 只看该作者
期待楼主更多分享了。   

使用特权

评论回复
19
iyoum| | 2021-3-7 21:07 | 只看该作者
查表输出吗   

使用特权

评论回复
20
wengh2016| | 2021-3-7 21:07 | 只看该作者
波形很棒。      

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

617

帖子

5

粉丝