基于TLC5620信号发生器的设计与实现_郑润娜
- 格式:pdf
- 大小:301.60 KB
- 文档页数:3
微处理器应用 电 子 测 量 技 术 ELECT RONIC M EA SU REM ENT T ECH NOLOG Y第32卷第6期2009年6月 基于TLC5620信号发生器的设计与实现郑润娜1 胡建明2 侯丽娟2(1.天津市塘沽区中等专业学校 天津 300454;2.天津工程师范学院 天津 300222)摘 要:分析了TI公司的4路串行8位数/模转换器T LC5620的功能、特点、工作原理,提出了一种以芯片T LC5620和EPM3128为核心设计低频函数信号发生器的方法,给出了具体的硬件连接框图和软件设计流程图。
利用该设计能产生正弦波、三角波、矩形波等,而且频率和占空比可调,频率控制档位数与占空比大小可以根据自己需要而设定,用EPM3128对键盘进行控制扫描,通过LED数码管显示出信号频率。
本设计产生的信号频率在20~1000H z,电路设计简单,可靠性高,使用灵活,具有很强的实用性,可以在教学与科研等很多场合应用。
关键词:T LC5620;信号发生器;D/A中图分类号:T M02 文献标识码:ADesign&realization of sign generater based on TLC5620Zheng Runna1 H u Jia nming2 Hou Lijuan2(1.Tan ggu S econdary Professional Sch ool,Tianjin300454;2.Tianjin University of Tech nology and Education,Tianjin300222)Abstract:A naly sis of T I s8-digit se rial4-channel D/A conver ter T L C5620functions,features,w orking principle,put fo rwa rd a T LC5620and EP M3128chip design at the co re of low-frequency sig nal generato r function me tho d,are given specific Co nnectio n diag ram of the hardw are and sof tw are desig n flo w char t.U se o f the de sig n can produce sine w ave, triang le w ave,rectangula r wav e,etc.,and adjustable frequency and duty cy cle,frequency and duty cy cle to contr ol the size of the number of stalls can be set acco rding to their ow n needs,and EP M3128co nt rol of the keyboa rd scanning, thro ug h the LED digital tube sho ws tha t the signal frequency.T he desig n of the sig nal frequency o f20~1000H z, simple circuit desig n,high reliability and flexible,and hig hly practical,in teaching and scientific research applicatio ns, and many o the r occasions.Keywords:T LC5620;sing nal genera te r;D/A0 引 言函数信号发生器[1]是实验室中常用的实验设备之一。
一种基于CPLD的宽可调PWM信号发生器
熊承义;孙奉娄
【期刊名称】《中南民族大学学报(自然科学版)》
【年(卷),期】2001(020)003
【摘要】介绍了自行研制的利用基于复杂可编程逻辑器件(CPLD),实现的一种频率宽可调、高频调制的PWM信号发生器.该PWM信号的频率在1~2kHz可调,并调制在3~100kHz任意可调的高频脉冲上;其死区时间可调,且实现了2路信号输出互锁.
【总页数】3页(P9-11)
【作者】熊承义;孙奉娄
【作者单位】中南民族学院电子信息工程学院;中南民族学院电子信息工程学院【正文语种】中文
【中图分类】TN787
【相关文献】
1.基于CPLD的软开关H桥PWM控制信号发生器设计 [J], 刘刚;白旭岐;乔鑫
2.基于CPLD和PWM技术的信号发生器设计 [J], 孟繁明
3.基于CPLD的数字PWM信号发生器的设计 [J], 滕旭东;王弘辉;傅友登
4.一种频率占空比独立可调的PWM信号发生器的设计与仿真 [J], 盛奋华
5.基于CPLD的PWM信号发生器设计 [J], 罗小巧;廖小芳
因版权原因,仅展示原文概要,查看原文内容请购买。
毕业设计基于maxii系列cpld的微波炉控制器芯片设计浙江科技学院嵌入式系统(EDA技术)课题名称院、系专业班级:姓名:学号:指导教师:课程设计报告书基于MAX II系列CPLD的微波炉控制器芯片设计自动化与电气工程学院建筑电气智能化::完成日期: 2021年12月17日目录第一章绪论 ........................................................................... ....... 1 第二章设计目的 ...........................................................................2 第三章设计要求 (3)3.1 微波炉的功能要求 ............................................................. 3 3.2设计步骤 ............................................................................3 第四章设计思想 (4)4.1微波炉定时器的工作过程 ................................................... 4 4.2根据系统的基本要求 .......................................................... 4 第五章设计内容 (5)5.1状态控制电路模块 ........................................................ 8 5.2数据装载电路模块 ........................................................ 9 5.3计时器模块 ................................................................ 10 5.4状态控制源程序 ......................................................... 13 5.5控制器仿真及分析 (24)设计总结 ........................................................................... ........... 27 感言 ........................................................................... ................ 28 参考文献 ........................................................................... .. (30)I第一章绪论随着人们生活水平的提高和信息化的发展,家用电器层出不穷,各种功能也越来越完善,其中微波炉是现代家庭的必备产品已经成为人们日用生活中的必不可少的厨房电器,大大降低了家庭妇女的工作量和工作强度,它的质量和性能的高低,将会极大的影响人们的生活水平和质量。
采用DA设计各种波形发生器导师:欧阳斌林班级:电信1001组员:***A07100205张甲林A07100206日期:2013年6月18日摘要本次D/A转换器设计以单片机AT89S52为主控制器,实现了波形的产生,频率的选择以及波形的选择等功能。
本设计的主要功能是用单片机产生三角波,正弦波等波形,然后通过开关按键选择不同的频率和波形输出。
本设计采用常用的D/A转换器件TLC5620来使单片机输出的数字信号转换为模拟信号,然后再通过运算放大器把D/A输出的电流信号转换为电压信号输出,这样以便用示波器对波形信号进行测量。
这样就完成了D/A转换器的核心部分的设计。
关键词:单片机 TLC5620 三角波正弦波梯形波目录第一章引言 (4)1.1系统背景介绍 (4)1.2D/A转换器的工作原理 (5)第二章系统概述 (5)2.1单片机概述 (5)2.1.1单片机的选择 (5)2.2D/A概述 (7)2.2.1 D/A转换技术指标 (7)2.2.2 TLC5620简介: (8)第三章电路设计 (12)3.1波形发生器的设计电路原理图 (12)3.2D/A转换器总流程图 (13)第四章波形发生器程序设计 (13)第五章系统调试 (19)5.1静态调试 (19)5.2动态调试 (19)第六章总结与结束语 (20)6.1实验结果 (20)6.2设计历程与体会 (23)采用DA设计各种波形发生器第一章引言1.1系统背景介绍D/A转换器,作为实验用的模拟信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。
目前,市场上常见的D/A转换器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。
当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给人们带来了根本性的转变。
现代电子领域中,单片机的应用正在不断的走向深入,这必将导致传统控制与检测技术的日益革新。
单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。
DAC芯片TLC5620-verilog代码DAC芯片TLC5620 Verilog代码TLC5620是TI公司的DA转换芯片,下面的代码实现的简单的DA转换功能。
说明:数码管1显示通道,数码管2显示RNG值,数码管3和4显示CODE值。
按键1切换通道,按键2改变RNG值(0或1),按键3改变CODE值,按键4未使用。
/**************************************************************************************************** DAC11位数据输入说明:Bit[10:9] 通道选择00:CHA; 01:CHB; 10:CHC; 11:CHD Bit[8] RNG 0:参考电压到地1:两倍参考电压到地Bit[7:0] DAC转换代码,范围0~255.输出电压Vo=REF*(CODE/256)*(1+RNG)**************************************************************************************************/module dac(clk,rst_n,dac_clk,dac_data,dac_load,sw1_n,sw2_n,sw3_n,sw4_n,digit_o,cs);input clk; // 输入时钟50MHzinput rst_n; // 复位input sw1_n,sw2_n,sw3_n,sw4_n; // 按键output dac_clk; // DAC时钟MAX=1MHzoutput dac_data; // DAC数据输出output dac_load; // 加载信号// 电路图中LDAC已经接地,因此略去output [7:0] digit_o; // 数码管输出output [3:0] cs; // 数码管片选parameter DAC_Idle = 3'b001, // 状态参数DAC_Send = 3'b010,DAC_Store = 3'b100;//====================================================================== ===========================parameter // 字模MSK_0 = 8'hC0, // '0'MSK_1 = 8'hF9, // '1'MSK_2 = 8'hA4, // '2'MSK_3 = 8'hB0, // '3'MSK_4 = 8'h99, // '4'MSK_5 = 8'h92, // '5'MSK_6 = 8'h82, // '6'MSK_7 = 8'hF8, // '7'MSK_8 = 8'h80, // '8'MSK_9 = 8'h90, // '9'MSK_A = 8'h88, // 'A'MSK_B = 8'h83, // 'B'MSK_C = 8'hC6, // 'C'MSK_D = 8'hA1, // 'D'MSK_E = 8'h86, // 'E'MSK_F = 8'h8E; // 'F'//====================================================================== ===========================/**************************************************************************************************** 按键部分**************************************************************************************************/reg [3:0] key_rst; // 保存按键前一个状态always @(posedge clk or negedge rst_n)if (!rst_n)key_rst <= 4'b1111;else key_rst <= {sw4_n,sw3_n,sw2_n,sw1_n};reg[3:0] key_rst_r; // 保存按键下一个状态always @(posedge clk or negedge rst_n)if (!rst_n)key_rst_r <= 4'b1111;else key_rst_r <= key_rst;wire[3:0] key_val = key_rst_r & (~key_rst); // 检测是否有1到0跳变reg[19:0] cnt; // 计数器always @(posedge clk or negedge rst_n)if (!rst_n)cnt <= 20'd0;else if (key_val) // 有按键按下(由1变为0)计数器开始计时20ms cnt <= 20'd0;elsecnt <= cnt + 1'b1;// 去抖动后的按键检测,仍然用两级寄存器reg[3:0] low_sw;always @(posedge clk or negedge rst_n)if (!rst_n)low_sw <= 4'b1111;else if (cnt == 20'hfffff) // 20ms后的按键状态锁存到low_sw中low_sw <= {sw4_n,sw3_n,sw2_n,sw1_n};reg[3:0] low_sw_r;always @(posedge clk or negedge rst_n)if (!rst_n)low_sw_r <= 4'b1111;elselow_sw_r <= low_sw;wire[3:0] led_ctrl = low_sw_r & (~low_sw);reg [10:0] rData;always @(posedge clk or negedge rst_n)if (!rst_n)rData <= 11'd255;else beginif (led_ctrl[0] == 1) // S1键按下rData[10:9] <= rData[10:9] + 1'b1; // 通道切换if (led_ctrl[1] == 1) // S2键按下rData[8] <= ~rData[8]; // RNG位变化if (led_ctrl[2] == 1) // S3键按下rData[7:0] <= rData[7:0] + 8'd8; // CODE变化end/*************************************************************************************************//************************************************************************************************** ** DAC控制部分**************************************************************************************************/ reg [5:0] div_cnt; // 分频计数器64分频reg div_clk; // 分频时钟注意不是DAC输入时钟always @(posedge clk or negedge rst_n)if (!rst_n) begindiv_cnt <= 6'd0;div_clk <= 1'bz;endelse begindiv_cnt <= div_cnt + 1'b1;if (div_cnt == 6'd63)div_clk <= 1'b1;elsediv_clk <= 1'b0;end/*************************************************************************************************/ reg [2:0] current_state,next_state;reg rDac_load;reg bit_cnt_rst; // 位计数器复位信号wire dat_send_done;always @(posedge clk or negedge rst_n) // 时序进程if (!rst_n)current_state <= DAC_Idle;elsecurrent_state <= next_state;always @(current_state or div_clk or dat_send_done) begin // 组合进程rDac_load <= 1'b1;bit_cnt_rst <= 1'b0;next_state <= DAC_Idle;case (current_state)DAC_Idle: beginbit_cnt_rst <= 1'b1;next_state <= DAC_Send; // 空闲时直接进入send状态endDAC_Send: beginif (dat_send_done) // 数据发送完成next_state <= DAC_Store;elsenext_state <= DAC_Send;endDAC_Store: beginbit_cnt_rst <= 1'b1;rDac_load <= 1'b0; // LOAD变低进行锁存if (div_clk)next_state <= DAC_Idle;elsenext_state <= DAC_Store;endendcaseend/*************************************************************************************************/ reg [4:0] bit_cnt; // 位计数器对div_clk计数always @(posedge clk or negedge rst_n) beginif (!rst_n)bit_cnt <= 5'd0;else if (bit_cnt_rst)bit_cnt <= 5'd0;else if (div_clk)bit_cnt <= bit_cnt + 1'b1;endassign dat_send_done = (bit_cnt == 5'd24);/*************************************************************************************************/ reg rDac_data;always @(bit_cnt[4:1] or rData) begincase (bit_cnt[4:1]) // 从高到低发送11位数据4'd1 : rDac_data <= rData[10];4'd2 : rDac_data <= rData[9];4'd3 : rDac_data <= rData[8];4'd4 : rDac_data <= rData[7];4'd5 : rDac_data <= rData[6];4'd6 : rDac_data <= rData[5];4'd7 : rDac_data <= rData[4];4'd8 : rDac_data <= rData[3];4'd9 : rDac_data <= rData[2];4'd10: rDac_data <= rData[1];4'd11: rDac_data <= rData[0];default : rDac_data <= 1'b0;endcaseend/*************************************************************************************************/ reg rDac_clk;always @(bit_cnt) begin // DAC_CLK输出时钟的产生period=2560nsif ((bit_cnt >= 2) && (bit_cnt <24))rDac_clk <= ~bit_cnt[0]; // 在时钟下降沿数据要有效elserDac_clk <= 1'b0;end/*************************************************************************************************/ assign dac_clk = rDac_clk;assign dac_data = rDac_data;assign dac_load = rDac_load;/**************************************************************************************************//************************************************************************************************** ** 数码管显示部分** 说明:数码管1显示通道数码管2显示RNG值** 数码管3和4显示CODE值**************************************************************************************************/ reg [3:0] cs; // 片选信号reg [16:0] cnt2; // 计数寄存器2,确定扫描间隔reg [3:0] submsk; // 保存要显示的数据always @(posedge clk or negedge rst_n)if (!rst_n)begincnt2 <= 17'd0; // 计数器2置零cs <= 4'b0111;endelse begincnt2 <= cnt2 + 1'b1; // 计数器2开始计数if (cnt2 == 17'd0) // 溢出了,又从0开始beginif (cs == 4'b0111)begincs <= 4'b1110; // 选择第四个数码管submsk <= rData[3:0]; // 显示CODE低4位endelse if (cs == 4'b1110)begincs <= 4'b1101; // 选择第三个数码管submsk <= rData[7:4]; // 显示CODE高4位endelse if (cs == 4'b1101)begincs <= 4'b1011; // 选择第二个数码管submsk <= {3'b000,rData[8]}; // 显示RNG值endelse if (cs == 4'b1011)begincs <= 4'b0111; // 选择第一个数码管submsk <= {2'b00,rData[10:9]} + 1'b1; // 显示通道endendendreg [7:0] digit_o; // 数码管输出寄存器always @(submsk)case (submsk)4'h0: digit_o <= MSK_0;4'h1: digit_o <= MSK_1;4'h2: digit_o <= MSK_2;4'h3: digit_o <= MSK_3;4'h4: digit_o <= MSK_4;4'h5: digit_o <= MSK_5;4'h6: digit_o <= MSK_6;4'h7: digit_o <= MSK_7;4'h8: digit_o <= MSK_8;4'h9: digit_o <= MSK_9;4'hA: digit_o <= MSK_A;4'hB: digit_o <= MSK_B;4'hC: digit_o <= MSK_C;4'hD: digit_o <= MSK_D;4'hE: digit_o <= MSK_E;4'hF: digit_o <= MSK_F;default: digit_o <= MSK_8;endcaseendmodule// End。
TLC5620C和TLC5620I是带有高阻抗缓冲输入的4通道8位电源输出数模转换器集合。
这些转换器可以产生单调的、1至两倍于基准电压和接地电压差值的输出。
通常情况下TLC5620的供电电压为一个5V电源。
器件内集成上电复位功能,确保启动时的环境是可重复的。
对TLC5620C和TLC5620I的数字控制是通过一根简单的3路串行总线实现的。
该总线兼容CMOS,并易于向所有的微处理器和微控制器设备提供接口。
11位的命令字包括8位数据位,2位DAC选择位和1位范围位,后者用来选择输出范围是1倍还是2倍。
DAC寄存器采用双缓存,允许一整套新值被写入设备中。
通过LDAC实现DAC输出值的同时更新。
数字量的输入采用史密斯触发器,从而避免了高噪声。
例程:周立功《ARM嵌入式系统实验教程》(三)中的代码:/******************************************************************** ********* 文件名:main.c* 功能:该实验程序使用TLC5620中A、B、C、D四个通道分别输出周期、幅度相等的* 锯齿波,频率为6.35Hz。
* 说明:跳线器JP1、JP2短接。
********************************************************************* *******/#include "config.h"#define DAC_RNG 1 // 幅值选择/* TLC5620由P0口控制,控制I/O定义如下 */#define CLK1 (1<<21)#define DAT1 (1<<22)#define LOAD (1<<23)#define LDAC (1<<24)#define DAC5620CON (CLK1 | DAT1 | LOAD | LDAC)/* I/O输出操作函数 */#define CCLK1() IO1SET = CLK1#define SCLK1() IO1CLR = CLK1#define CDAT1() IO1SET = DAT1#define SDAT1() IO1CLR = DAT1#define CLOAD() IO1SET = LOAD#define SLOAD() IO1CLR = LOAD#define CLDAC() IO1SET = LDAC#define SLDAC() IO1CLR = LDACvoid DAC5620_Data(uint8 no, uint8 dat);void PIN_Init(void);void Delay(void);int main(void){ uint8 i;PIN_Init(); // 初始化CPU的IO 口while(1) // 发生锯齿波{DAC5620_Data(1, i);DAC5620_Data(2, i);DAC5620_Data(3, i);DAC5620_Data(4, i);i++;}return(0);}/******************************************************************** ********* 名称:IRQ_Eint3()* 功能:外部中断EINT3服务函数,取反B1控制口。
微处理器应用 电 子 测 量 技 术 ELECT RONIC M EA SU REM ENT T ECH NOLOG Y第32卷第6期2009年6月 基于TLC5620信号发生器的设计与实现郑润娜1 胡建明2 侯丽娟2(1.天津市塘沽区中等专业学校 天津 300454;2.天津工程师范学院 天津 300222)摘 要:分析了TI公司的4路串行8位数/模转换器T LC5620的功能、特点、工作原理,提出了一种以芯片T LC5620和EPM3128为核心设计低频函数信号发生器的方法,给出了具体的硬件连接框图和软件设计流程图。
利用该设计能产生正弦波、三角波、矩形波等,而且频率和占空比可调,频率控制档位数与占空比大小可以根据自己需要而设定,用EPM3128对键盘进行控制扫描,通过LED数码管显示出信号频率。
本设计产生的信号频率在20~1000H z,电路设计简单,可靠性高,使用灵活,具有很强的实用性,可以在教学与科研等很多场合应用。
关键词:T LC5620;信号发生器;D/A中图分类号:T M02 文献标识码:ADesign&realization of sign generater based on TLC5620Zheng Runna1 H u Jia nming2 Hou Lijuan2(1.Tan ggu S econdary Professional Sch ool,Tianjin300454;2.Tianjin University of Tech nology and Education,Tianjin300222)Abstract:A naly sis of T I s8-digit se rial4-channel D/A conver ter T L C5620functions,features,w orking principle,put fo rwa rd a T LC5620and EP M3128chip design at the co re of low-frequency sig nal generato r function me tho d,are given specific Co nnectio n diag ram of the hardw are and sof tw are desig n flo w char t.U se o f the de sig n can produce sine w ave, triang le w ave,rectangula r wav e,etc.,and adjustable frequency and duty cy cle,frequency and duty cy cle to contr ol the size of the number of stalls can be set acco rding to their ow n needs,and EP M3128co nt rol of the keyboa rd scanning, thro ug h the LED digital tube sho ws tha t the signal frequency.T he desig n of the sig nal frequency o f20~1000H z, simple circuit desig n,high reliability and flexible,and hig hly practical,in teaching and scientific research applicatio ns, and many o the r occasions.Keywords:T LC5620;sing nal genera te r;D/A0 引 言函数信号发生器[1]是实验室中常用的实验设备之一。
随着设备的迅速发展,其性能,工作稳定性等越来越受到人们的重视。
通常所用的模拟方法RC振荡器或555定时器实现频率的连续可调,再经过多种波形变换来得到各种所需要的波形,这种方法得到的信号频率往往不太稳定,而且对于小频率来说RC的体积太大,不适应当代的微型化设计。
如果利用数字频率合成技术会提高信号的稳定性,但芯片较贵,而且与硬件连接复杂,并会占用较多的端口资源。
TI公司的串行数模转换芯片TLC5620采用单电源供电、功耗低、转换速度快。
因此,本文设计一种利用EPM3128的CPLD来控制T LC5620芯片以产生各种函数波形的方法,可设计出具有稳定性高的正弦波、三角波、矩形波等。
且频率和占空比可调。
1 系统框图系统主要由CPLD控制电路、键盘输入电路、TLC5620输出电路、LED显示等部分组成[2]。
通过键盘设置输出的波形和频率,C PLD经过计算与处理控制D/A芯片TLC5620输出波形,并在数码管上显示。
系统的结构框图如图1所示。
图1 系统框图·102· 郑润娜等:基于TLC5620信号发生器的设计与实现第6期2 硬件电路[3]2.1 TLC5620性能分析T LC 5620是TI 公司推出的具有高阻抗基准输入的4路串行8位电压输出型数/模转换芯片,建立时间为10μs ,每一路均具有两级缓冲器,即输入锁存器和DAC 锁存器,一个输出量程开关、一个8位DAC 电路以及一个电压输出电路,输出电压的计算公式为:U 0=U ref (D /256)(1+RN G )式中:D =0~255表示需要转换的数字量,RNG 等于0或1表示量程切换。
当负载电阻大于10k Ψ时,具有很好的恒压作用。
该芯片采用简单4线串行总线接口方式,因而与各种处理器和微控制器的接口十分简单。
且数模转换后的电压幅度可编程调节。
图2所示是TLC5620的工作时序图。
图2 T LC5620的工作时序图2.2 TLC5620与CPLD 的连接T LC 5620兼容CMOS 电平,易于和工业标准的微处理器或可编程逻辑器件C PLD 接口,连接方法简便。
适用于可编程电压源、数字控制放大器/衰减器、信号合成、移动通信、自动检测装置以及工程监视和控制等工业控制场合,图3为T LC5620与CPLD [4]的连接。
图3 T LC5620与CP LD 的连接采用EPM3128的67、68、69、70分别接TLC5620的DA TA 、C LK 、LDA C 、LOA D ,以驱动T LC5620工作系统内核的CPLD ,采用Verilog H DL 编程[5]。
2.3 键盘与LED 显示[6]用EPM 3128对键盘进行扫描,选择5键盘,即选择波形,调占空比,调频率,另外有增加与减少键。
由于CPLD 端口资源充足,采用独立式键盘连接,其优点为简化硬件设计与软件编程,键盘分别对应EPM3128的PIN 13、PIN 14、PIN 15、PIN 16、PIN 17、PIN 18。
通过4个LED 数码管显示波形的频率,采用动态扫描,节省I /O 空间,EPM 3128的PIN 71、PIN 72、PIN 75、PIN 76、和LED 数码管的A 、B 、C 、D 相连。
3 软件流程[7]3.1 T LC5620驱动程序参照图2TLC5620的工作时序,编写其驱动程序。
先设置A0和A 1选择D /A 的输出通道,设置方式如图4所示。
再设置RNG 位,每一个DAC 的输出由1个可控增益放大器缓冲,它可以被配置为×1或×2的增益,RNG =0为×1的增益,RNG =1为×2的增益。
最后送入8位的D /A 数据。
其流程图如图5所示。
·103· 第32卷电 子 测 量 技 术3.2 主流程图由于数码管采用动态扫描,因此程序要不断刷新显示频率[8]。
主程序中,需不断检测按键是否按下。
其中对于波形按键的动作,C PLD不需要检测释放动作,在波形选择中不会出现重复扫描而影响结果。
但要实时检测键盘是否有设置输入,并根据键值设置相关参数。
其流程图如图6所示。
4 测试结果分析表1和表2给出了部分输出波形参数的测量值与误差。
从测试数据可以看出,该信号信号发生器输出波形稳定,误差较小。
TLC5620的性能决定了本设计产生的频率不是很高,经实验频率范围在20~1000H z。
实际应用时,占空比与频率控制档位数可以根据需要而设定。
表1 信号电压幅值/V步序理论值测试值误差143.990.0124.24.180.0234.44.41-0.0144.64.580.02表2 20~1kHz频率测试值/Hz步序理论值测试值误差15052-22100102-23500503-34800804-45 结 论本文在分析T LC5620芯片功能的基础上,提出了一种基于TLC5620和EPM3128设计的低频函数信号发生器。
该设计能产生正弦波、三角波、矩形波等,而且频率和占空比可调。
本设计产生的信号频率在20~1000H z,信号稳定,可靠性高,使用灵活,具有很强的实用性,完全可以应用于教学与科研。
参考文献[1] 黎国栋.信号发生器专业基础知识问答[J].上海计量测试,2004(5):72-74.[2] 景志林.基于I nfineon单片机的数字化智能充电器设计[J].电子测量技术,2007,30(10):89-92.[3] 李广弟,朱月秀,冷祖祁.单片机基础[M].北京:北京航空航天大学出版社,2007.[4] 罗朝霞,高树莉.CPL D/F PG A设计及应用[M].北京:人民邮电出版社,2007.[5] 王开军,姜宇柏..面向CP LD/FP GA的V H DL设计[M].北京:机械工业出版社,2007.[6] 中海电子显示技术有限公司.点阵型液晶显示模块使用手册[M].[7] 戚勇等,数字式低频信号发生器的软件设计[J].山东理工大学学报,2007(2):79-83.[8] 卢飞跃,王淑波.跳频通信[M].北京:国防工业出版社,2005:8-22.作者简介郑润娜,女,1982年3月出生,辽宁人,天津工程师范学院在职研究生,现任塘沽中专教师。
主要研究方向是电子电路与无线电通信。
E-mail:rnhappy@·104·。