C8051FF330D单片机程控恒流源设计_第1页
C8051FF330D单片机程控恒流源设计_第2页
C8051FF330D单片机程控恒流源设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档C8051FF330D单片机程控恒流源设计 摘要: 给出了用C8051FF330D的内部电流型D/A转换器和电流/电压转换电路来输出04V的模拟信号量, 用于控制恒流源输出电流, 并使其按设定的值进行变化, 从而完成可编程恒流源控制器的设计方法。利用该方法设计的程控恒流源具有电流纹波小、控制精度高和运行稳定等特点。0 引言在飞速发展的电子和电信技术系统中, 电源的优劣在一定程度上决定着电信设备的性能和寿命。因此, 人们对程控恒流器件的需求也日益迫切。虽然目前市场上的数控恒压技术已经比较成熟, 数控电压源产品也已朝着智能化和小型化的趋势发展, 且价格也越来越便宜。但是, 在恒流源方面, 尤其是数字控制的恒流技术则由于起步较晚, 高性能的数控恒流器件的开发和应用存在着巨大的发展空间。为此, 本文以C8051FF330D单片机为控制核心, 并利用C8051FF330D的I2C串行总线扩展外围器件, 同时以模块化设计方法,设计了一种程控恒流源。而且整个电源还具有功耗低、体积小, 电流纹波小、控制精度高和运行稳定等特点。1 系统总体结构该程控恒流源设计主要采用C8051FF330D单片机内部的10位电流型数模转换器和电流/电压转换电路来输出04 V的模拟量, 然后用这个电压信号来控制恒流源的输出电流, 以使其按照给定值变化。由于本系统扩展了I2C串行总线接口,以及以ZLG7290为核心的键盘和LED数码管显示器电路, 因而可用键盘进行电流值和时间间隔的设定, 其电流值设定范围为010 A, 时间间隔为010小时。另外, 系统还具有掉电保护功能, 故当其恢复用电后, 可使电流源从断点处恢复运行。图1所示是本系统的硬件组成结构。其中,时钟电路采用外部晶体振荡器来提高时钟精度,JTAG接口电路则为系统提供全速、非侵入式的在线系统调试接口, 而外部复位电路可用于强制MCU进入复位状态。图1 系统硬件组成结构图2 硬件电路设计2.1 模拟量输出接口电路C8051F330D内部有一个10位电流型的D/A转换器IDA0, 它的最大输出电流具有0.5 mA、1 mA和2 mA三种不同的设置。同时, IDA0还具有灵活的输出更新机制, 并允许无缝满度变化, 可支持无抖动波形更新。IDA0的三种更新方式分别为写IDA0H、定时器溢出和外部引脚边沿出发。本设计采用P1.0输出, 并采用定时器溢出的更新方式。C8051F330D内部电路中的数模转换器输出的01 mA电流信号通过基准电阻转换为02 V的电压信号后, 再经过放大电路转换为04 V的标准信号输出。其模拟量输出信号转换电路。图2 模拟量输出信号转换电路2.2 掉电保护电路在电信和其他通信系统中, 如果设备断电,将给系统造成巨大损失, 甚至可能使系统瘫痪。为了避免系统掉电情况的发生, 本设计采用FM24CL04作为非易失存储器来保护系统参数及其它中间数据。与EEPROM不同, FM24CL04可以以总线速度进行写操作, 它使用的是工业标准两线I2C接口, 图3所示是本电源系统附带的掉电数据保护电路。图3 掉电数据保护电路由于FM24CL04存储器的写入速度极快, 因此, 在一个高噪声的通信环境中, 它受到干扰的可能性很小。此外, FM24CL04使用二线制串行总线及握手协议来进行双向传输, 由于这种方式占用的引脚少, 因此, 系统线路板占用的空间也比较小。2.3 键盘及显示电路本系统配置有4位键盘和8位LED数码管显示电路, 以用于显示编程数据和参数。键盘显示器接口电路采用广州周立功单片机发展有限公司的专用芯片ZLG7290B数码管显示驱动和键盘管理芯片。该芯片能够直接驱动8位共阴式数码管或者64位独立的LED, 同时, 也可以扫描和管理64位按键。本电路将ZLG7290B通过I2C总线与单片机进行连接, 仅需要两根信号线即可传递数据。同时, 采用ZLG7290B专用芯片还可以简化电路和程序, 减轻电路的调试负担。而且, 作为工业级显示驱动芯片, ZLG7290B也具有较强的抗干扰能力。图4 所示是由C8051F330D 单片机和ZLG7290B专用显示驱动芯片组成的键盘及显示驱动电路原理图。 图4 键盘显示驱动电路一般情况下, 在设计时, 为了使电源更加稳定, 可在图4电路的VCC和GND之间接入电解电容。由于电路中的数码管在工作时要消耗较大的电流, 因此, 其限流电阻的典型值可取的更大一些。另外, 由于数码管扫描和键盘扫描线共用,因此, 本电路采用二极管来防止按键对数码管显示的干扰。3 软件设计3.1 主程序设计本系统采用C语言来进行软件设计, 以实现系统的各项功能。系统应用程序采用模块化结构设计, 主要包括主程序、参数调用修改子程序、DAC0初始化程序等。图5所示是其主程序流程图。图5 主程序流程图3.2 模块函数程序设计模块函数程序主要是为结构化模块设计定义一些函数, 如各定时器的初始化函数、SMBUS初始化及处理函数、DAC0的初始化和处理函数,另外, 也包括往铁电存储器中写入字节的函数和从目标地址读取数据等函数。其中DAC0的初始化程序代码如下:Void DAC_Init (void)REF0CN =0X30; /*内部偏压发生器和电压基准缓冲器工作, 基准从VREF脚输出*、ID0CB =0XF2;存储器写入函数如下:Viod EEPROM_ByteWrite ( uchar i2caddr,uchar addr, uchar dat )While (smb_busy)Smb_busy = 1;Target = i2caddr;Smb_w =write;Smb_sendwordaddr = 1;Smb_randomread = 0;Smb_ackpoll =1;Word_addr = addr;Smb_singlebyte_out = dat;Psmb_data_out =&smb_singlebyte_out;Smb_data_len =1;Sta = 1;……4 结束语本文给出了用C8051FF330D的内部电流型D/A转换器和电流/电压转换电路来设计可编程恒流源控制器的设计方法。由于C8051F330D单片机的运算速度比普通单片机要快, 而且功耗比较低, 同时内置有DAC和ADC, 由此可在电子

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论