基于C8051FF330D单片机的程控恒流源设计
摘要: 给出了用C8051FF330D的内部电流型D/A转换器和电流/电压转换电路来输出0~4V的模拟信号量, 用于控制恒流源输出电流, 并使其按设定的值进行变化, 从而完成可编程恒流源控制器的设计方法。利用该方法设计的程控恒流源具有电流纹波小、控制精度高和运行稳定等特点。
0 引言
在飞速发展的电子和电信技术系统中, 电源的优劣在一定程度上决定着电信设备的性能和寿命。因此, 人们对程控恒流器件的需求也日益迫切。虽然目前市场上的数控恒压技术已经比较成熟, 数控电压源产品也已朝着智能化和小型化的趋势发展, 且价格也越来越便宜。但是, 在恒流源方面, 尤其是数字控制的恒流技术则由于起步较晚, 高性能的数控恒流器件的开发和应用存在着巨大的发展空间。为此, 本文以C8051FF330D单片机为控制核心, 并利用C8051FF330D的I2C串行总线扩展外围器件, 同时以模块化设计方法,设计了一种程控恒流源。而且整个电源还具有功耗低、体积小, 电流纹波小、控制精度高和运行稳定等特点。
1 系统总体结构
该程控恒流源设计主要采用C8051FF330D单片机内部的10位电流型数模转换器和电流/电压转换电路来输出0~4 V的模拟量, 然后用这个电压信号来控制恒流源的输出电流, 以使其按照给定值变化。由于本系统扩展了I2C串行总线接口,以及以ZLG7290为核心的键盘和LED数码管显示器电路, 因而可用键盘进行电流值和时间间隔的设定, 其电流值设定范围为0~10 A, 时间间隔为0~10小时。另外, 系统还具有掉电保护功能, 故当其恢复用电后, 可使电流源从断点处恢复运行。
图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内部电路中的数模转换器输出的0~1 mA电流信号通过基准电阻转换为0~2 V的电压信号后, 再经过放大电路转换为0~4 V的标准信号输出。其模拟量输出信号转换电路如图2所示。
图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 主程序流程图
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)
- 濡ゅ倹岣挎鍥╀焊閸曨垼鏆ョ€规悶鍎抽埢鑲╂暜閸繂鎮嬮柟瀛樺姇閻撹法鎷嬮鐔告畬缂佸顑呴〃婊呮啑閿燂拷
闁稿繈鍔嶉弻鐔告媴瀹ュ拋鍔呭☉鏃傚Т閻ㄧ姵锛愰幋婊呯懇濞戞挻姘ㄩ悡锛勬嫚閸☆厾绀夐柟缁樺姇瀹曞矂鎯嶉弬鍨岛鐎规悶鍎扮紞鏃堟嚄閽樺顫旈柨娑樿嫰婵亪骞冮妸銉﹀渐闂侇偆鍠愰崹姘舵⒐婢舵瓕绀嬪ù鍏坚缚椤懘鎯冮崟顐ゆ濡増鍨垫导鎰矙鐎n亞鐟�...
- 濞戞搩鍘炬鍥╀焊閸曨垼鏆ョ€规悶鍎抽埢鑲╂暜閸繂鎮嬮柟瀛樺姇閻撹法鎷嬮鐔告畬缂佸顑呴〃婊呮啑閿燂拷
缂侇噣绠栭埀顒婃嫹30濠㈣埖宀稿Λ顒備焊閸曨垼鏆ラ柛鈺冾攰椤斿嫮鎷犻崜褉鏌ら柨娑樺缁楁挾鈧鍩栧璺ㄦ嫚閹惧懐绀夐柛鏂烘櫅椤掔喖宕ㄥΟ鐑樺渐闂侇偆鍠曢幓顏堝礆妫颁胶顏卞☉鎿冧簻閹酣寮介悡搴f濡増鍨垫导鎰矙鐎n亞鐟庨柣銊ュ椤╋箑效閿燂拷...
- Agilent ADS 闁轰焦鐟ラ鐔煎春绾拋鍞查悹鍥у⒔閳诲吋绺藉Δ鍕垫
濞戞挻鎸搁宥夊箳閸綆鍤﹂柨娑樿嫰閸欏繘妫冮姀锝庡敼閻熸瑯鏋僁S闁告艾瀚~鎺楀礉閻旇鍘撮柛婊冭嫰娴兼劗绮欑€n亞瀹夐柣銏╃厜缁遍亶宕濋埡鍌氫憾闁烩偓鍔嶅〒鍫曟儗椤撶姵鐣遍柡鍐ㄧ埣濡法鈧冻缂氱槐鐧咲S...
- HFSS閻庢冻缂氱弧鍕春绾拋鍞查悹鍥у⒔閳诲吋绺藉Δ鍕垫
閻犙冨缁讳焦绋夐幘鎰佸晙闁瑰搫鐗愰鎶芥晬鐏炶棄寮块梻鍫涘灱椤斿骞掗崷娆禨S闁汇劌瀚慨娑㈡嚄閽樺瀚查幖瀛樻⒒閺併倝鏁嶇仦钘夌盎闁告柡鏅滈崑宥夊礂閵娾晜妗ㄧ紒顖濆吹缁椽宕烽弶娆惧妳濞戞梻濮电敮澶愬箵椤″锭SS...
- CST鐎甸偊鍠楃亸婵嗩啅閵夈倗绋婇悗骞垮€曢悡璺ㄦ媼椤撶喐娈岀紒瀣儏椤ㄦ粎鎲楅敓锟�
闁哄瀛╁Σ鎴澝虹€b晛鐦滈悹浣筋嚋缁辨繈宕楅妸鈺傛〃閻犱礁寮跺绶維T闁告艾瀚伴妴宥夊礉閻旇鍘撮柛婊冭嫰娴兼劗绮欑€n亞瀹夐柣銏╃厜缁辨繈宕濋埡鍌氫憾闊浂鍋婇埀顒傚枙閸ゆ粎鈧冻闄勭敮澶愬箵椤″T閻犱焦宕橀鍛婃償閺冨倹鏆�...
- 閻忓繐瀚伴。鍫曞春閾忚鏀ㄩ柛鈺冾攰椤斿嫮鎷犻崜褉鏌�
濞戞挸娲g粭鈧Δ鍌浬戦妶濂哥嵁閸愬弶鍕鹃悹褍鍤栫槐婵囨交濞嗗海鏄傞悹鍥у⒔閳诲吋绋夋潪鎵☉闁革负鍔岄惃鐘筹紣閹寸偛螚闁哄牜鍨堕。顐﹀春閻旀灚浜i悘鐐存礃鐎氱敻鎳樺鍓х闁瑰灚鎸风粭鍛村锤濮橆剛鏉介柣銊ュ缁楁挻绋夊顒傚敤缁绢厸鍋�...
- 鐎甸偊鍠楃亸婵堜焊閸曨垼鏆ユ繛鏉戭儔閸f椽骞欏鍕▕闁糕晝顢婇鍕嫚閸撗€鏌ら柛姘墦濞夛拷
閻犳劦鍘洪幏閬嶅触閸儲鑲犻柡鍥ㄦ綑閻ゅ嫰骞嗛悪鍛缂傚啯鍨甸崹搴ㄥΥ娓氣偓椤e墎鎷崣妯哄磿闁靛棔鑳堕妵姘枖閵忕姵鐝ら柕鍡曟娣囧﹪宕i柨瀣埍闁挎稑鏈崹婊呮啺娴e湱澹夐柡宥夘棑缁ㄥ潡鏌呴敓锟�...