一种新的实现DDS的AVR信号发生器
2011-12-15
来源:EEworld
这是一个AVR DDS信号发生器V2.0新的实施,已经在scienceprog.com出版。 很明显,对于原原理图和固件完全归功于它的原创者。这里呈现的是一个不同的PCB,结构紧凑,单只通孔,便于建筑构件片面的。函数发生器有两个BNC输出:为高速[1到8 MHz]一平方信号(BNC1)和DDS的信号(BNC2)另一个。偏移和幅度可以用两个调节电位器:在+5 V至- 5V(POT1)和0至10V(POT2)范围幅度范围偏移。向上和向下箭头按钮用于改变函数的类型(正弦,三角等),而左,右箭头按钮用于改变频率值。还有一个改变频率步进单独的菜单。当中间按钮按下时,产生的信号启动。示意图
EAGLE示意图(仅一个状态LED和开/关开关上架)
PCB
EAGLE PCB(丝印和底层)
零件清单
电源
对于通电函数发生器,一台PC ATX电源供应器使用了,所有的电压已经上市(+12 V,- 12V,+5 V)。接线显示在下面的图像从scienceprog.com拍摄。
工厂制造的印刷电路板及零件
PCB制作
照片组装PCB
ATMEGA16编程的程序员与usbtiny
由于目前LCD字符的方向,这是从原来的执行情况(180度)不同,在main.c中作了以下修改: 按钮的左边和右互换:
#定义左3 / / PORTD
#定义右1 / / PORTD
按钮TOP和BOTTOM互换:
#定义下跌了4 / / PORTD
#定义最多0 / / PORTD
对于AVR - GCC编译器的最新版本,应作出以下修改(根据杰夫在scienceprog.com评论):
结构信号{
挥发性uint8_t模式; / /信号
不稳定uint8_t FR1 / /频率[0 .. 7]
挥发uint8_t FR2; / /频率[8 .. 15]
挥发性uint8_t FR3; / /频率[16 .. 31]
挥发性uint32_t频率; / /频率值
波动uint8_t标志; / /如果0发电机关闭,1为ON
挥发uint32_t ACC / /累加器
挥发性uint8_t ON;
挥发uint8_t HSfreq / /高速频率[1 ... 4Mhz的]
挥发uint32_t deltafreq; / /频率步进值
} SG;
该ATMEGA16保险丝应该是:
高= 0 × 59
LOW = 0xCF
这是解释为下列选项选中(所有其他未选中):
OCDEN
SPIEN
BOOTSZ1
BOOTSZ2
SUT1
SUT0
照片的设备
[next]
最终实验室设置