基于MSP430与uPD720200的高速温度采集系统的设计

发布者:TranquilJourney最新更新时间:2020-11-11 来源: elecfans关键字:MSP430  uPD720200  高速温度采集系统 手机看文章 扫描二维码
随时随地手机看文章

USB3.0高速数据采集系统,以其5Gbps的带宽和即插即用等优越的性能,越来越受到人们的重视。目前常用的USB3.0通信芯片主要有来自美国赛普拉斯(CYPRESS)公司开发的EZ USB FX3系列芯片和日本NEC公司开发的uPD720200系列芯片。二者不仅都具有集成度高、功能强大、兼容USB2.0等优点,而且两个厂家都提供了功能强大的开发工具包,能极大缩短开发周期,而深受开发者喜爱。目前一些采集系统采用传统的51系列单片机为主控芯片,则不能充分发挥USB3.0的带宽,性能不佳。虽然CPLD芯片可以工作在很高的频率,但不及单片机灵活易用,故本文采用美国TI公司最新高速的ADS7886芯片为A/D转换芯片,最新的MSP430单片机作为主控芯片,NEC公司的UPD720200作为USB3.0通信芯片,研究和设计了一套基于USB3.0总线的温度数据采集系统。经测试,本系统能实现高速温度数据采集。


1 系统硬件设计

系统总体框架如图1所示。温度传感器采集的信号经A/D转换芯片ADS7886转换为数字信号后,送入主控芯片MSP430,再经处理后发送到USB3.0主机接口芯片uPD720200,最后数据以5Gbps的速度送入到USB主机。

基于MSP430与uPD720200的高速温度采集系统的设计

1.1 A/D模块

该模块使用美国TI公司最新高速的A/D采样芯片ADS7886。ADS7886是12位串行高速精密A/D芯片,为了提高系统的精度,我们设计采用了REF3030芯片提供3V的基准电压。A DS7886的第3脚为模拟信号输入端口,第4脚为1MHz的工作时钟信号输入端口,第6脚为片选信号端,第5脚为模拟信号转换为数字信号后的输出端,供MSP430单片机读取。

基于MSP430与uPD720200的高速温度采集系统的设计

1. 2 MSP430最小系统模块

MSP430的最小系统如图3所示,主要由MSP430单片机、晶振电路和电源构成。其中P1.4为ADC7886串行数据输入端,P2.0~P2.3用于连接USB3.0通信芯片uPD720200,P1.6和P1.7连接两个LED指示灯,用来显示当前的工作状态。

基于MSP430与uPD720200的高速温度采集系统的设计

1.3 USB传输模块

该模块如图4所示,我们选用了NEC公司的uPD720200作为USB3.0通信芯片,其完全遵循USB3.0的通信协议和接口规范。uPD720200的引脚U3TXDP1、U3TXDN1、U3RXDP1、U3 RXDN1分别与MSP430的引脚P2.0~P2.3连接。

基于MSP430与uPD720200的高速温度采集系统的设计

其工作原理如下:采集数据时,uPD720200收到用户的数据采集请求后,将形成相应的控制信号,通过P2.2、P2.3下传递给MSP430;MSP430随后对ADS7886发出采集数据的控制信号,并将ADS7886采集的数据,通过P2.0、P2.1后上传至uPD720200;uPD720200的SIE(串行接口引擎)再将数据送入指定的接收缓冲区内,供USB上位机读取。


2 系统软件设计

系统软件的开发包含了MSP430和uPD720200的固件程序开发、uPD720200的windows驱动程序开发以及USB上位机应用程序的开发。我们可以利用NEC公司提供的开发包,大大缩短开发周期,提高开发效率。


MSP430固件程序主要完成对A/D芯片ADS7886的控制和对uPD720200芯片的通信,其将ADS7886芯片采集的数据传送给uPD720200。MSP430的固件开发需对相应的引脚和时序进行定义,为此我们采用了C51语言编写,开发环境为Keil uVision4.0。uPD720200固件程序的主要功能是让其将MSP430芯片传来的数据传输到上位机,实现超高速数据传输。uPD 720200完全符合USB3.0协议,固件程序主要为设置与操作其内部的控制寄存器。NEC公司为开发者提供了功能强大的uPD720200 SDK开发包,可以非常方便地开发出其固件和Wind ows驱动程序。在上位机的应用程序的开发方面,NEC公司同样为用户提供了相应的操作简单、功能强大的C++编程接口库函数。我们选用了Microsoft Visual Studio2008作为开发工具,通过相应的库函数与设备驱动程序传递数据,实现了实时数据采集功能。


3 总结

本文详细介绍了采用uPD720200为接口USB3.0芯片、MSP430为主控芯片,设计与开发了一套USB3.0温度采集传输系统。NEC公司为uPD720200提供了完整的SDK开发包,缩短了开发周期。我们采用的MSP430系列单片机在25MHz晶体的驱动下,实现40ns的指令周期,再加上16位的数据宽度,其运算速度相对传统的51系列单片机非常快,能充分发挥USB 3.0的带宽。虽然受ADS7886芯片采样速率的影响,没有实现超速数据采集,但MSP430与uPD720200组合无疑是高速数据采集系统开发方面的一种低价高效的优秀方案。

关键字:MSP430  uPD720200  高速温度采集系统 引用地址:基于MSP430与uPD720200的高速温度采集系统的设计

上一篇:基于MSP430和CC3000的无线智能控制系统
下一篇:用MSP430控制的可调速风扇散热系统方案

推荐阅读最新更新时间:2024-11-10 00:17

MSP430之点灯入门
/*************************************************** 程序功能:控制8个LED闪烁,控制灯的流向以及流速 --------------------------------------------------- ***************************************************/ #include msp430x14x.h /*下面关闭所有的IO口*/ #define close_IO P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF;P3DIR = 0XFF;P3OUT = 0XFF;
[单片机]
MSP430单片机__delay_cycles精确延时的说明及改正
在这里, 我来讨论一下关于MSP430单片机使用__delay_cycles延时的问题. IAR for MSP430编译器提供了一个编译器内联的精确延时函数(并非真正的 函数)以提供用户精确延时使用, 该函数原型是: __intrinsic void __delay_cycles(unsigned long __cycles); 该内部函数实现__cycles个CPU周期的延时,但对于该参数的设置,我要陈述一下: __cycles需要我们传递的是CPU运行的周期个数 网上普遍的用法是: #define CPU_CLOCK 8000000 #define delay_us(us)
[单片机]
官网中MSP430G2553数据表及用户指南的简单了解
数据表只是一个入门,要深入开发,需要学习用户指南 数据表的了解 需要关注的第一个知识点是2553的引脚排列 在板子上插了一块20引脚的双列直插的M430G2553,它的引脚排列如图所示, 1脚 DVVC是电源引脚 20脚DVSS是接地引脚 有几个脚可能不能随意使用 分别是:16脚(rst)17脚(test)19脚 和18脚分别是外接晶振的引脚,这两个引脚一般可以接上一只32.768kHZ的晶振,如果使用片内的振荡器,而无需使用外接晶振的时候,这两只脚还可以被我们利用为P2.6、P2.7 19脚还可以成为定时器的一个引脚 接下来看一下Msp430G2553的内部功能框图 上图是时钟系统 ACLK SMCLK MCLK是不同频率
[单片机]
官网中<font color='red'>MSP430</font>G2553数据表及用户指南的简单了解
MSP430 ADC12模块的组成_ADC12寄存器说明
  一、简单介绍:   ADC12模块中是由以下部分组成:输入的16路模拟开关(外部8路,内部4路),ADC内部电压参考源,ADC12内核,ADC时钟源部分,采集与保持/触发源部分,ADC数据输出部分,ADC控制寄存器等组成。   四种采样模式:   (1)单通道单次转换模式   (2)序列通道单词转换模式   (3)单通道多次转换模式   (4)序列通道多次转换模式   个人觉得(3)模式应该是使用较多的,   对选定的通道进行多次转换,直到关闭该功能或ENC=0。进行如下设置:   x=CSStartAdd,指向转换开始地址   ADC12MEMx存放转换结果   ADC12MCTLx 寄存器 中定义了通道和参考电压
[单片机]
<font color='red'>MSP430</font> ADC12模块的组成_ADC12寄存器说明
MSP430常见问题之看门狗及定时器类
Q1. 定时器两个中断TAIE 和CCIE,有什么区别?两个中断的中断向量一样吗? A1:TAIE 和CCIE指的是不同事件。TAIE指TAR 计数器溢出,从65535 到0 的变化,由TAIFG 引起的。CCIE指捕获到相应信号(捕获模式下);定时时间到(比较模式下)。由CCIFG引起的。两个中断的中断向量不一样,TAIFG 一般进TIMERA1_VECTOR;CCIFG 的话要看用的是哪个定时器如果是CCR0 的话就进TIMERA0_VECTOR,如果是CCR1,CCR2……则进TIMERA1_VECTOR。(中断向量的写法因器件不同而有所不同) Q2 用F149 的定时器B 的捕捉功能, 遇到问题,在等待捕捉时,读取TB
[单片机]
12864液晶深入学习笔记_2——基于msp430g2553
7,下面的代码是控制液晶全屏显示图片,代码如下: //程序功能:在12864液晶上显示两幅图片,一个为阴码图片,一个为阳码图片 // * 本程序我已经试过,调通,可以使用 液晶是有两根线WR EN 串行控制的 // * 这里是液晶的串行连接控制,可以大大节省单片机的IO口,但是数据处理起来要比并行连接的要慢,所以如果要求显示内容数据较大, // * 对显示的实时性要求较高的话(比如连续显示多幅图画,演示动画等), 应该考虑并行连接。如果单片机的IO口不够,或对显示内容的容 // * 量和实时性要求不高的话,可以考虑用串行连接的方式 //有可能是因为msp430g2553的处理能力较强,我现在用串行连接方式,显示下
[单片机]
MSP430教程10:MSP430单片机WDT看门狗定时器
看门狗定时器用来防止程序因供电电源、空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故。程序中设置看门狗清零指令 WDTCTL=WDTPW+WDTCNTCL ,当程序跑飞不能及时清零看门狗,导致看门狗溢出复位,这样程序可以恢复正常运行状态。 一、WDT寄存器包括WDTCNT和WDTCTL,两个寄存器在 上电和系统复位内容全部清零 1.记数单元WDTCNT: WDTCNT是16位增记数器,由MSP430选定的时钟电路产生的固定周期脉冲信号对记数器进行加法记数。WDTCNT不能直接软件存取,必须通过看门狗定时器的控制寄存器WDTCTL来控制。 2.控制寄存器WDTCTL: WDTCTL由两部分组成,高8
[单片机]
MSP430 5438时钟系统介绍
简介:UCS模块支持低功耗。它内部含有三个时钟信号,用户可以自行选择,找到性能和功耗的平衡点。UCS软件配置后,只需要一两个晶振或者电阻,而不需要使用外部振荡器。 1.1时钟系统介绍 UCS模块最多含有5个时钟源: l XT1CLK:低频/高频振荡器,可以使用低频 32768HZ 晶振和外部振荡器或者通过外部输入源输入4MHZ~32MHZ时钟。 l VLOCLK:内部低消耗,低频振荡器。典型值为 12KHZ。 l REFOCLK:内部低频振荡器,典型值为 32768HZ,作为 FLL基准源。 l DCOCLK:内部数字控制振荡器(DCO)可以通过 FLL来稳定。 l XT2CLK:可选择的高频振荡器,可以使用标准晶振,振荡
[单片机]
<font color='red'>MSP430</font> 5438时钟系统介绍
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved