题目要求为2011年全国大学生电子设计竞赛专科组波形采集、存储与回放系统(H题)中所述。
放假前自己是一个近学习STM32不到3个月的菜鸟一个而已,C语言基础也学的很不扎实,做作品所涉及的基本模块,例如ADC采集、DMA传输、FLASH掉电保护、DAC输出、通用定时器和高级控制定时器等的运用------自己一无所知,仅仅在学习单片机的时候看了些AD和DA的相关资料和一些简单的程序,仅此而已。
硬件基础:开发板为无线电协会所使用的创新开发板,编程环境为KELL4,下载工具为J-LINK或利用串口线下载。
不过到寒假结束时,单通道以做的很稳定,双通道程序当时写了,但最后没在硬件上验证,下面把自己这段时间内学习的各模块和做这个作品的思路及设计方案等分享给大家,以便大家借助这个作品来加强对STM32的几个常用模块的学习与运用!
程序调试过程中总是问题层出不穷!当然这也是很好的学习平台!
问题1:
//2月13日 程序出现的问题: 前提条件:信号发生器的幅值为2,频率为1KHz,直流偏置为1-2v. ADC_channel_11(连接DS18B20)
ADC采集的数据不是太规则,所显示的波形总是在上升沿处是突然出现一个最低值(零),但是偏置加到1.5-2v时,输出波形恢复正常。
此外,当换到ADC_Channel_12时偏置降到1v时,现象正常。
究其原因:应该是开发板上的ADC_channel_11(PC1)连接DS18B20上,ADC采集时和18B20进行了通信或其他原因。
解决办法:ADC采集通道换到ADC_Channel_12。
问题2:
ADC采集时,所加信号的偏置电压还需要比正常的高一些,否则会出现有一段时间显示的数据一直为零。也就是ADC采集0-2V的信号时靠近0的部分一直显示的是0,但是后来不知道为什么后来有恢复正常了?(正常时应该能够对0-2V之间的信号完美的采集一个周期)
问题3:
5110液晶界面上显示的频率值本应该是一个固定不变的值,但不知为什么它却是一个在1KHz左右波动的值?
本来这几天想把A、B通道结合起来把发挥部分的功能也实现完,但无奈紧缺信号发生器和示波器,权且暂放一些时间再继续完善,到时再把这份资料补充完整,不过小弟也非常欢迎志同道和的大侠们多来提些宝贵建议!
飞仔
整个Word文档包含了整个制作过程中各模块的学习笔记整理、题目分析、方案选取及最后的制作效果!希望能够对大家提供些帮助! |