4回答

0收藏

简易函数信号发生器

GD32 GD32 4976 人阅读 | 4 人回复 | 2016-01-08

本帖最后由 netlhx 于 2016-1-14 08:21 编辑

一、方案名称:  
基于GD32F2的函数信号发生器

二、方案介绍

使用兆亿科技的GD32 MCU小红板。
GD32F207包含一个DAC设备,使用该设备来产生DAC信号,根据输入数据的不同,产生不同的外部模拟信号。演示工程实现了基本的三种信号输出:正弦波、方波、锯齿波。除此之外,还在开发板上实现如下功能。

  • FREERTOS移植,实现LED心跳灯,指示程序是否工作正常
  • 按键中断,KEY1用来选定不同的输出波形,KEY2用来设定每种波形的输出频率
  • UART功能,输出当前选择结果
  • DAC信号输出使用DMA机制,减轻CPU负担

使用开源的DSCOPE USB示波器观察输出结果。

DAC信号输出演示工程没有实现输出电压的调整,直接使用的是DAC的VREF作为参考电压。

三、方案结构框图

完全使用板载资源,方案结构框图略。

四、设计应用描述及心得总结
1.  使用了官方提供的库函数,但没有使用BSP函数。这样可以更好的熟悉GD32 MCU。
2.  官方提供的例程较少,可以参考STM32 STD LIB 3.5版本中的例程。
3.  官方库函数部分宏定义有待商榷,如在使用DAC的HDR寄存器地址时,走了不少弯路,主要是这些宏定义有误导之嫌。
4.     GPIO, TIMER, KEY, USART等程序代码很顺利实现,主要是在DAC上输出碰到了一些障碍,一方面,刚开始的时候没发现板上的丝印居然是反的;另一方面在刚开始调试的时候发现TIMER,DMA都是正常的,但是DAC就是没有获取到数据,经过仔细排查发现是DAC的DHR地址错,更正后程序正常。

感谢GD公司给我们带来了这么好的设备,感谢爱板网及工作人员,还有TROCHILI大侠,你们辛苦了!谢谢!

五、作品实物图+视频(加分
调试用USB示波器



输出波形图



频率调整图




视频效果展示:

屏幕上输出是分别按KEY1和KEY2所产生的变化




六、方案代码+BOM(加分


GD32.zip (3.84 MB, 下载次数: 13, 售价: 2 与非币)


评分

参与人数 1声望 +3 与非币 +100 收起 理由
小菜儿 + 3 + 100 赞一个!

查看全部评分

分享到:
回复

使用道具 举报

回答|共 4 个

倒序浏览

沙发

lcr12

发表于 2016-1-14 08:58:10 | 只看该作者

方案不错,很给力
板凳

lcr12

发表于 2016-1-14 09:00:39 | 只看该作者

GD32的DAC很给力
地板

小菜儿

发表于 2016-1-14 10:57:26 | 只看该作者

作品不错,给力!
5#

晨枫-366963

发表于 2016-1-17 17:25:45 | 只看该作者

忽然想知道楼主的示波器是用的啥?多少钱?性能如何?
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

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