总第 146 期
2005 年第 2 期
舰 船 电 子 工 程
Ship Electronic Engineering
Vol. 25 No. 2
72
基于 MSP430 的高速数据采集电路
石向荣 姚旺生 程西军
(海军工程大学电子工程学院计算机科学系 武汉 430033)
摘 要 :采用 MSP430F149 单片机和高速 AD 变换器 AD7663 ,设计了一个嵌入式高速高精度 16 位数据采集电路 ,采样
率超过 100 Ksps。根据单片机的特点 ,采用了两个加速方法 : (1) AD 变换器输出的数据直接送入存储器 ,节省了数据进出单
片机的时间 。(2) 触发条件出现后 ,程序工作在查询方式且不允许中断 ,取得了较快的执行速度 。
关键词 :数据采集 ;MSP430 ;单片机 ;AD7663 ;嵌入式系统
中图分类号 : TP274
Ξ
High Speed Data Acquisition Circuit Based on MSP430
(Dept . of Computer Science , Electronic Eng. College , Naval Univ. of Engineering , Wuhan 430033)
Shi Xiangrong Yao Wangsheng Cheng Xijun
Abstract : A high - speed , high precise embedded data acquisition circuit with 16 bits resolving capability is designed ,
MSP430F149 is selected for MCU and AD7663 for analog - to - digital converter , and its data acquisition rate is more than
100 Ksps. Two speed up method is used. Firstly , the data read from AD converter send directly to memory ,it reduces the time for
this data into and out MCU. Secondly , in order to get conversion rate up , the program inquires continually the state of AD con
verter and the interrupt disabled when triggered.
Key words : data acquisition , MSP430 , MCU , AD7663 , embedded system
Class number :TP274
1 电路组成
随着电子技术飞速发展 ,人们对数据采集电路
的要求也越来越高 ,这种要求主要体现在采样精度
和采样速度两项指标上 。由于可视化应用的要求 ,
许多应用往往将信号波形显示出来 ,并采用动态幅
度缩放技术以显示细节 。有些应用中不但在幅度
轴上采用动态缩放技术 ,在时间轴上也采用动态缩
放技术 。在这些应用中 ,不但要求有高的采样精
度 ,还要求有高的采样速度 ,才能满足需求 。一般
来说高速高精度数据采集需要高的成本 。合理选
择集成电路 ,可以设计出低成本 、高精度 、高采样速
度的数据采集电路 。本文介绍笔者在实践中成功
的一个实例 。
该电路的数据采集部分包括德州仪器公司的
低功耗单片机 MSP430F149 ,模拟器件公司的模数
变换器 AD7663 ,和 2 片 32 KBx8 的 SRAM62256 ,
组成 16 位的高速高精度数据采集电路 ,连接示意
图见图 1 。其中 BU SY、CNVST、RD 为采样控制/
转换完成信号 ,MCS ,MWE ,MO E 为存储器读写控
制信号 。
MSP430F149 是 MSP430 系列中一个功能很
强的单片机 ,内部采用冯. 诺依曼体系 , RISC 指令
结构 , 运 算 器 宽 度 16 位 。片 内 集 成 了 60 KB 的
FLASH 程序存储器 ,2 KB 的 SRAM 数据存储器 ,
多个 16 位定时/ 捕获/ 比较器 ,2 个串行口 ,12 位模
数转换器 ,J TA G 程序下载/ 在线调试接口 ,看门狗
定时器等 。采用 64 引脚封装 ,48 个 IO/ 多功能引
出线 ,其中的 P1 口和 P2 口具有位中断功能 。具
有指令执行速度快 、外部电路简单 、功耗低 、节电管
理方式完善 、定位于嵌入式系统应用等特点 1 。
AD7663 为 16 位高速模数变换器 2
,最大采
样速度达到 250 KSPS。输入模拟信号有多种组
态 ,输出数字信号可以采用串行方式 、8 位并行方
收稿日期 :2004 年 8 月 9 日 ,修回日期 :2004 年 9 月 6 日
2005 年第 2 期 舰 船 电 子 工 程
37
址计算可以在等待 AD7663 转换完成的时间段内
进行 。
在采样前 , 需要设置采样点数 , 最大点数为
32 KW。在 规 定 的 数 据 点 数 采 样 完 成 以 后 ,
MSP430F149 可以将数据从存储器中读出 ,进行数
据处理 ,波形显示等工作 。也可以通过串行口将数
据送往微机或 PDA 进行处理 。在我们的应用中 ,
采样电路和 PDA 组成一个便携式的数据采集仪
器 。
2 采样程序设计
常见的采样程序可以选择两种工作方式 ,即程
序中断和程序查询 。两种方式各有特点 ,对于除采
样任务以外 ,还有键盘 、显示 、串行口等需要管理的
情况 ,一般采用程序中断方式完成数据采集 。但是
由于响应中断 ,进栈保护断点和现场 ,恢复现场 ,出
栈等过程 ,需要耗费大量时间 ,影响采样速率 。根
据试验 ,如果利用 P1. 0 的中断功能 ,采用中断方
式采样 ,在无数据遗漏的要求下 ,实际采样一点数
据的时间多于 20μS。
在我们的应用中 ,需要采集的波形并不是周期
性的 ,而是陈发性的 。波形出现时 ,持续时间在 1
秒钟以内 。因此 ,首先需要正确设置触发条件才能
捕捉到波形 ,当输入波形的幅度达到某个值时 ,认
为波形已经出现 。在等待触发条件时 ,采用中断程
序工作方式 。一旦幅度条件满足 ,立即由中断程序
设置触发条件标志 。主程序立即关闭全部中断 ,转
入程序查询采样工作方式 。定时器 TA1 通过P1. 2
自动输出周期性的 CNVST 信号 ,采样程序查询
P1. 0 输入 ,一旦 P1. 0 出现由高到低的跳变 ,立即
通过 P1. 2~ P1. 5 设置 RD 、MCS、MWE、MO E 信
号 ,将数据存入存储器中 。实际查询的是 P1. 0 的
中断标志位 ,因为在初始化时 ,设置了 P1. 0 的下
跳沿为中断条件 ,一旦当前转换完成 ,不论是否允
许中断 ,都会将该标志位置 1 。流程见图 3 。中断
触发条件 、采样速率 、采样点数等均通过串行口设
置 。根据我们试验 ,在关闭所有中断的条件下 ,最
大采样速率超过 8. 5μS。满足了最大采样速率达
到 10μS 的要求 。
触发条件标志在初始化时设置为 0 ,在中断采
样程序中 ,如果满足了幅度条件 ,将该标志设置为
1 ,在进行查询采样以前 ,将该标志位清除 。
工作 程 序 在 IAR 环 境 下 开 发 , 采 用 C430
(MSP430 系列的 C 语言) 编写调试 。
图 1 连接示意图
式或 16 位并行方式 。图 1 中采用 16 位并行输出 。
转换定时见图 2 。输入信号 CNVST 的下跳启动
AD 变换 ,最多经过 1. 25μS ,在 BU SY 端输出下跳
信号表示转换完成 。根据资料 2 介绍 , t3 最大
7ns ,t4 最大 1. 25μS ,相邻两次转换的最小时间间
隔为 4μS。
图 2 转换定时图
AD7663 的 CNVST 输入信号接 MSP430F149
的 P1. 2 引脚 ,通过编程 ,将 P1. 2 作为内部定时器
TA1 的输出口 ,产生周期性的 CNVST 信号 ,用以
控制采样时间间隔 。
MSP430F149 的 P1. 0 接 AD7663 的 BU SY 信
号 ,监测当前转换是否完成 ,是则将 RD 信号 ( P1.
1) , 存 储 器 的 片 选 信 号 MCS ( P1. 3) , 存 储 器 写
MWE( P1. 4) 同时置 0 。由于 AD7663 的片选 CS
接地 ,当 RD 信号为 0 时 ,转换得到的 16 位数据通
过并行数据端口 D15. . . D0 输出 。此时将存储器
的 MWE 信号置 1 ,数据直接写入存储器 。由于转
换得到的数据不用经过单片机中转 ,节省了读取/
保存数据的时间 。
存储器地址由 MSP430F149 通过 P2 口和 P4
口设置 , 32 KB 存储器需要 15 位地址线 , P2. 6 ~
P2. 0 设置高 7 位地址 , P4 口设置低 8 位地址 。地
2
2
47 石向荣等 :基于 MSP430 的高速数据采集电路 总第 146 期
3 小结
本文介绍的数据采集电路采样精度高 ,速度
快 ,但电路结构简单 ,开发方便 ,成本低 。可以满足
一些嵌入式系统设计要求 ,可供相关技术人员借
鉴 。
参 考 文 献
1 Texas
Instruments
Incor porated. MSP430x13x ,
MSP430x14x , MIXED SIGNAL MICROCON TROLL ER
DB/ OL . htt p :/ / focus.
ti. com/ docs/ prod/ folders/ print/
msp430f149. html. 2001
2 Analo g Devices , Inc. . AD7663 DA TASHEETS DB/
root/ SitePage/
OL . htt p :/ / www. analog. com/ Analog
MainSectionResource. 2001
图 3 采样程序流程
(上接第 61 页)
5 结语
本文在阐明 C6000 的 3 种引导方式的基础
上 ,针对应用最广泛的 ROM 引导方式 ,叙述了软
件层高效实现带加解密的 DSP 应用程序二次加载
的基本流程 。进一步地 , 阐述了 bootloader 应用
中 ,DSP 应用程序格式的转换 、Hex 转换工具的使
用 、程序数据加解密 、bootloader 程序在 ROM 中的
封装形式 、以及利用仿真器更新 bootloader 程序和
DSP 应用程序等问题的解决方法 。
事实上 ,针对不同的应用 ,为实现快速稳定的
二次加载 ,具体的 bootloader 程序也会有很大的区
别 ,这也是 TI 公司把 bootloader 留给用户自己开
发的原因之一 。另一方面 ,二次装载 DSP 应用程
序是 bootloader 的本质功能 , TI 不同型号 DSP 芯
片的 bootloader 在软件层和应用层的实现方法是
一脉相承的 ,所以本文基于 bootloader 的本质功能
在软件层和应用层进行了详尽的阐述 ,并说明了加
解密在其中的应用 。
本文成果已用于我国“北斗一号”卫星导航定
位用户机中 。
参 考 文 献
1 TMS320C6000 Tools. Vector Table and Boot ROM
Creation R . Texas Instruments Inc , 2004
2 Creatin g a Second - Level Bootloader for FLASH
Bootloading on TMS320C6000 Platform With Code Composer
Studio 2. 2 R . Texas Instruments Inc , 2004
3 TMS320C620x/ C670x DSP Boot Modes and Confi g
uration Reference Guide R . Texas Instruments Inc , 2003
4 TMS320C6000 Peri pherals Reference Guide R .
Texas Instruments Inc , 2001
5 TMS320C6000 Assembl y Language Tools User’s
Guide R . Texas Instruments Inc , 2003 ,3 : 277 ~314
6 Bruce Schneier. A pplied Cryptography : protocols , al
gorithms , and source code in C (2nd) M . John Wile y &
Sons , Inc. , 2000 ,5