采用TLC5620设计各种波形发生器
基于TLC5620的低频函数信号发生器设计

LOAD
LD AC
图1 T C 6 0 工作 时序 L 52 的
2 低 频 函数 信 号 发 生 器 设 计
基 于T J5 2 的低频 函数 信 号 发 生 器具 有 如 I 60 C
本 设 计 采用 P .~ 27 2 P .来分 别 连 接T C 6 0 4 L 5 2 的
( 一路 均具有 两级 缓 冲器 ,即输人 锁存 器 和D C 每 A
锁 存器1 、一个 输 出量程 开 关 、一个 8 D C电路 位 A
以及 一个 电压 输 出 电路 。T C 6 0 L 5 2 采用 单 电源 供
电 。数模 转 换后 的 电压 幅度可 编程 调节 。器件 采
f)可 通过3 E 数 码 管显示 信号频 率 ; 4 个L D
CLK
各 种所需 要 的波 形 。但是 。这 些模 拟 方 法得 到 的 信 号频 率 往 往 不 是 很 稳 定 。且 低 频 时R C的体 积
很 大 ,对 实现 系统 的微 型化 不 利 。随着 目前 直接
DAr r A
1 A0 R G D7 D6 D5 ]4 D3 D2 D1 X X NX X X X 3X X X
信 号 发 生 器 的 一 种 设 计 方 法 。 利 用 该 方 案 产 生 的 波 形 包括 正 弦 波 、 矩 形 波 、 三 角 波 。 而 且 频
率 可调 ,当选择 的 波形是 矩 形波和 三 角波 时 ,还 可调 节 占空 比 。因 而可满足 P WM波形控 制 的
需要
TLC5620实验报告

实验报告信息与通信工程学院TLC5620串行D/A实验1实验要求TLC5620是4通道8位的串行D/A转换器。
任务1:观察已给程序的实验现象,并结合实验结果理解原程序语句的含义,体会基本句话,模块的用法。
在掌握整个程序工作的原理后,修改程序,使其实现单通道的DA转换:在按下通道的按键之后,用数码管显示输入的数字量;停止按键,数码管计数停止,继续按键则继续计数。
按下复位键,则系统清零,数码管显示0值。
将转换后的模拟电压加到LED两端,观察LED亮度变化是否符合理论规律。
任务2:在任务1的基础上,进一步体会程序的编写思想,将顶层图形文件修改成一个用语言描述的模块,实现原程序所要求的各项功能:通过4个按键选择不同通道,每个通道的数字量输入都可以在数码管上进行显示。
松开按键,则计数显示保持前一状态,按下按键继续计数。
设置复位键,按下复位键,系统清零。
每个通道对应的模拟电压通过LED的亮度显示。
通过硬件实现,观察实验结果。
2实验原理2.1 TLC5620基本原理TLC5620封装如实验图1所示,是一个4通道8位的串行数模(D/A)转换器,其最大转换速度可达1MBps。
其管脚REFA~REFD为四个通道的参考电压,实验平台的参考电压均为 2.5V;DACA~DACD为4路四个模拟信号输出通道;DA TA为串行数据输入;CLK为DAC串行数据输入时钟,其下降沿锁存输入数据DA TA;LOAD为串行数据锁存信号,低电平锁存。
LDAC为DAC输出更新控制信号,当LDAC为低电平时,则把锁存在锁存器的数据送到DAC并转换为模拟信号,在相应的通道进行输出,故可以始终把LDAC信号置为低电平,也就是说加载信号一旦产生,数据立刻转换输出。
表1为TLC5620各引脚功能介绍。
图1 TLC5620封装示意图表1 TLC5620引脚功能引脚输入/输出功能描述名称序号GND 1 I 地回路及参考终端DACA 12 O DAC A模拟信号输出DACB 11 O DAC B模拟信号输出DACC 10 O DAC C模拟信号输出DACD 9 O DAC D模拟信号输出DATA 6 I 串行数字数据输入接口,在CLK下降沿时将输入的数字量转发到串行接口寄存器里CLK 7 I 串行接口时钟,用于控制串行数据的输入LDAC 13 I 加载DAC。
TLC5620

应用
可编程电压源
数字控制的放大器/衰减器 移动通信
自动测试设备
过程监测和控制
信号合成
TLC5620是8位电压输出型数模转换器,
由单5V 电源供电,工作在0到70摄氏度。
数字是由三线串行总线控制的,11位命令字组成的8个位的数据。
双缓冲 DAC 寄存器输入具有高抗干扰性和施密特触发器。
引脚说明:
CLK :串行时钟,下降沿时输入数据被移入串行接口
DACA 、B 、C 、D :模拟量输出通道
DATA :串行接口数控输入,时钟下降沿时,数据位被移入寄存器
LDAC :加载DAC ,DAC 的输出只有在LDAC 由高电平跳变到低电平时
发生。
LOAD :串行接口负荷控制,当LDAC 引脚为低电平,负载的下降沿信号锁存到输出锁存器的数据。
REFFA 、B 、C 、D:
输入到DAC 的参考电压
TLC5620工作时序图
工作原理:LOAD 保持高电平,每当CLK 的下降沿来时,数据锁存在DATA 端,当所有的数据都被锁存时,LOAD 变为低电平,串行数据输入到选定的寄存器,当LDAC 和LOAD 同为低电平时,选定的DAC 输出电压变低,DAC 输出LDAC 引脚的电压。
当LDAC 为高电平时新值转移到DAC 的输出脉冲LDAC 引脚上,将数据转换为模拟电压输出。
8位串行数模转换器
5V 单电源供电
高阻抗基准输入
内部上电复位。
基于TLC5620信号发生器的设计与实现_郑润娜

微处理器应用 电 子 测 量 技 术 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]是实验室中常用的实验设备之一。
TLC5620中文

第四章后向通道的设计前面所述的只是测温部分,要想达到温度控制的目的,还必须对半导体激光器进行加热或制冷,这就是后向通道所要做的。
4.1 数模模块的设计由单片机计算得到得差值,经过处理后送到数模转换芯片,从而控制TEC的驱动电路,达到控温的目的。
本系统选用的DA芯片是TI公司的TLC5620。
4.1.1TLC5620简介TLC5620是一款具有高阻抗基准输入的4 路串行8位电压输出型数模转换芯片,它采用单一+5 V 电源供电,是一种低功耗芯片。
TLC5620 兼容CMOS 电平,只需要通过4 根串行总线就可以完成8位数据的串行输入,易于和工业标准的微处理器或微控制器(单片机)接口。
适用于可编程电压源、数字控制放大器/衰减器、信号合成、移动通信、自动测试装置以及工程监视和控制等工业控制场合[11]。
本系统使用的TLC5620的具体型号是塑料DIP(P)封装TLC5620CN,它的工作温度范围为0~70 ℃。
TLC5620可分别输入4个参考电压,从而有4种不同的模拟电压输出。
TLC5620是通过使用4个电阻网络实现来4路数模转换,每路DAC(数模转换)的核心是256 个独立电阻,对应串行输入的256个可能码值0~255。
每个电阻网络的一端连接到地GND,另一端从基准电压输入缓冲器的输出端反馈回来[11]。
TLC5620共有14个针脚,具体针脚定义如表所示:针脚号 针脚符号针脚功能简介。
1 GND 输入工作电压地端。
2~5 REFA~REFD4个参考电压输入端,其限定了模拟输出电压的最大值。
6 DATA 串口界面的数字数据输入端。
进行转化的数字信号是串行输入到寄存器的,且每一位数据是在时钟信号的下降沿被读入的。
7 CLK 串行时钟信号输入端。
用于控制串行数据的输入。
8 LOAD 串行界面数据装载控制端。
当LDAC是低电平的时候,在LOAD信号的下降沿,将输入的数字数据锁入输出门,并立即产生模拟电压输出。
[笔记].串型DACTLC5620生成锯齿波、三角波实验,Verilog版本
![[笔记].串型DACTLC5620生成锯齿波、三角波实验,Verilog版本](https://img.taocdn.com/s3/m/c87bd4394a73f242336c1eb91a37f111f1850d49.png)
[笔记].串型DACTLC5620⽣成锯齿波、三⾓波实验,Verilog版本原理图时序图思路源代码顶层模块module tlc5620_test(input CLOCK_50, // 板载50MHz时钟input RST_N,//output ADC549_CLK,output ADC549_CS_N,input ADC549_DATA,//output DAC5620_CLK,output DAC5620_DATA,output DAC5620_LOAD,//output [7:0] SEG7_SEG, // 七段数码管段脚output [7:0] SEG7_DIG // 七段数码管位脚);function integer log2(input integer n);integer i;for(i=0; 2**i <=n; i=i+1) log2=i+1;endfunction/*************************************** ⽣成20ms的tick时钟**************************************/reg [log2(1_1000_1000):1] cnt_20ms;always@(posedge CLOCK_50, negedge RST_N)if(!RST_N) cnt_20ms <= 0;else beginif(cnt_20ms < 999_999)cnt_20ms <= cnt_20ms + 1'b1;else cnt_20ms <= 0;endwire tick_20ms = (cnt_20ms == 999_999) ? 1 : 0;/*************************************** 锯齿波;接LED**************************************/reg [7:0] da0_data;always@(posedge CLOCK_50, negedge RST_N)if(!RST_N) da0_data <= 0;else if(tick_20ms) beginif(da0_data < 255)da0_data <= da0_data + 1'b1;else da0_data <= 0;end/*************************************** 三⾓波;接LED**************************************/reg da1_highest_level_flag;reg [7:0] da1_data;always@(posedge CLOCK_50, negedge RST_N)if(!RST_N) beginda1_data <= 0;da1_highest_level_flag <= 0;end else if(tick_20ms) beginif(da1_data == 255-1)da1_highest_level_flag <= 1;else if(da1_data == 0+1)da1_highest_level_flag <= 0;if(da1_highest_level_flag)da1_data <= da1_data - 1'b1;elseda1_data <= da1_data + 1'b1;endwire [7:0] da2_data = 0;wire [7:0] da3_data = 0;tlc5620_driver tlc5620_driver_inst(.CLOCK_50(CLOCK_50),.RST_N(RST_N),//.da_enable(1'b1),.da_range(0), // 0, 1倍参考电压; 1, 2倍参考电压 .da0_data(da0_data), // 0~255.da1_data(da1_data), // 0~255.da2_data(da2_data), // 0~255.da3_data(da3_data), // 0~255//.SCK(DAC5620_CLK),.SDI(DAC5620_DATA),.LOAD(DAC5620_LOAD));endmoduletlc5620驱动module tlc5620_driver(input CLOCK_50,input RST_N,//input da_enable,input da_range, // 0, 1倍参考电压; 1, 2倍参考电压 input [7:0] da0_data, // 0~255input [7:0] da1_data, // 0~255input [7:0] da2_data, // 0~255input [7:0] da3_data, // 0~255//output reg SCK,output reg SDI,output reg LOAD);function integer log2(input integer n);integer i;for(i=0; 2**i <=n; i=i+1) log2=i+1;endfunction/*************************************** ⽣成140ns的tick时钟**************************************/reg [log2(7):1]cnt_140ns;always@(posedge CLOCK_50, negedge RST_N) if(!RST_N) cnt_140ns <= 0;else beginif(cnt_140ns < 6)cnt_140ns <= cnt_140ns + 1'b1;else cnt_140ns <= 0;endwire tick_140ns = (cnt_140ns == 6) ? 1 : 0;/*************************************** 根据tick时钟⽣成da基准计数器**************************************/reg [log2(48):1] da_ref_cnt; // [0,47]always@(posedge CLOCK_50, negedge RST_N)if(!RST_N) da_ref_cnt <= 0;else beginif(!da_enable) da_ref_cnt <= 0;else beginif(tick_140ns) beginif(da_ref_cnt < 47)da_ref_cnt <= da_ref_cnt + 1'b1;else da_ref_cnt <= 0;endendendwire tick_6720ns = (da_ref_cnt == 47) ? 1 : 0;reg [1:0] da_sel_cnt;always@(posedge CLOCK_50, negedge RST_N)if(!RST_N) da_sel_cnt <= 2'b0;else if (tick_6720ns) beginif(da_sel_cnt < 3)da_sel_cnt <= da_sel_cnt + 1'b1;else da_sel_cnt <= 2'b0;end/*************************************** 根据基准计数器⽣成串⾏信号**************************************/reg [7:0] da_data;always@(posedge CLOCK_50, negedge RST_N)if(!RST_N) da_data <= 8'b0;else begincase(da_sel_cnt)2'b00: da_data <= da0_data;2'b01: da_data <= da1_data;2'b10: da_data <= da2_data;2'b11: da_data <= da3_data;endcaseendalways@(posedge CLOCK_50, negedge RST_N)if(!RST_N) beginSCK <= 0;SDI <= 0;LOAD <= 0;endelse beginif(tick_140ns) begin// ⽣成SCK信号case(da_ref_cnt)2,6,10,14,18,22,26,30,34,38,42: SCK <= 1; 4,8,12,16,20,24,28,32,36,40,44: SCK <= 0; default : ; // 缺省不操作endcase// ⽣成LOAD信号case(da_ref_cnt)0: LOAD <= 1;46: LOAD <= 0;default : ; // 缺省不操作endcase// 送⼊串型数据case(da_ref_cnt)3,4: SDI <= da_sel_cnt[1];7,8: SDI <= da_sel_cnt[0];11,12: SDI <= da_range;15,16: SDI <= da_data[7];19,20: SDI <= da_data[6];23,24: SDI <= da_data[5];27,28: SDI <= da_data[4];31,32: SDI <= da_data[3];35,36: SDI <= da_data[2];39,40: SDI <= da_data[1];43,44: SDI <= da_data[0];default : SDI <= 1'b1;endcaseendendendmoduleSignaltap硬件仿真。
基于TLC5620的低频函数信号发生器设计

Vol.9 No.11 Nov. 2007
图2 LED显示硬件电路示意图
用3个LED数 码 管 来 显 示 频 率 , 具 体 的 硬 件 电 路 示意图如图2所示。
本 设 计 采 用 P2.4~P2.7 来 分 别 连 接 TLC5620 的 CLK、DATA、LOAD、LDAC, 以驱动TLC5620工 作, P0.0~P0.6分别接正弦波、矩形波、三角波波 形选择按键以及频率增减按键和占空比增减按 键 。 P2.0~P2.2 作 为 3 位 数 码 管 频 率 显 示 的 位 选 地 址, P1口则作为数据线。
1 TLC5620的工作原理
TLC5620C包含四个独立的8位数 /模转换器、 (每一路均具有两级缓冲器, 即输入锁存器和DAC 锁 存 器 )、 一 个 输 出 量 程 开 关 、 一 个 8 位 DAC电 路 以 及 一 个 电 压 输 出 电 路 。 TLC5620 采 用 单 电 源 供 电, 数模转换后的电压幅度可编程调节。器件采
0 引言
函数信号发生器是实验室中常用的仪器设备 之 一 通 常 可 用 RC振 荡 器 或 555 定 时 器 实 现 频 率 的 连续可调, 然后再经过各种波形变换电路来得到 各种所需要的波形。但是, 这些模拟方法得到的 信 号 频 率 往 往 不 是 很 稳 定 , 且 低 频 时RC的 体 积 很大, 对实现系统的微型化不利。随着目前直接 数 字 频 率 合 成 (DDS) 技 术 的 广 泛 使 用 , 特 别 是 在高精度的领域 (如雷达, 电子对抗等), DDS技 术具有频率稳定度高, 精度高, 操作快捷等优 点, 但是, DDS芯片成本也较高, 而且硬件设计 要占用较多的端口资源。为此, 本文介绍了一种 利 用 51 单 片 机 来 控 制 TLC5620 芯 片 以 产 生 各 种 函 数波形的新算法。该方法产生的具体函数波形主 要有正弦波、三角波、矩形波等, 且频率和占空 比可调。
串行模数数模转换实验报告

串行模数/数模转换实验报告一.实验目的:1、掌握 TLC549同步串行接口的ADC模块的特性、编程原理,了解TLC5620的4种时序图以及产生波形幅度的计算方法。
2、能实现TLC549、TLC5620与MCS-51单片机的连接,分别进行数据采集和波形观测。
3、能采用Proteus ISIS软件进行串行模数转换的电路设计。
4、能运用MCS-51单片机汇编语言进行串行模数/数模转换实验的软件设计。
二.实验要求:1、将TLC549 与MCS-51单片机进行连接,利用汇编语言编写出数据采集程序,将转换的模拟电压以二进制的形式通过单片机的P0口输出显示。
1)将单片机的P0口与LED1~LED8连接起来,作为输出显示。
由于LED采用灌电流方式驱动,所以要将数据取反后再输出显示,以获得“正逻辑”效果2)利用P1口与TLC549的控制信号进行连接,TLC549的基准电压REF+端与基准电压+5V相连,将电位器的上端连接VCC、下端连接GND,抽头与TLC549的模拟输入ANIN连接。
在运行程序时,不断地调节电位器,使其抽头电压连续变化,通过LED1~LED8的状态观察ADC转换的结果。
3)运用Proteus ISIS软件完成串行模数转换实验的硬件电路设计。
4)实现KeilC与Proteus软件的联调。
2、设计软件程序,用单片机的I/O口控制TLC5620实现D/A转换,使其通道1产生一个三角波,而通道2产生一个和通道1周期、幅度均相同的方波。
1)短接B7区的电源供给跳线JP16,调节B7区的电位器W3,使其输出接线柱Verf的电压为2.6V。
2)将A2区P16、P17、T0、T1分别连接到B9区的CLK、DAT、LDAC、LOAD,将B7区Verf连接到B9区REF接线柱,短接B9区电源跳线JP13。
3)运行光盘中的相应程序,用双踪示波器的两个探头观察DACA、DACB输出的波形。
三.流水灯硬件电路图四.软件程序1. 串行模数实验程序流程图2.程序清单 1) 串行模数:SDO BIT P1.0 ;数据输出CS BIT P1.1 ;片选SCLK BIT P1.2 ;时钟ORG 8000HAJMP MAINORG 8100HMAIN: MOV SP,#60HLOOP: ACALL TLC549_ADCCPL A ;累加器A取反MOV P0,A ;数据给P0口ACALL DELAYSJMP MAINTLC549_ADC: PUSH 07HCLR A ;清零CLR SCLKMOV R6,#08H ;计数器赋初值CLR CS ;选中TLC549LOOP1:SETB SCLK ;SCLK置位,数据输出NOPNOPMOV C,SDORLC A ;累加器A循环左移CLR SCLK ;SDO=0,为读出下一位数据作准备 NOPDJNZ R6,LOOP1 ;R6-1→R6,判断R6=0SETB CS ;禁止TLC549,再次启动AD转换 SETB SCLKPOP 07HRETDELAY: PUSH 00HMOV R0,#00HDJNZ R0,$POP 00HRETEND2)串行数模:SCLA BIT P1.6SDAA BIT P1.7LOAD BIT P3.5LDAC BIT P3.4VOUTA DATA 30HVOUTB DATA 31HORG 8000HAJMP MAINORG 8100HMAIN:MOV SP,#60HNOPCLR SCLACLR SDAASETB LOADSETB LDACMOV R3,#0A2HMOV R4,#00HMOV VOUTA,#00HMOV R5,#0A2HMOV R6,#00HMOV VOUTB,#00HDACHANG:MOV R1,#01HMOV R2,VOUTALCALL DAC5620DJNZ R3,CONTINUEAMOV R3,#0A2HMOV A,R4CPL AMOV R4,ACONTINUEA:CJNE R4,#OFFH,CONTINUEB DEC R2SJMP CONTINUEC CONTINUEB:INC R2CONTINUEC:MOV VOUTA,R2MOV R1,#03HMOV R2,VOUTBLCALL DAC5620DJNC R5,CONTINUEDMOV R5,#042HMOV A,R6CPL AMOV R6,A CONTINUED:CJNE R6,#0FFH,CONTINUEE MOV R2,#OA2HSJMP CONTINUEF CONTINUEE:MOV R2,#00H CONTINUEF:MOV VOUTB,R2LJMP DACHANG DAC5620:MOV A,R1CLR SCLAMOV R7,#08HLCALL SENDBYTEMOV A,R2CLR SCLAMOV R7,#08HLCALL SENDBYTECLR LOADSETB LOADCLR LDACSETB LDACRETSENDBYTE:SETB SCLARLC AMOV SDAA,CCLR SCLADJNZ R7,SENDBYTE RETEND五.实验结果观察实验结果,可知道通过调节电位器,数字量在对应的发生改变。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
采用DA设计各种波形发生器
第一章 引言
1.1系统背景介绍
D/A转换器,作为实验用的模拟信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的D/A转换器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、1.1单片机的选择
随着微电子技术的飞速发展,CPU已经变成低成本器件。在可能的情况下,各种机电设备已经或者正在嵌入CPU构成的嵌入式系统。据Virginia Tech公司报告,嵌入式系统中所使用的CPU数量已经超过通用PC中CPU数量的30倍。 现在系统研究的重点已从通用系统转向专用系统,以及从一般性能转向可靠性、可用性、安全性、自主性、可扩展性、功能性、灵活性、成本、体积、功耗及可管理性上。
当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给人们带来了根本性的转变。现代电子领域中,单片机的应用正在不断的走向深入,这必将导致传统控制与检测技术的日益革新。单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。
· 2个外部中断源· 共6个中断源
· 2个读写中断口线 · 3级加密位
· 低功耗空闲和掉电模式· 软件设置睡眠和唤醒功能
2.2 D/A
2.2.1
D/A转换器的输入为数字量,经转换后输出为模拟量。有关D/A转换器的技术性能指标很多,例如绝对精度,相对精度,线性度,输出电压范围,温度系数,输入数字代码种类等等。对这些技术性能指标,这里不做全面的详细说明,仅对几个与接口有关的技术性能指标作以介绍。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
利用单片机采用程序设计方法来产生低频信号,其频率底线很低。具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功能升级。
1.2 D/A转换器的工作原理
数字/模拟转换器(D/A)用来将数字量转变为模拟量。本设计是基于C52单机的D/A转换器,其可以产生正弦波,锯齿波,方波以及三角波。本设计的原理大概为:以正弦波为例,它实现的原理是把正弦波在一个周期分为256或者64或者32个点,点和点之间的间隔是相等的并通过延时程序来实现。我们先使单片机P0口先输出00H,然后间隔一段时间再输出第二个点,再延时相同的时间输出第三个点,直到输出FFH。这样算一个周期完成。但单片机这样输出的信号只是正弦波的大概,并不是一个平滑完整的波形。我们必须通过一个D/A转换器件把它从数字信号变为模拟信号,但是此时又产生了一个问题,通过D/A转换的模拟信号为电流信号。这样的信号示波器是无法识别的,这样我们就必须通过一个运算放大器把电流信号转换为标准电压信号。这样就基本完成了发生器的设计。当然方波和三角波的实现和正弦波的实现原理基本相同,所以在此我们就不必赘述。我设计的D/A转换器是可以调频的。其调频的原理是:把单片机定时/计数器的最大可计数的时间计算出来,然后我们就可以等间隔步进的从最小的一个计数值来改变计数的时间,使得定时/计数器的溢出时间长短不同,这样就可以改变波形的频率。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
·兼容MCS51指令系统· 8k可反复擦写(>1000次)FlashROM
· 32个双向I/O口· 256x8bit内部RAM
· 3个16位可编程定时/计数器中断· 时钟频率0-24MHz
· 2个串行中断· 可编程UART串行通道
D/A作为一种常见的应用电子仪器设备,传统的波形产生一般可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC要很大。大电阻,大电容在制作上有困难,参数的精度亦难以保证。体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。
2.1.2AT89C52单片机介绍:
图1.AT89C52单片机引脚图
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
采用DA设计各种波形发生器
导师:欧阳斌林
班级:电信1001
组员:杨利红A07100205
张甲林A07100206
日期:2013年6月18日
摘 要
本次D/A转换器设计以单片机AT89S52为主控制器,实现了波形的产生,频率的选择以及波形的选择等功能。本设计的主要功能是用单片机产生三角波,正弦波等波形,然后通过开关按键选择不同的频率和波形输出。本设计采用常用的D/A转换器件TLC5620来使单片机输出的数字信号转换为模拟信号,然后再通过运算放大器把D/A输出的电流信号转换为电压信号输出,这样以便用示波器对波形信号进行测量。这样就完成了D/A转换器的核心部分的设计。