DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 379|回复: 0
打印 上一主题 下一主题

基于多片MSP430单片机数据采集系统的设计与开发

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 19:48:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  
         
   





摘 要:本文提出了一种基于多片MSP430单片机多路分布式数据采集系统。本系统由3片MSP430单片机组成,一片做主控制器,协调和控制整个系统,其余两片负责两路信号的数据采集。应用结果表明:系统结构简单、灵活,保证了多路数据采集的高速性、实时性和同步性。
关键词:MSP430单片机;数据采集;数据传输;虚拟串口
1 引言
    MSP430系列单片机是美国TI公司生产的新一代16位单片机,是一种超低功耗的混合信号处理器(Mixed Signal Processor)它具有低电压、超低功耗、强大的处理能力、系统工作稳定、丰富的片内外设、方便开发等优点,具有很高的性价比,在工程控制等领域有着极其广泛的应用范围。
    其中MSP430F135单片机I/O口丰富。内部嵌有模数转换器,且转换精度在10位、12位及14位进行选择,同时还含有采样保持器和模拟多路器,很适合于精密的数据采集和转换;支持JTAG在线调试与编程;指令周期可达125ns等,具有很高的性价比和独特的优越性。
    本文以直流电动机测试系统(以下简称测试系统)为背景阐述了该采集系统的设计原则及具体实现。
2硬件电路设计
2.1 电路结构
    本采集系统主要由三片MSP430F135组成,其中一片作为主机,负责控制从机和整个系统,其余两片作为从机,分别对电机的电流、电压进行采样,起到A/D转换器的作用。为保证信号采集的同步性,该系统设计成两路分布式[[I]。采集系统部分电路图如图1所示。


740)this.width=740" border=undefined>
    采集过程如下:首先主机给出中断信号通知两从机同步采样。当采样结束后,两从机发给主机中断信号,通知采样结束,准备进行数据传输。
    需要指出的是,为了保证同步采样,图中三片单片机应采用同一复位电路和同一片有源晶振;由于主机只有一个串口,用于主机和PC机之间的通信,主机和从机之间的通信只能选用虚拟串口。图中主机使用P4.0, P1.1为虚拟串口UARTI,使用P4.1, P1.2为虚拟串口UART2,分别与从机进行数据交换;三片单片机P1.6均为发出中断口,P1.7均为接收中断口(可以由P1口随意指定)。
2.2电路设计原则
2.2.1  采样周期要能达到1Ous
    直流电动机测试系统是用于对电机的各种特性及参数进行测试。目前电机的种类繁多,就转速范围已从100rpm左右到40000rpm左右。因此要求测试系统采样频率上限非常高,即采样周期的下限非常低。
    另外根据采样定理,采样频率fs大于被测信号最高频率fo的两倍,即fs>=2fo。通常取fs=(3.4)fo,甚至fs=1Ofo


740)this.width=740" border=undefined>
    综上所述,采集系统的采样周期应能达到1OUs,
    原测试系统采用AT89C51单片机,指令周期为lus,由于需要控制A/D采集,锁存器锁存,RAM存储等(如图2),指令繁多,控制复杂,即使采用汇编编程,也需要大约75us,已大大超过IOUs,
    而MSP430系列单片机为16位RISC结构,采用8MHz晶振,每条指令周期为125ns, A/D转换由硬件控制,减少了执行的指令,采用16位数据线读取采样结果,使得采样存取简化,因此其采样存储周期取决于内部的A/D转换器,其转换速度200Kbps,即5us,完全可以达到1Ous要求。
    下面分别采用MSP430F135的测试系统和采用AT89C51的测试系纤胡寸某种型号电机的电枢电阻进行辨识[[21,采样周期分别为IOUs和l00us。电阻辨识曲线如图2、图3所示。结果表明,当采样周期为IOUs时,电阻辨识是稳定的,而采样周期为l00us时,电阻辨识是不稳定的,由此说明基于MSP430F135的采集系统能够满足测试系统的要求。


740)this.width=740" border=undefined>
2.2.2 采样数据量大
    本系统设计的另外一个设计原则要求增加采集点数 (由7000增加到60000个点),因此要求扩大RAM的存储量。由于MSP430有丰富的I/O口,图1中每片从机各自扩展一个128K的RAM。而AT89C51的1/O只有P1, P2, P3口,很难进行大容量的RAM扩展和其他外围芯片的扩展。
2.2.3 结构简单、调试方便
    下面将基于AT89 C51单片机采集系统 (如图4)与基于MSP430F135单片机采集系统进行对比说明。


740)this.width=740" border=undefined>
    由图可以看出,图4采用了译码器、锁存器及总线驱动器等,结构复杂。
    图1只采用了三片 MSP430F135片单片机,这主要是因为该单片机有48个1/O口,所以各个器件可以直接连接,特别是可对大容量的RAM进行扩展。
    系统利用了两片MSP430F135作A/D转换器使用,因其具有自动校正零位的功能,因此简化了相关的电路及复杂的连线。
    主机和PC机之间的通信,主机和从机之间的通信选用虚拟串口,它们的连接很简单。
    结构上的简化给电路的调试工作带来了方便:依靠单片机的测试语句就可完成调试工作;原来的AT89 C51系统,要对译码器、多个锁存器及总线驱动器等进行调试,特别是A/D的零位调整与校正,增益的调整与校正都比较费时费力。
3 软件设计
    软件设计重点介绍多单片机系统数据传输及虚拟串口软件开发。
3.1采样数据传输
    采样完成后,为了提高采样数据的传输效率,保证了数据传输的可靠性,采样数据传输采用了交叉传输方式,即A机与B机分别在主机P1.6的上升沿和下降沿向主机传输数据。主、从机接收数据的时序图如图5。主机数据传输过程流程图如图6。在主机P1.6的上升沿时,A机开始传送数据,下降沿时,B机开始传的数据传给PC机(时序图简称A机数据),接受A机传来的数据同时将上一次B机传来的数据传给PC机。主机的串口得到了充
分利用,P1.6口发出高低电平的指令所需要的时间几乎不影响数据的传输速度。例如,传输过程设置57600的波特率,每位的传输需要 (Is/57600)二17.36us,每发一个字节需10位,共173.6us,而P1.6口输出高低电平的指令只需一个指令周期,即125ns
3.2虚拟串行口的实现机理与软件开发
    MSP430F135具有16位定时器Timer_A和Timer_B,它们均有捕获/比较等多种功能。其中Timer_A具有将输人信号锁存并输出的功能 (SC C1)f31,因此它可实现串口的输人功能。Timer_B可实现串口的输出功能。由于每个定时器都带有3个捕获/比较寄存器,因此它们可以很方便地虚拟出3个全双工的串口 (每个定时器均具有3个捕获/比较寄存器)。由于系统的需要,只虚拟了两个全双工的串行口。虚拟的串行口波特率在1200
到115200设置,甚至更快。
    利用C语言开发的程序如下,其数据传输接收时序图与真正的串行口UART的时序相同。虚拟的两个串口类似,下面只给出了由定时器B的TBCCRO虚拟的发送程序 (P4.0口发送)及定时器A的CCRO虚拟8Nl协议的接受程序 (Pi. 1口接受)。
    发送字符函数
    发送字符函数
    void TXBO_Byte(void)
    {
    //当前计数器的值
    TBCCRO=TBR;
    //Bitime由定义的波特率来定
    TBCCRO+=Bitime;
    tBufferB0j=0x100;
    tBufferBO> =1;
BitCnt一一;
}
}
接收字符函数
void RXAO_Byte(void)
{ BitCnt=0x8,
C CTLO=C C IS_O+OUTMODO
+CMI+CAP+CCIE,
while(CCTLO&CCIE),
}
Timer A中断接收函数服务程序
Interrupt [TIMERAO-VECTOR]
void Timer-AO(void)
{
//Bitime由定义的波特率来定
CCRO+=Biome,
if(CCTLO&CAP)
{ C CTLO&=--CAP;
//hfBitime=1 /2Bitime
C CRO+=hfBitime;
}
else
{rBufferAO>>=l;
if(CCTLO&SCCI)
rBufferA0l=0x80;
BitCnt一一;
if(BitCnt==O)
C CTLO&=-C CIE
}}
4 结论
    本文提出的基于多片MSP430单片机的数据采集系统,结构简单、调试方便,具有独特的性能和技术优点,满足了数据采集的高速性、实时胜和同步比提高了直流电动机测试系统的测试精度和测试速度,具有很好的实用意义。
参考文献:
    [11 孙传友,孙晓斌,等.测控系统原理与设计【M].北京:北京航空航天大学社,2002.
    [2] 张洪截,胡干耀.系统辨识【M].北京:北京航空航天大学出版社,1988.
    [3) 沈建华,杨艳琴,等.MSP430系列16位超低功耗单片机原理与应用「M].北京:清华大学出版社,2004.
    作者简介:刘涣军(1982-),男,安徽淮北人,工学硕士,主要从事数据采集和数字信号处理等技术的研究。


         
          [/td]
        [/tr]
      
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-19 19:49 , 耗时 0.084975 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表