ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:438.76KB ,
资源ID:11538824      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11538824.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(串行DA转换电路设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

串行DA转换电路设计.docx

1、串行DA转换电路设计1、课程设计目的22、设计内容和要求23、设计方案3.1、设计思路23.2、设计框图23.3、工作原理及硬件框图54、软件编程4.1、程序流程图64.2、程序代码75、电路仿真86、电路原理图117、PCB版图 128、课程设计总结129、参考文献131、课程设计目的(1)掌握电子电路的一般设计方法和设计流程;(2)了解串行D/A转换电路的基本实现原理;(3)理解D/A转换与相关接口电路的基本原理;(4)掌握利用Protues软件对电路进行仿真的方法。(5)掌握利用protel绘制电路原理图与制作PCB图的方法;(6)学习掌握硬件电路设计的全过程。2设计内容和要求绘制电路原

2、理图完成对不同信号波形的采集,实现PCB图绘制。串行D/A转换电路具体设计要求如下:(1)查阅所用器件技术资料,详细说明系统工作流程;(2)设计电路能够通过数/模转换得到设定的模拟量波形。3、设计方案3.1设计思路由于本设计是串行D/A转换,可以使用单片机作为电路的主控制器来控制设定的数据串行输入到串行D/A转换器中,然后经过DA转换输出模拟量。3.2设计框图控制器采用单片机AT80C51,串行DA转换器采用TLC 5615,时钟振荡电路采用石英晶体振荡器,串行DA转换电路设计框图如下。 复位电路 串行DA转换器 主 控 制 器时钟振荡电路 图1 总体方框设计图3.2.1主控制器 80C51单

3、片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。电源: VCC - 芯片电源,接+5V; VSS - 接地端; 时钟: XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPR

4、OM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 I/O线 80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 3.2.2复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。RC复位电路可以实现上述基本功能,复位电路如图2所示。图2 复位电路原理图3.2.3时钟振荡电路 单片机是

5、一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,电容,连上就能了,按图3接上即可。 图3 时钟晶振电路3.2.4串行DA转换电路 TLC5615 为美国德州仪器公司 1999 年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把 DAC 寄存器复位至全零。性能比早期电流型输出的 DAC 要好。只需要通过 3 根串行总线就可以完成 10 位数据的串行输入, 易于和工业标准的微处理器或微控制器(单片机) 接口, 适用于电池供电的测试仪表、移动电话,也适用于数字失调

6、与增益调整以及工业控制场合。它主要由以下几部分组成: 1、10 位 DAC 电路; 2、一个 16 位移位寄存器, 接受串行移入的二进制数,并且有一个级联的数据输出端DOUT ; 3、并行输入输出的 10 位 DAC 寄存器, 为 10 位 DAC 电路提供待转换的二进制数据; 4、电压跟随器为参考电压端REFIN提供很高的输入阻抗,大约10M; 5、2 电路提供最大值为 2 倍于 REFIN 的输出; 6、上电复位电路和控制电路。 TLC5615 的内部功能框图如图4所示。 图4 TLC5615功能框图两种工作方式: (A)从图4可以看出,16 位移位寄存器分为高 4 位虚拟位、低两位填充位

7、以及 10位有效位。在单片 TLC5615 工作时,只需要向 16 位移位寄存器按先后输入 10位有效位和低 2 位填充位, 2 位填充位数据任意,这是第一种方式,即 12 位数据序列。 (B)第二种方式为级联方式, 即 16 位数据列,可以将本片的 DOU T 接到下一片的 DIN , 需要向 16 位移位寄存器按先后输入高 4 位虚拟位、10 位有效位和低 2 位填充位, 由于增加了高 4 位虚拟位, 所以需要 16 个时钟脉冲。3.3、工作原理及硬件框图3.3.1 TLC5615的时序 TLC5615工作时序如图5所示。当CS为低电平时,在每一个SCLK时钟的上升沿将DIN的一位数据移入

8、16位移寄存器。注意,二进制最高有效位被导前移入。接着,SCLK的上升沿将16位移位寄存器的10位有效数据锁存于10位DAC寄存器,供DAC电路进行转换;当片选CS为高电平时,串行输入数据不能被移入16位移位寄存器。注意,SCLK的上升和下降都必须发生在CS为低电平期间。图5 TLC5615工作时序图3.3.2系统软件算法分析 系统程序主要功能为:设定系统要输出的模拟量的值,首先将十进制数强制转换为二进制数,然后根据TLC5615的时序将数据逐位发送到TLC5615的Din输入端,最后在TLC5615的Out输出端输出转换后的模拟量。系统软件算法基本流程图如图6所示。图6 系统软件算法基本流程

9、图4、软件编程4.1 程序流程图4.2 程序代码#include#include/*PLC5615定义*/sbit sclk=P31;sbit din=P32;sbit cs=P30;void write5615(float dianya_5615) ;/*/TLC5615DA转换器,最大输出为2倍的REFIN的参考电压;/Vout=2*REFIN*da(十位数字信号)/1024 ;/那么da=1024*Vout/(2*REFIN),通过此公式可以提前预置转换后的数据,以便最后测算误差;/前十位数据有用,后两位为填充位,却保为12位数据,可以任意。/*/void write5615(float

10、 dianya_5615) /向TLC5615中写数据 unsigned int shuju; unsigned char j; shuju= (unsigned int)(160*dianya_5615); /160是1024除以2倍的基 准电压(3.2v)得到的 shuju=shuju6; /目的是让这十位有效数据放倒高位去 cs=1; sclk=0; cs=0; for(j=0;j12;j+) _nop_(); sclk=0; _nop_(); din=(bit)(shuju&0x8000); /取shuju右数第十位给din端 _nop_(); _nop_(); _nop_(); sh

11、uju=1; /shuju左移一位 sclk=1; _nop_(); _nop_(); _nop_(); sclk=0; cs=1; void main(void) unsigned int i; for(i=0;i256;i+) write5615(3.54); /3.54为要输出的实际电压5、电路仿真由于转换恒定电压在仿真结果上不是很明显,在这里我们将数据设定为一个变化的信号,以便于仿真结果的查看,在keil软件中输入下列程序,通过设定模拟波形为正弦波,将这些数据存放在一个数组中,然后利用循环将数组的数据循环转换成模拟量输出,代码如下:#include #include #define u

12、int unsigned int #define uchar unsigned char /*/ /* (1)sclk的上升沿把数据移入输入寄存器 */ /* (2)cs的跳变发生在sclk输入低电平 */ /* (3)cs的上升沿把数据从输入寄存器存入Dac寄存器开始转化 */ /* (4)最高位在前 */ /*/ sbit cs=P30; sbit sclk=P31; sbit din= P32; uchar code sine_tab256= /输出电压从0到最大值(正弦波1/4部分) 0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0

13、x9f,0xa2,0xa5,0xa8,0xab, 0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4, 0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1, 0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff, 0xff,0xff,0xff,0xff, /输出电压从最大值到0(正弦波1/4部分) 0xff

14、,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7, 0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde, 0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba, 0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,

15、0x89,0x86,0x83,0x80, /输出电压从0到最小值(正弦波1/4部分) 0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55, 0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b, 0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e, 0x0d,0x0b,0x0a,0x09,0x08,0x07

16、,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00, 0x00,0x00,0x00,0x00, /输出电压从最小值到0(正弦波1/4部分) 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08, 0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20, 0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3

17、d,0x40,0x43,0x45, 0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72, 0x76,0x79,0x7c,0x80; void write_5615(uint da) uchar i; cs=1; sclk=0; cs=0; da=da&0x03ff; /让数据与0011,1111,1111相与得到的是十位有效数据 for(i=0;i12;i+) din=(da &0x0200); /取数据的第十位给din端 sclk=1; da=1; /数据左移一位 sclk=0; sclk=0;

18、 cs=1; _nop_(); _nop_(); void main() uchar i; while(1) write_5615(sine_tabi); i+; 仿真电路图和仿真波形分别如图7和图8所示。图7 仿真电路图图8 程序仿真波形图 由仿真波形图可以看出,本系统可以较好的将提前设定好的数字正弦波转换成为模拟波形图。6、电路原理图7、 PCB版图8、课程设计总结在本次课程设计中,我遇到了很多问题,这是我第一次做课程设计,虽然过程很辛苦,但是我从中学到了很多东西。本次课程设计的重点在于软件算法的设计及硬件之间的接口问题。我之前也写过一些程序,可是从未用过十六进制数的运算。还有就是此次用到

19、的串行DA转换器是我之前没有见过的一个器件,对于单片机的了解也不多,这些都需要去自学。有些事情我们只有去做了才能真正了解并掌握它。从这次课程设计中,我真正意识到理论联系实际的重要性。在以后的学习过程中,我要在学好课本的理论知识之余,多锻炼自己的动手操作能力,这是我在这次课程设计中的最大收获。9、参考文献 1童诗白模拟电子技术基础北京:高等教育出版社,20022张建华数字电子技术北京:机械工业出版社,20043.陈汝全电子技术常用器件应用手册北京:机械工业出版社,20054.毕满清电子技术实验与课程设计北京:机械工业出版社,20055.潘永雄电子线路CAD实用教程西安:西安电子科技大学出版社,2002 6.张亚华电子电路计算机辅助分析和辅助设计北京:航空工业出版社,2004

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1