基于MSP430单片机的虚拟示波器
扫描二维码
随时随地手机看文章
摘要:虚拟示波器在应用中体现出简易、灵活、便携、易于与PC机通信的特点。该设计中采用超低功耗的MSP430F169单片杌作为控制核心,实现模/数转换,它能保证高运算速度和系统的工作稳定。同时使用高速USB接口与PC机进行数据传输,在PC机端对信号进行分析和再现,实现信号的实时显示和信号的特征分析;系统采用USB供电,不仅可降低功耗,而且易于使用和携带。实验结果表明,该设计达到了预期目标。
关键词:MSP430;USB;虚拟示波器;低功耗系统
0 引言
信息技术的高速发展,对新的技术设备提出了数字化,小型化和低功耗的要求,而虚拟示波器就是为适应这一发展而设计的。MSP430单片机具有集成度高、嵌入模块丰富(12位AD、16位定时器、FLASH、3通道DMA等)、超低功耗、系统稳定等特点,在许多领域得到了广泛的应用。对于一个虚拟示波器,一般通过采集模拟波形,然后由MCU经过A/D转换,产生相应的波形数据,经多级缓冲和传输,再经过相应的数字信号处理(如FFT等),最后通过采样将模拟波形还原出来。MSP430F169单片机内嵌12位A/D转换器,通过前置放大器、信号调理、比例转换后,由单片机完成模数转换,数据将从单片机经由USB接口高速传输至PC机,PC机经过一系列的数字信号处理后将波形显示在PC机控制台上。这一设计,达到了小型化、多样性、高精度、低功耗、便携式、嵌入式的要求,是一个功能齐全的智能化配置的功能设备,较好地体现了MSP430单片机的控制和外围模块丰富的优越性。同时采用USB供电,通过内部电路对电源的分配,达到了低功耗的要求。
1 设计方案
为了开发一种小型化、便携式、低功耗、功能齐全的波形收集、显示的智能化虚拟示波器,提供大学生自主开发和电子设计需要,具备基本硬件测试和分析功能,达到低成本测试平台,设计方案如图1所示。
它主要包含两部分:
(1)对输入信号进行收集、调理、采样和A/D转换,并通过USB传输到计算机端,通过信号处理后显示在计算机屏幕。
(2)采用低功耗器件,保障USB供电,为仪器提供充足的电能。
1.1 电源设计
该设计中单片机是工作在低功耗模式的,因此对系统的电源管理十分重要。为了降低系统的功耗,使用USB为全电路供电,设计了由单片机程控的电源开关。它包括了过电流、过电压保护、低功耗运行模式和休眠,并采用分布供电的方式,从而达到了省电及减低功耗的目的。
由于电路中使用了电压±12 V的程控放大器,因此必将USB的5 V电源通过程控开关转换成±12 V的电源,其电路转换中使用的转换芯片为MAX743。MAX743是双输出的,PWM开关时稳压器。它可以从5 V转换成±12 V或者±15 V电压。它的主要应用特点为:电流变化为100~125 mA、低噪声电流模式反馈、短路保护、可逻辑选择±12 V或±15 V电压输出、内置电源MOS管、拥有±4%的精度、可软件启动等。基于以上特点,它能够有效地进行自我保护,对电压的影响相当小,并且能够容易地将噪声和尖峰滤除,保证了电源信号的质量。
1.2 USB设计
USB块在整个电路中实现的功能为:提供整个电路的电源、实现PC与单片机之间的数据的快速传输。
使用USB控制芯片PDIUSBD12实现USB数据传输的控制,利用miniUSB接口实现PC机与采集板的连接。PDIUSBD12提供了高达12 Mb/s的传输速率,可以进行存储器直接寻址,即DMA传输,既加大了数据吞吐量,同时也提高了数据传输速度。PDIUSBD12所具有的低挂起功耗功能,连同LazyClock输出可以满足使用ACPIOnNOW和USB电源管理的要求,低的操作功耗,也可以应用于使用总线供电的外设。PDIUSBD12芯片接收来自于单片机的8位数据,通过来自单片机的控制信号,实现数据通过miniUSB接口到PC机的串行数据传输。
1.3 MSP430内嵌模数转换器
要将收集到的波形转换成一系列的数据量,以便于进一步的处理和研究,A/D转换是必不可少的。在这里,为了提高转换效率和转化速率,同时为了控制方便以、数据的存储的可靠性与快速存储,使用了单片机内部的A/D转换模块来进行A/D转换。而使用单片机内部的模块也能够减小系统的功耗与使用的元器件的数量。
ADC12模块内置了6种可编程选择的参考电源,使用时可以根据不同要求进行选择。ADC12共有12个转换通道,设置了16个转换存储器用于暂存结果,通过合理的软件设置后,ADC12硬件会自动将结果存放到相应的ADC12MEM寄存器中。通过ADC12的转换得到波形的数据,经过单片机内部的DMA数据传输后可将其送到USB端,从而发送给PC机处理。图2为单片机到PC机的数据传输。
计算机端应用程序使用C sharp语言开发。其目的是将接收的数据转换成模拟波形从而显示在计算机上其控制台如图3所示。
2 PC控制台及编程
计算机端程序需要不断地将波形显示在主界面上,主按钮触发后将调用backgroundworker控件生成一个新的线程来不断发送采样命令、接收设备传来的数据以及将数据进行恢复显示。新建线程使后台处理过程中主界面仍然可以响应用户的请求。在显示过程中需要对波形显示的幅度大小和时间间隔调整,这是通过主界面提供的控件设置控制变量,新线程使用这些变量恢复和显示波形实现的。
3 实验
虚拟示波器通过接收一个信号,然后显示在PC机控制台上。同时对两个端点进行了测试;信号采集输入端和单片机接收端。在图4中,(a)为输入波形,(b)为在单片机接收端的波形。可以看出,波形经转换后送到单片机接口的信号很好。同时已经加入直流偏置,符合单片机转换的要求。单片机转换后的数据经USB传输到PC机上进行显示。图5为在PC机上显示的波形,它的实现依赖于软件的编程。
使用信号发生器作为信号输入,使用MOS-620示波器对信号进行校准。表1中通过对测试数据的分析,参数在精度上的误差基本控制在5%以内。但对于频率较大的信号,由于和采样频率相近,其频率会有较大的误差。在波形显示上满足了设计要求,能够满足采集最大频率为100 kHz的波形。
4 结语
本文采用性能优越的MSP430F169作为控制核心。通过USB与PC机进行数据交换,利用PC机进行人性化的操作。通过USB的设计实现了数据的快速传输,利用USB供电,使用电源管理的方法对电源进行分配,单片机对电源开关进行控制,既实现了电源的可控性,又降低了功耗。使用MSP430在低功耗模式下,内部的A/D模块能够实现快速而精准的A/D转换。通过各个部分的硬件设计在相关软件的辅助下实现了要求波形的显示,完好达到了虚拟示波器的设计。