0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

低功耗MSP430数据采集系统的USB接口设计

电子设计 来源:陈翠 2019-02-06 19:52 次阅读

实现系统运行的最小功耗是现代电子系统的普通取向,也是绿色电子的基本要求。采有最小功耗设计方法既能减少电子设备的使用功耗,又能减少备用状态下的功率消耗。在节省能源的同时还有利于减少电磁污染,有利于电子系统向便携式方向发展,有助于提高系统的可靠性。

现代工业生产和科学研究对数据采集的要求日益提高。在许多场合要求数据采集系统向便携化方向发展,要求系统具有体积小、功耗低、传输速率快、使用方便灵活等特点。在数据采集系统中,如何节省电能以使系统工作时间更长,如何通信才能使系统数据传输速度更快,已经成为系统开发过程中必须加以考虑的主要内容。

微控制器MSP430的超低功耗技术在众多单片机中独树一帜,同时它具有集成高度等特点,因此,选用该控制器作为系统的主控制器,实现数据采集和Flash存储等功能。此外,USB端口与以往的普通端口(串口与并口)相比具有传输速度快、功耗低、支持即插即用、维护方便等优点;因此在通信设计时,结合UARTUSB芯片CP2101以实现USB接口通信。上述设计既利用了MSP430的超低功耗特性,又利用了CP2101设计USB接口的简便性,设计得到的数据采集系统可以实现便携化、低功耗、使用方便等目标。

1 MSP430数据采集系统的USB接口设计

1.1 采信系统简介

本系统实现多路数据的采集、Flash存储及USB通信等功能。单片机系统主要完成信息采集、A/D转换、对信号进行放大滤波处理、数据通信、Flash存储等;实时时钟记录采集数据的时间;CP2101实现USB接口,并把单片机采集到的信号传给微机;微机完成数据接收、存入数据库、数据处理、计算、显示等功能。

1.2 超低功耗MSP430微控制器

MSP430是TI公司近几年推出的16位系列单片机。它采用最新的低功耗技术,工作在1.8~3.6V电压下,有正常工作模式(AM)和4种低功耗工作模式(LPM1、LPM2、LPM3、LPM4);在电流电压为3V时,各种模式的工作电流分别为AM:340μA、LPM1:70μA、LPM2:17μA、LPM3:2μA、LPM4:0.1μA,而且可以方便地在各种工作模式之间切换。它的赶低功耗性在实际应用中,尤其是电池供电的便携式设备中表现尤为突出。在系统初始化后进入待机模式,当有允许的中断请求时,CPU将在6μ的时间内被唤醒,进入活动模式,执行中断服务程序。执行完毕,在RETI指令之后,系统返回到中断前的状态,继续低功耗模式。

本设计采用MSP430F13X微控制器。它具有非常高的集成度,单片集成了多通道12位A/D转换、PWM功能定时器、斜边A/D转换、片内USART、看门狗定时器、片内数控振荡器DCO)、大量的I/O端口、大容量的片内RAMROM以及Flash存储器。其中Flash存储器可以实现掉电保护和软件升级。

1.3 USB接口芯片选型

通用串行总线USB是由Intel厂商制定的连接计算机与具有USB接口的多种外设之间通信的串行总线。传统上,USB接口的开发较为复杂。在同其它USB接口芯片相比较之后,本设计选择了无需外部元件的UART转USB芯片CP2101。选择这种接口芯片,可使USB通信接口设计变得十分容易。与同类产品相比,CP2101具有以下优点:

①具有较小的封装。CP2101为28脚5mm×5mm MLP封装。这在PCB上的尺寸就比竞争对手小30%左右。

②高度成度。片内集成512字节EEOROM(用于存储厂家ID等数据),片内集成收发器、无需外部电阻;片内集成时钟,无需外部晶体。

③低成本,可实现USB转串口的解决方案。CP2101的USB功能无需外部元件,而大多数竞争者的USB器件则需要额外的终端晶体管、上拉电阻、晶振和EEPROM。具有竞争力的器件价格,简化的外围电路,无成本驱动支持使得CP2101在成本上的优势远超过竞争者的解决方案。

④具有低功耗、高速度的特性,符合USB2.0规范,适合于所有的UART接口(波特率为300bps~921.6kbps)。工业级温度范围为-40℃~85℃)。

2 USB通信的硬件接口电路

硬件电路如图1所示。CP2101的SUSPEND与SUSPEND引脚接到MSP430F13X的普通串口上。这两个引脚传送USB挂起和恢复信号,此功能便于CP2101器件以及外部电路的电源管理。当在总线上检测到挂起信号时,CP2101将进入挂起模式,可以节省电能。在进入挂起模式时,CP2101会发出SUSPEND与SUSPEND信号。为了避免SUSPEND与SUSPEND在复位期间处于高电平,使用10kΩ的下拉电阻确保SUSPEND在复位期间处于低电平。

CP2101的USB功能控制器管理USB和UART间所有的数据传输,以及由USB主控制器发出的命令请求以及用于控制UART功能的命令等。CP2101的UART接口处理所有的RS232信号,包括控制和握手信号。CP2101的VBUS与VREGIN引脚必须始终连到USB的VBUS信号上。在VREGIN的输入端加去耦电容(1μF与0.1μF并联)。CP2101与单片机接口是标准UART电平,与计算的USB端口连接是USB标准电路,因此,无论与3V还是5V供电的单片机连接都不需要电平转换。

低功耗数据采集系统的USB接口设计

3 USB通信接口的软件程序设计

USB接口程序设计包括三部分:单片机程序开发、USB设备驱动程序开发、主机应用程序开发。三者互相配置才能完成可靠、快速的数据传输。其中USB设备驱动程序Cygnal公司已经提供。这里所要编写的是剩下的两部分。一部分为单片机MSP430F13X的串行通信程序,即对波特率、数据位、校验位、有无奇偶校验等通信协议的设计及单片机串行通信功能控制器的设置;另一部分为主机对CP2101的通信程序,这部分要在VC++环境中调用API函数实现。

3.1 单片机程序设计

在IAR Embedded Workbench嵌入式集成开发环境中,编写单片机通信程序,可实现在线编辑修改。MSP430的内核CPU结构是按照精简指令集和高透明指令的宗旨来设计的,使用的指令有硬件执行的内核指令和基于现有硬件结构的高效率的仿真指令。以下为系统发送数据的部分应用程序(包括初始化及触发UART端口程序):

#include "msp430x13x.h"

/*************************串口*************************/

void send_byte(char sdata){

TXBUF0=sdata; /*发送数据缓存(UTXBUF0)*/

while(IFG1 & TUXIFG0)==0);/*目的操作数位测试,发送中断标志*/

}

/*************************main*************************/

void main (void){

char a;

uint a=0x0055;

WDTCTL=WDTPW+WDTHOLD;/*停看门狗,WDTCTL看门狗寄存器*/

UCTL0=CHAR;/*8位接收控制寄存器URCTL线路空闲u24322异步u26080无反馈8位1位停止位u26080无校验位*/

UTCTL0=SSEL0;/*发送控制寄存器UTCTL0,UCLK=ACLK时钟*/

UBR00=0x0D;/*32Kb/2400b=13.65,波特率选择寄存器*/

UBR10=0x00;/*高字节*/

UMCTL0=0x6B; /*调节*/

ME1|=UTXE0+URXE0;

/*开USART0 TXD/RXD接收/发送允许*/

IE1|=URXIF0;/*打开USART0 RX接收中断允许位*/

P3SEL|=0x30;/*P3.4,5=USART0 TXD/RXD,选择外围模块功能*/

P3DIR|=0x10;/*目标操作数置位,P3.4=1,输出模式*/

_EINT();/*开中断*/

//主循环

for(;;)

{send_byet(a++);}

}

3.2 USB设备驱动程序的安装

当把开发板接到主机的USB端口时系统会提示发现新硬件,并要求安装驱动程序:

先安装CP2101的驱动程序CP2101_Drivers.exe到C:Filesto RS-232 Bridge Controller.

完成上面两步的安装后,在系统的设备管理器中会看见CP2101虚拟的那个COM口。在以后的设计中就是对这个口进行操作。此时可能应用串口调试助手调试下位机程序,接收发送数据。

3.3 主机应用程序设计

主机应用程序的编写使用VC++编译环境中的API(应用程序设计接口)函数实现。应用程序的设计方法与串口编程类似。首先必须查找设备并打开设备的句柄,然后进行读写和控制操作,最后是关闭设备句柄。为了提高效率,可使用多线程技术实现读写。具体步骤如下:

①把CP2101的动态链接库CP2101.DLL文件拷贝到,或者路径下。当程序运行时就能调用CP2101.DLL。

②在visual studio6.0中打开CP2101SetIDs.dsw,选择Release或者Debug建立CP2101.EXE工程文件。

③在VC++6.0中链接CP2101.LIB,这时就可以应用CP2101的动态链接库了。

④在VC++里进行编程,用API功能函数对USB堆栈、CP2101的EEPROM及数据传输的通信协议等进行编程。

当数据传输完毕时,应用CP2101_Close()函数关闭设备句柄。可以根据实际应用修改CP2101的VID和PID,并用相应函数写进CP2101的EEPROM中。但须注意的是,修改后要用CP2101_Rest()函数使CP2101复位并重新安装驱动程序。

4 结论

通过试验证明,本设计能够很好地完成USB通信,达到了预期的目的。应用超低功耗MSP430微控制器与CP2101实现USB通信接口设计,具有体积小、功耗低、开发简单、可靠性高、移植性强等特点。在此基础上开发的低功耗数据采集系统具有很大的优越性。这种设计可以加以推广应用到其它便携式设备开发中。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • USB接口
    +关注

    关注

    9

    文章

    672

    浏览量

    54979
  • 低功耗
    +关注

    关注

    9

    文章

    2224

    浏览量

    102639
  • 数据采集系统

    关注

    4

    文章

    224

    浏览量

    30709
收藏 人收藏

    评论

    相关推荐

    分享一个不错的基于MSP430USB数据采集系统

    本文以沥青桥面防水层检测仪为背景,阐述了基于MSP430USB数据采集系统
    发表于 05-31 06:01

    基于MSP430单片机的超低功耗数据采集器设计

    介绍一种以MSP430系列单片机为核心的数据采集器,以零功耗磁敏传感器作为采集前端,适用于远传抄表系统
    发表于 01-08 21:06 29次下载

    基于MSP430和SD卡的低功耗压力采集系统

    为了采集并存储压力信号,提出了基于MSP430 单片机和SD 卡存储器的压力信号数据采集与存储系统,该系统成功解决了压力测量中的低噪声、
    发表于 01-25 15:47 96次下载

    基于MSP430和SD卡的低功耗压力采集系统

    为了采集并存储压力信号,提出了基于MSP430 单片机和SD 卡存储器的压力信号数据采集与存储系统,该系统成功解决了压力测量中的低噪声、
    发表于 01-25 15:48 7次下载

    基于MSp430的微功耗数据采集系统的开发应用

    基于MSp430的微功耗数据采集系统的开发应用 0 引言     以电池作为电源的水下数据采集
    发表于 12-18 10:12 768次阅读

    MSP430和CC2500的USB无线数据采集系统

    MSP430和CC2500的USB无线数据采集系统 摘要:设计基于MSP430单片机和CC2500无线收发器的
    发表于 04-13 13:25 1565次阅读
    <b class='flag-5'>MSP430</b>和CC2500的<b class='flag-5'>USB</b>无线<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>

    基于MSP430低功耗温度采集

    基于MSP430低功耗温度采集仪,详细介绍
    发表于 04-29 17:14 3次下载

    基于MSP430的16位低功耗的原理

    本文档内容介绍了基于MSP430的16位低功耗的原理及实现,包括MSP430系列单片机的系统框架图。
    发表于 09-21 09:46 5次下载
    基于<b class='flag-5'>MSP430</b>的16位<b class='flag-5'>低功耗</b>的原理

    基于超低功耗MSP430单片机设计数据采集系统

    基于超低功耗MSP430单片机设计数据采集系统
    发表于 10-12 09:53 13次下载
    基于超<b class='flag-5'>低功耗</b><b class='flag-5'>MSP430</b>单片机设计<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>

    MSP430低功耗温度采集

    MSP430低功耗温度采集
    发表于 10-12 10:05 15次下载
    <b class='flag-5'>MSP430</b>的<b class='flag-5'>低功耗</b>温度<b class='flag-5'>采集</b>仪

    基于MSP430的风力风向无线数据采集系统

    基于MSP430的风力风向无线数据采集系统
    发表于 10-13 08:41 14次下载

    MSP430多参数数据采集系统的设计详析

    设计了一种基于 MSP430 单片机的多参数数据采集系统
    发表于 04-24 11:17 7次下载
    <b class='flag-5'>MSP430</b>多参数<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>的设计详析

    关于MSP430单片机的数据采集系统

    介绍了一种用 TI 公司新一代 16 位单片机 MSP430 系列的 MSP430F169 设计的实时数据采集系统
    发表于 04-27 16:53 3次下载
    关于<b class='flag-5'>MSP430</b>单片机的<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>

    MSP430单片机和USB数据采集器设计详析

    MSP430 单片机和USB 为基础,介绍一种小型扭矩测试仪中数据采集器的设计,给出了相应的工作原理、硬件和软件设计方案。整个系统具有体积小、功耗
    发表于 05-04 10:20 5次下载
    <b class='flag-5'>MSP430</b>单片机和<b class='flag-5'>USB</b>的<b class='flag-5'>数据采集</b>器设计详析

    基于MSP430F149单片机的无线低功耗大容量数据采集记录系统设计

    基于MSP430F149单片机的无线低功耗大容量数据采集记录系统设计
    发表于 10-26 14:27 2次下载