查看: 16015|回复: 49

[其他] 每天解决一个问题02天 :EXCEL生成DAC用正弦波数据

[复制链接]
  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16702
    最后登录
    1970-1-1
    发表于 2015-8-26 22:11:59 | 显示全部楼层 |阅读模式
    本帖最后由 lkl0305 于 2015-9-5 23:51 编辑

    写在最前面:希望大家说说自己用的方法,互相交流。

    可能有朋友看到这个标题,感觉和咱的电子人的技术八竿子打不着
    那就跟我一起看吧

    =================================================
    一、问题提出:
    最近在学习YL-KL26Z的DAC模块,那这个DAC模块搞个什么实验即简单有能比较直观的学习效果呢?
    那就来一个正弦波发生器把,当然,想要生成正弦波。方法很多
    比如:
    (1)在程序中使用函数生成DAC数据,但速度比较慢。
    (2)实现生成正弦波数据,存放在FLASH中,直接使用。
    那我使用第二种方法。
    问题是如何生成正弦波的数据呢?想了想。还是自己做个把,有不太想编程。
    还好,EXCEL用的比较熟,写个函数吧。
    搞个正弦波360度,0-359度,每度取一个数据。
    YL-KL26Z的DAC是12,正弦波的数据应该是0x0000-0x0FFF。
    直接上图吧:

    二、解决方法:
    倒叙。
    1、复制出的结果,生成的12位正弦波数据:
    3518.jpg
    2、excel表看到的形式
    3510.jpg
    3、产生0-359度的数据
    3512.jpg
    4、求每度的正弦波数据,十进制数据形式
    3513.jpg
    5、程序中可能想用十六进制的数据,下图即使
    3514.jpg
    6、我们在数组中,每个数据后用逗号分隔
    3515.jpg
    7、可能有人说,这个数据是不是正弦波?excel画个图表看看
    3516.jpg
    对吧,数据没错的!!!
    8、最后上个正弦波数据表,需要的拿走


    1. Const uint16_t sin_wave[] = {
    2. 0x0800, 0x0823, 0x0847, 0x086B, 0x088E, 0x08B2, 0x08D6, 0x08F9,
    3. 0x091C, 0x0940, 0x0963, 0x0986, 0x09A9, 0x09CC, 0x09EF, 0x0A11,
    4. 0x0A34, 0x0A56, 0x0A78, 0x0A9A, 0x0ABC, 0x0ADD, 0x0AFF, 0x0B20,
    5. 0x0B40, 0x0B61, 0x0B81, 0x0BA1, 0x0BC1, 0x0BE0, 0x0BFF, 0x0C1E,
    6. 0x0C3D, 0x0C5B, 0x0C78, 0x0C96, 0x0CB3, 0x0CD0, 0x0CEC, 0x0D08,
    7. 0x0D24, 0x0D3F, 0x0D5A, 0x0D74, 0x0D8E, 0x0DA7, 0x0DC0, 0x0DD9,
    8. 0x0DF1, 0x0E09, 0x0E20, 0x0E37, 0x0E4D, 0x0E63, 0x0E78, 0x0E8D,
    9. 0x0EA1, 0x0EB5, 0x0EC8, 0x0EDB, 0x0EED, 0x0EFE, 0x0F0F, 0x0F20,
    10. 0x0F30, 0x0F3F, 0x0F4E, 0x0F5C, 0x0F6A, 0x0F77, 0x0F84, 0x0F8F,
    11. 0x0F9B, 0x0FA6, 0x0FB0, 0x0FB9, 0x0FC2, 0x0FCB, 0x0FD2, 0x0FD9,
    12. 0x0FE0, 0x0FE6, 0x0FEB, 0x0FF0, 0x0FF4, 0x0FF7, 0x0FFA, 0x0FFC,
    13. 0x0FFE, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFE, 0x0FFC, 0x0FFA, 0x0FF7,
    14. 0x0FF4, 0x0FF0, 0x0FEB, 0x0FE6, 0x0FE0, 0x0FD9, 0x0FD2, 0x0FCB,
    15. 0x0FC2, 0x0FB9, 0x0FB0, 0x0FA6, 0x0F9B, 0x0F8F, 0x0F84, 0x0F77,
    16. 0x0F6A, 0x0F5C, 0x0F4E, 0x0F3F, 0x0F30, 0x0F20, 0x0F0F, 0x0EFE,
    17. 0x0EED, 0x0EDB, 0x0EC8, 0x0EB5, 0x0EA1, 0x0E8D, 0x0E78, 0x0E63,
    18. 0x0E4D, 0x0E37, 0x0E20, 0x0E09, 0x0DF1, 0x0DD9, 0x0DC0, 0x0DA7,
    19. 0x0D8E, 0x0D74, 0x0D5A, 0x0D3F, 0x0D24, 0x0D08, 0x0CEC, 0x0CD0,
    20. 0x0CB3, 0x0C96, 0x0C78, 0x0C5B, 0x0C3D, 0x0C1E, 0x0BFF, 0x0BE0,
    21. 0x0BC1, 0x0BA1, 0x0B81, 0x0B61, 0x0B40, 0x0B20, 0x0AFF, 0x0ADD,
    22. 0x0ABC, 0x0A9A, 0x0A78, 0x0A56, 0x0A34, 0x0A11, 0x09EF, 0x09CC,
    23. 0x09A9, 0x0986, 0x0963, 0x0940, 0x091C, 0x08F9, 0x08D6, 0x08B2,
    24. 0x088E, 0x086B, 0x0847, 0x0823, 0x0800, 0x07DC, 0x07B8, 0x0794,
    25. 0x0771, 0x074D, 0x0729, 0x0706, 0x06E3, 0x06BF, 0x069C, 0x0679,
    26. 0x0656, 0x0633, 0x0610, 0x05EE, 0x05CB, 0x05A9, 0x0587, 0x0565,
    27. 0x0543, 0x0522, 0x0500, 0x04DF, 0x04BF, 0x049E, 0x047E, 0x045E,
    28. 0x043E, 0x041F, 0x0400, 0x03E1, 0x03C2, 0x03A4, 0x0387, 0x0369,
    29. 0x034C, 0x032F, 0x0313, 0x02F7, 0x02DB, 0x02C0, 0x02A5, 0x028B,
    30. 0x0271, 0x0258, 0x023F, 0x0226, 0x020E, 0x01F6, 0x01DF, 0x01C8,
    31. 0x01B2, 0x019C, 0x0187, 0x0172, 0x015E, 0x014A, 0x0137, 0x0124,
    32. 0x0112, 0x0101, 0x00F0, 0x00DF, 0x00CF, 0x00C0, 0x00B1, 0x00A3,
    33. 0x0095, 0x0088, 0x007B, 0x0070, 0x0064, 0x0059, 0x004F, 0x0046,
    34. 0x003D, 0x0034, 0x002D, 0x0026, 0x001F, 0x0019, 0x0014, 0x000F,
    35. 0x000B, 0x0008, 0x0005, 0x0003, 0x0001, 0x0000, 0x0000, 0x0000,
    36. 0x0001, 0x0003, 0x0005, 0x0008, 0x000B, 0x000F, 0x0014, 0x0019,
    37. 0x001F, 0x0026, 0x002D, 0x0034, 0x003D, 0x0046, 0x004F, 0x0059,
    38. 0x0064, 0x0070, 0x007B, 0x0088, 0x0095, 0x00A3, 0x00B1, 0x00C0,
    39. 0x00CF, 0x00DF, 0x00F0, 0x0101, 0x0112, 0x0124, 0x0137, 0x014A,
    40. 0x015E, 0x0172, 0x0187, 0x019C, 0x01B2, 0x01C8, 0x01DF, 0x01F6,
    41. 0x020E, 0x0226, 0x023F, 0x0258, 0x0271, 0x028B, 0x02A5, 0x02C0,
    42. 0x02DB, 0x02F7, 0x0313, 0x032F, 0x034C, 0x0369, 0x0387, 0x03A4,
    43. 0x03C2, 0x03E1, 0x0400, 0x041F, 0x043E, 0x045E, 0x047E, 0x049E,
    44. 0x04BF, 0x04DF, 0x0500, 0x0522, 0x0543, 0x0565, 0x0587, 0x05A9,
    45. 0x05CB, 0x05EE, 0x0610, 0x0633, 0x0656, 0x0679, 0x069C, 0x06BF,
    46. 0x06E3, 0x0706, 0x0729, 0x074D, 0x0771, 0x0794, 0x07B8, 0x07DC
    47. };
    复制代码


    三、感想与收获:
    excel还能干这个事情哈!!!

    改天给大家分享YL-KL26Z的DAC输出正弦波库函数版的


    我知道答案 目前已有49人回答

    评分

    参与人数 1NXP金币 +25 收起 理由
    小七 + 25 打赏!

    查看全部评分

    回复

    使用道具 举报

    该用户从未签到

    19

    主题

    401

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1114
    最后登录
    2017-8-16
    发表于 2015-8-26 22:29:53 | 显示全部楼层
    前几天我用TPM做了一个, 波形不是很好,  估计DAC会好一些吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16702
    最后登录
    1970-1-1
     楼主| 发表于 2015-8-26 22:35:04 | 显示全部楼层
    673402618 发表于 2015-8-26 22:29
    前几天我用TPM做了一个, 波形不是很好,  估计DAC会好一些吧

    那朋友试试看吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19

    主题

    401

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1114
    最后登录
    2017-8-16
    发表于 2015-8-26 22:45:09 | 显示全部楼层
    lkl0305 发表于 2015-8-26 22:35
    那朋友试试看吧

    要忙死了  这几天晚上才找了点时间学学UART和DMA
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2018-11-2 10:17
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    9

    主题

    360

    帖子

    1

    高级会员

    Rank: 4

    积分
    841
    最后登录
    2022-1-19
    发表于 2015-8-27 15:27:08 | 显示全部楼层
    查表法  简单粗暴
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16702
    最后登录
    1970-1-1
     楼主| 发表于 2015-8-27 15:45:23 | 显示全部楼层
    是哈,无技术含量
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-8-27 16:37:32 | 显示全部楼层
    不错,谢谢楼主分享。。。
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-8-27 16:38:01 | 显示全部楼层
    收藏了。。。。留着备用
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-24 18:51
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    17

    主题

    565

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2004
    最后登录
    2021-3-10
    发表于 2015-8-27 17:01:55 | 显示全部楼层
    非常好 只需要呢  要是有个工具可以产生任意波形或者常见的几种典型波形的数据就更加好了 .楼主有妙招吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16702
    最后登录
    1970-1-1
     楼主| 发表于 2015-8-27 18:13:00 | 显示全部楼层
    JackieLaura 发表于 2015-8-27 16:38
    收藏了。。。。留着备用

    拿去用,嘿嘿。共同学习
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-22 14:00 , Processed in 0.115065 second(s), 32 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表