A standard technique for generating analog voltages using µCs is to use a PWM output and filter the signal with a simple RC filter (Figure 1). The voltage of the PWM signal is directly proportional to the µC's supply voltage, so it is not necessarily clean or stable. To overcome this problem, you can use the circuit in Figure 2. Here, a 74HC14 Schmitt-trigger array serves as an output stage for three PWM signals from an SX18 µC. (The idea applies to other µCs, too.) The 74HC14 derives its supply voltage, VCCA, from the stabilization circuit comprising the inexpensive shunt regulator, SR1. You can adjust VCCA by trimming R1. The test circuit used VCCA=4.096V. The PWM signals now have a stable amplitude that varies less than 0.1% when the µC's supply varies from 4.5 to 5.5V. Resistors R3 to R5 limit the current flowing from the µC through the 74HC14's input-protection diodes when VCCA is too low. The values of R and C depend on the application. The test circuit uses 10 kW and 4.7 µF. If you feed multiple analog (or PWM) signals through a single IC, you usually encounter crosstalk. To characterize the circuit in Figure 1 for internal crosstalk and unmatched delays, conduct the following tests.

Generated three PWM signals with different frequencies and 1-to-1 duty cycles. With a 0-dB reference-level square-wave signal at test point TP1, crosstalk to test points TP2and TP3 measures –70 dB. The first harmonic of the PWM signal (theoretically zero for a 1-to-1 duty cycle) is down 65 dB at test point TP1. At test point TP0, spurs are down 75 dB. So, the circuit in Figure 1 has very good crosstalk characteristics. Also, if the duty cycle of one PWM channel changes, the influence on the voltage that other channels generates is less than 0.1%. You must take care to ensure that the switching delays of the 74HC14 do not change with varying VCC applied to the µC. If the switching delays change with VCC because of the changing levels of the driving signals, VCC influences the generated output voltage, even if VCCA is constant. You can use the circuit for precise generation of voltages, thanks to the temperature stability of the TL431. You can also use it for inexpensive implementations of sigma-delta converters, or to generate voltage-stabilized rectangular waveforms. (DI #2573)

Generate stabilized PWM signals的更多相关文章

  1. STM32F4 How do you generate complementary PWM Outputs?

    How do you generate complementary PWM Outputs? I would like to generate complementary PWM Outputs wi ...

  2. STM32F103ZET6 用定时器级联方式输出特定数目的PWM(转载)

    STM32F103ZET6里共有8个定时器,其中高级定时器有TIM1-TIM5.TIM8,共6个.这里需要使用定时器的级联功能,ST的RM0008 REV12的P388和P399页上有说明对于特定的定 ...

  3. STM32F103ZET6 用定时器级联方式输出特定数目的PWM

    STM32F103ZET6 用定时器级联方式输出特定数目的PWM STM32F103ZET6里共有8个定时器,其中高级定时器有TIM1-TIM5.TIM8,共6个. 这里需要使用定时器的级联功能,ST ...

  4. STM32 TIM 多通道互补PWM波形输出配置快速入门

    platform:stm32f10xxx lib:STM32F10x_StdPeriph_Lib_V3.5.0 前言 在做三相逆变的时候,需要软件生成SVPWM波形,具体的算法需要产生三对互补的PWM ...

  5. STM32 Timer : Base Timer, Input Capture, PWM, Output Compare

    http://www.cs.indiana.edu/~geobrown/book.pdf An example of a basic timer is illustrated in Figure 10 ...

  6. Renesas M16C/6X -- Simple PWM Signal Generation Using DMA

    1. Requirements To generate a PWM output, we need to create a train of pulses with constant period a ...

  7. Make a DAC with a microcontroller's PWM timer

    http://www.edn.com/design/analog/4337128/Make-a-DAC-with-a-microcontroller-s-PWM-timer Many embedded ...

  8. Unused port adds a PWM/analog channel to a microcontroller

    Low-cost, 8-bit, single-chip microcontrollers are stingy when it comes to on-chip PWM (pulse-width-m ...

  9. PWM DAC Low Pass Filtering

    [TI博客大赛][原创]LM3S811之基于PWM的DAC http://bbs.ednchina.com/BLOG_ARTICLE_3005301.HTM http://www.fpga4fun.c ...

随机推荐

  1. 设计模式之笔记--职责链模式(Chain of Responsibility)

    职责链模式(Chain of Responsibility) 定义 职责链模式(Chain of Responsibility),使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系 ...

  2. CSS3 object-fit 图像裁剪

    MDN定义 https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit 该 object-fit CSS 属性指定替换元素的内容应该如何适应 ...

  3. [转载]FFmpeg完美入门[3] - FFmpeg功能及使用说明

    1 ffplay对多媒体的支持能力验证 一.视频3gp 177X144 支持播放,在windows下播放正常,但是在linux下面偶有BUG 如果发现画面无法显示而声音可以播放的情况下可以试着切换全屏 ...

  4. PHP利用rand(1,100)函数产生10个1~100之间的随机数

    //echo rand(1,100); $max=0; $min=100; for($i=0;$i<=9;$i++){ $rand[$i]=rand(1,100); if($rand[$i]&g ...

  5. [ python ] 匿名函数和高阶函数

    匿名函数 描述:    关键字 lambda 定义的函数    语法: 函数名 = lambda 参数:返回值 返回值:    函数返回结果值 实例: 一个参数的匿名函数: func = lambda ...

  6. SVM资料

    解释SMO算法比较好的文档 http://wenku.baidu.com/view/aeba21be960590c69ec3769e.html 参考博客: http://myjuno.blogbus. ...

  7. Linux自身安全SElinux

    查看SELinux状态: 1./usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态 SELinux status:         ...

  8. MySQL-高并发优化

    一.数据库结构的设计 1.数据行的长度不要超过8020字节,如果超过这个长度的话在物理页中这条数据会占用两行从而造成存储碎片,降低查询效率. 2.能够用数字类型的字段尽量选择数字类型而不用字符串类型的 ...

  9. Binary Tree Zigzag Level Order Traversal——关于广度优先的经典面试题

    Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...

  10. C#窗口矩形区域着色

    C#写的一个GUI窗口,有几百个矩形区域.每个矩形区域的颜色随时都可能改变,并且多次改变. 我放弃使用label绘制矩形,因为效果不好.拖控件的界面使用power packs中的rectanglesh ...