因此通过改变定时器初值可以改变频率,但是采样率和中断服务时间之间成反比关系[7]。采样率越大,中断执行的时间就越小。因此必须确保所有中断服务程序指令在计时器下一次溢出前全部完成。当然还必需注意,根据那奎斯特采样定律,DAC的最大输出频率不能超过采样频率一半。
2.2.3 幅度调整
幅度的调整可以使用两级DAC实现。采用DAC内部的电阻分压网络,将DAC作为数控电位器使用。输出幅度将为 :
其中N为单片机输入的幅度控制字,n为DAC的精度, 为DAC的电压输入[8]。
当然幅度调整也可以使用软件的设计完成。利用如下公式 ,其中DATA为波形数据, 为标准信号幅值, 为想要输出的信号幅值[6],当然 和 都经过适当的数字化处理,V为交由DAC转换的幅值。
2.2.4 滤波设计
为了消除波形表生成时所带来的毛刺以及生成正弦波进行数模转换所产生的高频分量,需要在系统的后级设计滤波器来提高波形的质量。滤波器的设计可以采用软件滤波或者硬件滤波,设计如切比雪夫I型、切比雪夫II型和巴特沃兹型等滤波器。可以通过调整滤波器的参数如阶数、归一化频率和阻带衰减值,得到需要的过载曲线。
2.3 器件选择
2.3.1 单片机选择
传统的单片机结合D/A的信号发生器的硬件核心是8051单片机,外部还需加上DAC、数据锁存器等外围器件,这样构成的数字系统的体积仍太大。
采用Cygnal公司的C8051F040单片机为核心处理器,其内部集成有8051内核和DAC、数据锁存器,可构成一个独立的单片机系统来产生信号无需再加外围器件。将波形数字化后存储在内部ROM中,再通过内部集成的DAC输出波形。
C8051F040单片机是完全集成的混合信号系统级芯片,采用Silicon Lab的专利CIP-51微控制器内核。CIP-51与MCS-51TM指令集完全兼容。CIP-51 内核除具有标准8052的所有外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件:模拟外设主要有一个12位和一个8位ADC,两个12位DAC,高压差分放大器,三个模拟比较器,内部电压基准和精确地VDD监视器;数字外设包括5 个16 位的计数器/定时器,SMBus、SPI及两个全双工UART,8个8位宽的I/O端口,可编程的16位计数器/定时器阵列,64KB的内置FLASH程序存储器,还有位于外部数据存储器空间的RAM,即XRAM。C8051F040单片机具有片内VDD 监视器、看门狗定时器和时钟振荡器,是真正能独立工作的片上系统。所有模拟和数字外设均可由用户固件使能/禁止和配置[9]。
2.3.2 液晶选择
1602液晶也叫1602字符型液晶。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5 7或者51 1点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以他不能显示图形(用自定义CGRAM,显示效果也不好)
1602LCD是指显示的内容为16 2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
1602LCD使用+5V电压供电,对比度可调;内含复位电路;提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能;有80字节显示数据存储器DDRAM,内建有192个5 7点阵的字型的字符发生器CGROM,8个可由用户自定义的 5 7的字符发生器CGRAM[10]。 基于C8051F040单片机的信号发生器设计(4):http://www.751com.cn/zidonghua/lunwen_7038.html