基于MSP430的高速AD采集

合集下载

基于MSP430单片机的数据采集系统[1]

基于MSP430单片机的数据采集系统[1]

基于MSP430单片机的数据采集系统苏维嘉,王旭辉(辽宁工程技术大学机械工程学院 辽宁阜新 123000)摘 要:介绍了一种用TI 公司新一代16位单片机MSP430系列的MSP430F169设计的实时数据采集系统。

MSP430系列是TI 公司推出的超低功耗混合信号微控制器,这些微控制器可用电池供电并长期工作。

利用单片机内部自带的12位AD 和DMA 进行数据的采集和传输,并通过液晶显示模块将采集的数据以波形方式直观地显示。

该系统具有硬件电路简单、采集精度较高、界面友好等优点。

关键词:MSP430;DMA ;数据采集;液晶显示中图分类号:TP29 文献标识码:B 文章编号:10042373X (2007)232117203Data Collecting System B ased on MSP430Single ChipSU Weijia ,WAN G Xuhui(Mechanical Engineering Institute ,Liaoning Technical University ,Fuxin ,123000,China )Abstract :A kind of data real 2time collecting system which is designed by MSP430F169single chip is introduced in this paper.The MSP430F169is a member of the TI C ompany new generation 16bit microcomputer MSP430family.The MSP430series is the ultra low power mixed single microcontroller and good use of battery power supply occasion.The single chip can collect and transmit the da 2ta with its own AD and DMA ,and display the data clearly with wave shape by LCD Module.The system has these merits such as sim 2ple hardware ,higher precision and friendly interface ,so it as value of spread and application.K eywords :MSP430;DMA ;data collecting ;liquid crystal收稿日期:20072042241 引 言在科学研究及其他各种领域中,数据采集和监测已经成为日益重要的检测技术。

06一种基于MSP430的数据采集系统

06一种基于MSP430的数据采集系统

一种基于MSP430的数据采集系统摘要MSP430是一类现场16位数据线FLASH存储器的单片机,该单片机以丰富的片上资源,高速和高精度而深受广大单片机爱好者的青睐。

本文讨论了一种基于MSP430F149单片机数据采集系统的原理、组建方法和抗干扰技术,并介绍了系统中的最关键部分——数据采集模块的设计过程。

全文的重点是数据采集模块的硬件设计,完成了数据采集模块的几个组成部分,即:模拟输入/输出、数字逻辑部分和通讯接口部分,并对几个部分中的诸如放大、模数转换、存储、传输等关键技术进行了研究。

系统完成后,可采用验证性实验进行系统正确性验证。

关键词MSP430F149;数据采集;模数转换Data acquisition system based on MSP430AbstractMSP430 is a kind of Single-Chip CPU that is presented 16 bit bus and has FLASH memory. The chip has rich resources, high speed and high accuracy, so many chip lovers like it.The thesis discussed theory constructive method and anti-interference technology of data acquisition system which based on MS430F149, and introduces the research and realization of Data Acquisition System, which includes hardware designing and software programming.The specific subject of the thesis is hardware designing of Data Acquisition System. This thesis details on the implement of four components of the module, which are analog input/output, digital circuit and communication, and discusses about key technologies such as signal condition, amplifier, Analog-to-digital converter, data store, data transmission.After the system is finished, tests should be done to verify the system and results should be analyzed.Keywords MSP430F149;Data Acquisition;Analog-to-Digital converter第1章绪论随着现代电子技术的飞速发展,电子产品的低功耗设计越来越受到人们地重视。

基于msp430的数据采集装置设计与实现

基于msp430的数据采集装置设计与实现

基于MSP430的数据采集装置设计与实现摘要本文介绍了以高性能,低功耗的16位msp430f5529单片机为核心,对室内温湿度数据采集功能的设计与实现。

本设计的硬件设计中,根据所设计功能需要,选取了的元器件不仅能满足设计需求而且具有较高的可靠性,同时还分别介绍了各个元器件的功能,特点和模块电路的设计。

软件设计部分,展示了本设计简单而又合理的思路,然而此部分主要分为三个部分:温湿度数据采集部分,温湿度数据的无线传输部分以及数据通过串口通信在PC机上的显示部分。

由于新型单总线数字温湿度传感器DHT11具有体积小,接口简单,响应速度快等优点,所以室内温湿度数据的采集部分采用DHT11来完成温湿度传感及数字模块采集;而YL-800IL具有低功耗、抗干扰能力强、低误码率等优点,因此数据无线传输部分采用了微功率扩频无线模块YL800IL来完成数据的扩频无线传输;而显示部分是通过简单的读取串口数据来实现的。

本系统具有数字式传感,无线通信等功能,体积小节约空间,功耗低,操作简单,十分适于推广,并且遵循了可靠性和稳定性的设计原则,因此,在实际应用中取得了良好的效果。

关键词:msp430;温湿度数据采集;扩频无线传输;AbstractThe paper describes a design of the system, with the high-performance low-power 16bit microcontroller msp430f5529 as the core to aqcuist the indoor temperature and humidity. In the hardware design of the system, selected components can not only meet the design requirements but also have high raliability depengding on the feature required. At the same time the paper introduces the function, the feature and module circuit of all components. The part of software design shows a simple and reasonable design thought, however, this part mainly can be divided into three parts: part of temperature and humidity data acquisition, wireless transmission of the temperature and humidity data and data displayed on PC by serial port communication. Because of the new type of single bus digital temperature and humidity sensor DHT11 has the advantages of small volume, simple interface and fast response, so the indoor temperature and humidity data acquisition part adopts DHT11 to complete and digital temperature and humidity sensor module acquisition; with low power consumption, strong anti-interference ability, low error rate etc, so the data wireless transmission part adopts the micropower YL800IL spread spectrum wireless module to complete the spread spectrum of wireless data transmission; And the display part is implemented through simplely read serial data. This system has a digital sensor, wireless communications, and other functions, saves the space of small size, low power consumption, simple operation, very suitable for promotion, and follow the design principle of the reliability and stability, therefore, has obtained the good effect in practical application.Key words: msp430; Temperature and humidity data acquisition; Spread spectrum wireless transmission;目录第1章绪论 (1)1.1论文选题的意义 (1)1.2国内外关于该课题的研究现状 (1)1.2.1传感器技术的发展 (1)1.2.2 单片机的发展 (2)1.2.3通信技术的发展 (2)1.3本文研究的主要内容 (3)第2章系统的总体设计 (3)2.1系统功能设计 (3)2.2系统设计原则 (4)2.3系统硬件设计的总体方案 (4)2.4系统各部分功能介绍 (5)2.4.1温湿度的采集 (5)2.4.2 数据的无线传输 (8)2.4.3 数据的分析处理 (11)2.4.4 数据的显示 (13)2.5本章小结 (13)第3章系统主要电路的设计 (14)3.1电源电路的设计 (14)3.2 DHT11数字温湿度传感器与单片机连接的电路设计 (17)3.3 YL-800IL扩频无线模块与单片机连接的电路设计 (17)3.4 串口通讯部分的电路设计 (18)3.5 其他电路的设计 (19)3.5.1 复位电路 (19)3.5.2 触控板电路 (20)3.6本章小结 (20)第4章系统软件的总体设计 (21)4.1软件设计概述 (21)4.2 系统的开发环境 (21)4.2.1 CCS开发环境 (21)4.2.2 Microsoft Visual C++6.0集成编程系统 (22)4.3 上位机通信 (23)4.4数据采集的软件设计 (24)4.5无线传输的软件设计 (25)4.6 本章小结 (26)第5章系统测试 (26)5.1系统实物图 (26)5.2 系统测试结果 (27)5.3 本章小结 (28)第6章总结与展望 (28)参考文献.............................................. 错误!未定义书签。

基于MSP430单片机的多路数据采集系统的设计1

基于MSP430单片机的多路数据采集系统的设计1

1 引言数据采集是从一个或多个信号获取对象信息的过程。

随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。

数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。

本文设计的多路数据采集系统采用MSP430系列单片机作为MCU板的核心控制元件。

MSP430系列单片机是由TI公司开发的16位单片机,其突出特点是强调超低功耗,非常适合于各种功率要求低的场合。

该系统采样电路采用MSP430单片机内部12位的A/D,使系统具有硬件电路得以简单化,功耗低的特点。

由于该系列较高的性能价格比,应用日趋广泛。

2 系统的基本组成和工作原理在本数据采集系统的设计中为了提高系统智能化、可靠性和实用性,采用单片MCU和上位机传输的方法,即MCU运行在数据采集系统的远端,完成数据的采集、处理、发送和显示,上位机则完成数据的接收、校验及显示,同时上位机可对远端MCU进行控制,使其采集方式可选。

MCU选用TI公司的低功耗M SP430F437,该单片机比80C51功能要强大许多,他内部不仅有8路12位A/D,而且还带LCD的驱动,节省了不少外围电路。

本系统现场模拟一正弦波信号以及其他6路分压信号以供系统进行多路采样,采用ICL8038精密信号发生芯片产生一频率可变的正弦波,然后由LM331芯片实现频率到电压的转换,之间还需对信号进行调理以符合系统要求。

3 系统硬件电路设计系统硬件总体框图如图1所示。

本系统由模拟板和MCU板2块板组成,模拟板包括系统电源、正弦波信号发生模块、频率电压转化模块、信号调理模块和7路A/D的接口;MCU板包括电源及A/D接口、MCU、LCD和串口收发模块。

3.1 正弦信号发生模块正弦信号发生模块主要采用集成函数发生器ICL8038,ICL8038函数发生器是采用肖特基势垒二极管等先进工艺制成的单片集成电路芯片,具有电源电压范围宽、稳定度好、精度高等优点,外部只需接入很少的元件即可工作,可同时产生方波、三角波和正弦波。

基于MSP430的AD采样直流电子负载系统的设计

基于MSP430的AD采样直流电子负载系统的设计
【 摘 要l 针对 目前电源 负栽测试一般都采 用静 态 负载耗 放电的方法 来实现 , 整 个测试 过程的安全保护 以及精 准度方面有很 多不足之 处

为 了实现 了电子 负载的恒流控制 , 能够检 测被 测电源的电流、 电压并 由液晶进行 实时显示 。 此 系统设计 一种采 用高精度 的 A D 采样 芯片并结合 单 片机 实现可调 电子 负载。系统 中利 用键盘预置 电流值及单片机控制外部 D/ A模块输 出改 变其电子 负载功率器件参数 来 实现 电 源 输 出 电流 大小的改 变; 同时 , 系统 中采用闭环 负反馈 电路 来保持 电流值 恒定不变。
【 关键词】 电子 负载 ; MS P 4 3 0 单片机 ; 恒流源 ; A D采样
0 引 言
再经过稳压 电路 R E GI 1 1 7 — 3 - 3 输 出固定电压 3 . 3 V. 额定 电流 8 0 0 m A. 主要给 4 3 0单片机供电 . 两端 电容主要滤除纹波 . 使直流更稳定 系统 中使用 L M2 5 9 6开关型集成稳压芯片 . 是考 虑到当输出的 电流过 大而 导致过热时会实行 自动保护功能 2 3 显示模块 液晶显示模块可以显示汉字与图形 . 它是由 1 2 8 " 6 4点阵组成 液 晶显示模块 可通 过 8位并 行及串行 的方式连 接微处理机 .与 C P U接 口直接对接 。它 的启动 电压低 以及耗能小 . 同时可实现画面 的左右移 动和光标 的闪烁显示等功能
电子负载的测试 在我们 日常生活中应用越来越广泛 . 如购买的电 源或者电池以及充电电源或者电池 放电试验等都有使用 然 而 . 在传 统的测试过程当中 , 常用 阻值 固定的或 者可变 的电阻等来充 当测试负 载, 但是它们遇见 可调 节的负载或者 功率恒定 的负载 、 电流恒定 的负 载以及带输出接 口的负载等就不能满 足要求 目前市场上 已出现可根据 电子 负载在具体使 用过程 的需求 来进 行可调控的特性进 行设置 . 不过此类产 品均 没有任 意功率 因数线性负 载模拟 功能或者 说能量 回馈功能 , 如如德 国 H & H 的产 品 . 它们将 单 机从 0 . 7 k VA至 5 . 2 k V A 分为 共 7个 等 级 .最 小 输 入 电压 可 达 2 v 3 系统 软 件 平 台设 计 ( 1 T I I S ) , 而且 具有谐 波模拟功能 , 最大可模拟 9次谐 波( 基波 4 0 0 H 、 谐 系统软件设计实现 的主要功能有数据处理 、 模数转换及控 制输出 波含量 3 0 %) 。 等。 系统上电之后 , 首先主程序需要完成初始化 . 如I / 0口的初始化赋 本设计采用 MS P 4 3 0 单片机 . 结合 高精度 的 A D采样芯 片来 完成 值、 系统变量赋数值 、 计数器与定时器模式的设置等 ; 初始化结 束后对 直流 电子负载的设计 。 此 系统 可以将所测 电源 的电流 和电压实时采样 过 电压进行检测 . 同时进入键盘扫描 函数选项 . 选择合适 的模 式 . 负载 参数输 出在液 晶屏上并稳定地显示 出来 此 系统 以单 片机作为外 围电 调整率测量模式或 电流步进模式 . 键盘扫描获取键值标志值后 根据所 路, 可靠性高 、 扩充性好 、 测量精度高 、 设 计界面美观 , 有很 强的实用价 按键 的键值 . 进行 电流值设定 . 电流值 的大小可通过加减值来 改变 . 并 值 、 在液 晶模块上显示输 出测量数值 3 . 1 D / A转换 1 系统的总体设计 当片选( c s ) 为低电平时 , 利用 时钟信 号来检 测输 入数据 , 根据最 软件设计 中包括其结构设计流程图 以及各个主干子程序 . 比如键 高有效位在前的方式读人 l 6 位移位 寄存 器 当 S C L K输 人信号为下 盘识别程序 、 液晶显示程序 。最后则是系统的调试以及实验数据与结 降沿 , 数据就可以直接移入 寄存器 。 前 四位为特殊位 , 用于通道选择和 果 的记 录。 转 化的方 式 , 后l 2 位 为需要转换 的值 此 电子 负载 系统 的设计 由硬件和软件两大部分组成 结合开发成 3 . 2 A / D采 样 本和 系统 的稳 定性 等因素 . 硬件设计采用 M S P 4 3 0 单片机作 为核 心控 对电压电流值的采 样需要 通过 A / D转换 . 将模 拟量转换为数 字量 制器 . 它 是一个 l 6 位的C P U. 集成了 l 6 位 寄存器 和常数 发生器 , 而外 并送往液晶屏进行显示 MD转换是在时序 到来 复位以后 进行 开始启 围模 块则通过地 址 、 数据 、 控制总线 的形式与 C P U相连 , 这 样可 以有 动 . 在 串行时钟 S DA接 收到 l 2个 时钟信号 时进行 串行采样 . 当第 十 效地 利用存储 器的所有 指令对外 围模块进行实 时控制 。 此系统的外围 二个时钟信号下降沿到来 时判 断 A / D转化是否 完成 . 若采 样完成 则转 设备 由电源模块 、 功率模 块 、 数据采集模 块 、 单片机控 制模块 、 键 盘与 换 输 出显 示 显示模 块构成 此系统设 定值 可通 过按键调整 . 对功率模块 其内部各 项参数进行实时设置 . 单片机信号的变化 可通过 D / A芯片输 出 , 再利 4 系统 测 试 与 分 析 用A / D模块对输 出电压 和电流进行采集 . 将采集结果经过处理发送至 4 . 1 测 试 环 境 及 仪 器 液晶屏并显示 在室温条件下 .测试所用仪 器需 要用 U T P 3 3 1 5 T F — L( 0 — 3 0 V, 0 — 5 A) 直流稳 压电源和 XL 8 3 0 L数字万 用表各 l台。 2 系 统 硬 件 平 台 设 计 4 . 2 负载 调整率 的计算 分析 和结果测试 2 . 1 恒 流 源 电 路 设 计 直流稳 压电流负载调整率 的测试 原理 : 当电流从最小 值 , 即0 m A 此系统 的输 出电流在 1 0 0 m A~ 1 A变化 , 精度为 2 m A。因此恒 流源 ( 电源不接负载时) 变化 到电流最 大值 1 A时输 出电压 的变化率。 模块 采用达 林顿管 T I P 1 2 2和 L M2 5 8运放 组成恒流 电路 达林顿管 负载调整率的测试 方法 : T I P 1 2 2的 放大倍 数 为 1 0 0 0倍 。最 大 连续 电流 5 A :双运 算放 大器 ①设置键 盘 的输 出电 流为 0 m A( 不接负载 ) , 记录此 状态 下的输 L M2 5 8 .它精度高且 由电容构成 的调节器 对内部频率具有补偿作用 。 出 电 压 U。 : 此恒 流源设计 由运放和达林 顿管以及采样 电阻三者 构成闭环负反馈 ⑦设置键盘的输出电流为 l A. 记录此状态下的输 出电压 u 。 ; 电路 . 可 以达到使 电流恒定 的目的 负载调整率 为  ̄ 1 0 0 %。本系统 的负载调整 率测试结果 表 2 . 2 电源 电路 的设计 l 系统 中电源 电路 的设计分为变压 电路和降压 电路两大部 分 . 变压 明. u , 的 电压值从 5 . 9 3 3 " 9逐渐增 到 1 6 . 3 9 8 V, U 。 的电压 值从 3 . 8 7 7 V 器 与整流桥一起构成变压 电路 , 由交流变直流 ; 降压 电路 , 系统中需要 逐渐增 到 1 4 . 1 8 6 V. 它们得到 的理论 负载调整率和 实际测负载 调整率 些特定 的电压 . 需要 由降压 电路来完成 。 都在逐渐减小 . 分别从 3 4 . 7 %降到 1 3 . 5 % 和2 9 . 0 %降到 1 1 . 0 %。 电路中 2 2 0 V交流 电压经 过变压电路 .将 电压送 至降压 电路 , 降 压电路是使用开关型集 成稳压芯片 L M 2 5 9 6 。通过 L M2 5 9 6 输出+ 1 2 V 5 结 语 ( 下转第 1 1 9页) 直流电压供给运放工作 .输 出 5 v直流电压供给 A / D 、 D / A芯片工作 。

基于MSP430的高速AD采集

基于MSP430的高速AD采集

结论和展望
• 若无低功耗限制,单片机主频可以选择更高一些 • 可以尝试在转换过程中进行数据存储和实时显示 • 信号采集的速度和精度还有待于进一步提高
谢谢!
FAT32文件系统实现
• 优点:数据格式整齐,方便在windows系统中进 行读取和操作。
• 缺点:传输速率不高,会影响整个系统运行速度。
FAT32文件系统实现
• 适用情况:在系统中只需实时快速采集一定量的 数据,而又对存储速度没有很高要求的情况下适 宜使用FAT32文件系统进行数据的存储。
• 实现方法:先编写相应的程序用来在SD卡内部创 建一个txt文件,然后通过寻址得到该文件的首地 址,再逐步地向这个文件里传输数据。
0
50
100 采 样 点 /个 150
200
250
频 率 /Hz
电 压 值 /V
双通道信号采集测试
• 对含有100Hz固定频率信号的噪声信号,分别进 行V1、V2双通道512点采样
双通道信号采集
4 V1
3
2
1
0 0 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 512 采 样 点 /个
AD7606引脚配置情况
采样模块与单片机逻辑连接情况
V1~V8:模拟输入 DB0~DB15: 16位数据总线 OS0~OS2: 过采样设置 都与单片机通用 I/O端口相连
4.SD卡存储模块介绍
• 功耗低、体积小、可以重复擦写
• 传输速率高
• 使用方便、数据安全
主要学习内容:SD卡的初始化、读写操作, FAT32文件系统实现,相关程序编写等
单片机时序流程
单片机初始化

MSP430单片机3通道AD采集

}
void write_data(uchar Dispdata)//写数据函数
{
sendbyte(0xfa); //MCU向LCD发数据
sendbyte(Dispdata & 0xf0); //发高四位数据
sendbyte((Dispdata << 4) & 0xf0);//发低四位数据
#include "msp430g2553.h"
char a[5],m[5],n[5];
int da;
int j,i ;
#define uchar unsigned char
#define uint unsigned int
double result[4],AD_result[4];
{
write_data(*s); //发送字符对应的ASCII码,12864指针可设置自动指向下一个显示地址
s++;
delay(50);
}
}
void LCD_12864_address_set(uchar x,uchar y)
uint i,j;
for(i=0; i<t; i++)
for(j=0; j<10; j++);
}
void sendbyte(uchar zdata) //数据传送函数
{
uchar code_seg7;
uchar serial_clk;
{
P2OUT&=~BIT4; //SID为0
}
P2OUT&=~BIT5; //产生时钟信号下沿
P2OUT|=BIT5; //产生时钟信号上沿

基于MSP430F6638的信号采集与分析系统实验

信号采集与分析系统实验一、实验目的本实验目的是利用实验箱构建一个信号采集和分析系统。

二、实验内容三、实验步骤1、键盘及LED的设计与制作–编写单片机程序,控制按键,控制灯的亮灭,测试所有能控制的按键和LED2、液晶屏显示的设计与制作–测试在液晶屏上显示波形和数据3、以信号发生器输入单频正弦波,以16个指示灯代表16个单频点,频点在200Hz ~ 10kHz任选,信号发生器每次产生一种频点正弦波,AD采集,对应频点的指示灯会亮;4、把指示灯显示频点改成用液晶显示5、液晶屏同时显示频谱和时域波形四、实验原理1、AD采样模块在这个模块中,每过一段时间,AD采样器采集一个数据存入数组中,并将存储的二进制数转换成对应的电压值,通过代码:collect0[t].real= ADC12MEM0*3.0 / 0x03ff;实现。

采集满N个值之后,令标志变量flag=1,表示一组数据采集完毕,进入下一模块,即FFT变换。

我们将信号发生器输出的模拟电压范围设定为0V~2V ,这是因为:若电压值太大,会导致结果波形失真;若出现负电压,则因为AD模块不支持负电压的采集,结果可能会出现错误。

2、FFT处理模块该模块将采集进来的数据进行FFT变换,变换后的实部即为频谱,用于LCD 的频谱绘制。

绘制时,以各频点的幅频值与最大幅频值的相对大小进行绘制;变换后模值最大的频点对应的频率即为待测频率,用fre表示,便于屏幕及LED频率显示;根据求得的fre,可求得若干函数值,用于LCD的时域波形绘制。

3、LCD液晶屏显示模块该模块用于显示时域波形、频谱、学号、所测频率等内容。

关键语句:清屏:etft_AreaSet(0,0,239,319,0);//清屏显示:sprintf(buffer, "Frequency: %5d Hz",fre);etft_DisplayString(buffer, 0, 32, 0xFFFF, 0x0000);//显示频率同时,在模块中加入了延时语句,使得波形可以保持一定的时间。

MSP430单片机A-D过采样率的问题

MSP430单片机A/D过采样率的问题
对于MSP430 单片机中的A/D 过采样率的理解一直比较模糊,今天认真的研究了一下,终于弄清楚了,
现在写出来,欢迎大家前来拍砖。

=================================================
MSP430 单片机中有很多A/D 采样模块使用的是具有∑-△结构的SD16 或者SD16_A 模块,该模块中具有过
采样率(OSR,Oversampling ratio)的设置寄存器。

这个寄存器不同的设置值在A/D 采样的过程中到
底会产生怎样的影响呢?
在TI 的手册中我们可以知道,OSR 是SINC3 梳状滤波器的一个参数,首先,来学习一下梳状滤波器。

1、梳状滤波器的定义:是由许多按一定频率间隔相同排列的通带和阻带,只让某些特定频率范围的
信号通过。

梳状滤波器其特性曲线像梳子一样,故称为梳状滤波器。

2、梳状滤波器是一种最简单的FIR 滤波器,其单位脉冲响应h(n)全为1,
h(n)=1 ,0≤n≤N-1;0其它
传输函数的Z 变换形式:H(z)=∑z n=(1-zN)/(1-z1) ,n=0...N-1 声成型的频谱特性。

但采样间隔增大的N 倍(即数据率减
少了N 倍),等效量化台阶减少了NK 倍。

若N 为2 的整数幂N=2m,则相当
于经过滤波抽取后,其分辨率由
输入的1bit 变成了mK bit。

tips:感谢大家的阅读,本文由我司收集整编。

仅供参阅!。

msp430 ADC多通道采集以及12864液晶显示以及串口发送

//ADC.H#ifndef __ADC_H#define __ADC_H#include <msp430x14x.h>#define uchar unsigned char#define uint unsigned intextern void Trans_val(uchar x,uchar y,uint Hex_Val);extern void ADC_Init();#endif//ADC.C#include <msp430x14x.h>#include "USART0.h"#include"ADC.h"#include "lcd12864.h"#define Num_of_Results 128static uint results0[Num_of_Results]; //保存ADC转换结果的数组static uint results1[Num_of_Results]; //保存ADC转换结果的数组static uint results2[Num_of_Results]; //保存ADC转换结果的数组static uint results3[Num_of_Results]; //保存ADC转换结果的数组//ADC初始化void ADC_Init(){P6SEL = 0x0F; // Enable A/D channel inputsADC12CTL0 = ADC12ON+MSC+SHT0_2; // Turn on ADC12, set sampling time ADC12CTL1 = SHP+CONSEQ_1; // Use sampling timer, single sequence ADC12MCTL0 = INCH_0; // ref+=A Vcc, channel = A0ADC12MCTL1 = INCH_1; // ref+=A Vcc, channel = A1ADC12MCTL2 = INCH_2; // ref+=A Vcc, channel = A2ADC12MCTL3 = INCH_3+EOS; // ref+=A Vcc, channel = A3, end seq. ADC12IE = 0x08; // Enable ADC12IFG.3ADC12CTL0 |= ENC; // Enable conversions}/*******************************************函数名称:Trans_val功能:将16进制ADC转换数据变换成三位10进制真实的模拟电压数据,并在液晶上显示参数:Hex_V al--16进制数据n--变换时的分母等于2的n次方返回值:无********************************************/void Trans_val(uchar x,uchar y,uint Hex_Val){unsigned long caltmp;uint Curr_Volt;caltmp = Hex_Val;caltmp = (caltmp << 5) + Hex_Val; //caltmp = Hex_V al * 33 caltmp = (caltmp << 3) + (caltmp << 1); //caltmp = caltmp * 10Curr_Volt = caltmp >> 12; //Curr_V olt = caltmp / 2^n Display_Value(x,y,Curr_V olt);}/*******************************************函数名称:ADC12ISR功能:ADC中断服务函数,在这里用多次平均的计算P6.0口的模拟电压数值参数:无返回值:无********************************************/#pragma vector=ADC_VECTOR__interrupt void ADC12ISR (void){static uint index = 0;results0[index++] = ADC12MEM0; // Move resultsresults1[index++] = ADC12MEM1; // Move resultsresults2[index++] = ADC12MEM2; // Move resultsresults3[index++] = ADC12MEM3; // Move resultsif(index == Num_of_Results){uchar i;unsigned long sum0=0,sum1=0,sum2=0,sum3=0;index = 0;for(i = 0; i < Num_of_Results; i++){sum0 += results0[i];sum1 += results1[i];sum2 += results2[i];sum3 += results3[i];}sum0 >>= 5; //除以32sum1 >>= 5; //除以32sum2 >>= 5; //除以32sum3 >>= 5; //除以32Display_Num(3,1,sum0);Display_Num(3,2,sum1);Display_Num(3,3,sum2);Display_Num(3,4,sum3);Trans_val(5,1,sum0);Trans_val(5,2,sum1);Trans_val(5,3,sum2);Trans_val(5,4,sum3);}_BIC_SR_IRQ(LPM0_bits); // Clear LPM0, SET BREAKPOINT HERE}//USART.C#include "USART0.h"//以下是串口0的初始化设置void Usart0_Init(){P3SEL |= 0x30; // P3.4,5选择为UART收发端口ME1 |= UTXE0 + URXE0; // 使能USART0收发UCTL0 |= CHAR; // 8-bit characterUTCTL0 |= SSEL0; // UCLK = ACLKUBR00 = 0x0D; // 32k/2400 - 13.65UBR10 = 0x00; //UMCTL0 = 0x6B; // ModulationUCTL0 &= ~SWRST; // 初始化UART0状态机IE1 |= URXIE0; // 使能接收中断}//此函数用来发送一个char型void SentData(uchar num){while (!(IFG1 & UTXIFG0));TXBUF0 = num;}//此函数用来把1~4位十进制数据转化为ASCII编码的形式发送给上位机void Sent_Num(uint num){uchar ge,shi,bai,qian;qian = num/1000;bai = num/100 %10;shi = num/10%10;ge = num%10;SentData(qian+0x30);SentData(bai+0x30);SentData(shi+0x30);SentData(ge+0x30);// SentData('\n');}/*******************************************函数名称:PutSting功能:向PC机发送字符串参数:无返回值:无********************************************/void PutString(uchar *ptr){while(*ptr != '\0'){while (!(IFG1 & UTXIFG0)); // TX缓存空闲?TXBUF0 = *ptr++; // 发送数据}while (!(IFG1 & UTXIFG0));TXBUF0 = '\n';}/*******************************************函数名称:Delays功能:延时一会参数:无返回值:无********************************************/void Delays(void){uchar i=20;uint j;while(i--){j=2000;while(j--);}}//串口中断响应函数#pragma vector=UART0RX_VECTOR__interrupt void usart0_rx (void){if(49==RXBUF0){_BIC_SR_IRQ(LPM0_bits); // Clear LPM0, SET BREAKPOINT HERE}if(50==RXBUF0){ADC12IE = 0x00; // 关闭ADC}}//USART.H#ifndef __USART0_H#define __USART0_H#include <msp430x14x.h>#define uchar unsigned char#define uint unsigned intextern void Usart0_Init();extern void SentData(uchar num);extern void PutString(uchar *ptr);extern void Delays(void);extern void Sent_Num(uint num);#endif//LCD12864.H#ifndef _LCD12864_H#define _LCD12864_H#include <msp430x14x.h>#define CPU_F ((double)8000000)#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))#define uchar unsigned char#define uint unsigned int#define ulong unsigned long/*12864应用指令*/#define CLEAR_SCREEN 0x01 //清屏指令:清屏且AC值为00H#define AC_INIT 0x02 //将AC设置为00H。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

结论和展望
• 若无低功耗限制,单片机主频可以选择更高一些 • 可以尝试在转换过程中进行数据存储和实时显示 • 信号采集的速度和精度还有待于进一步提高
谢谢!
基于MSP430的高速AD采集
论文结构和主要内容:
• 研究背景和目的 • MSP430F149单片机介绍 • AD7606采样模块介绍 • SD卡存储模块介绍 • 实际测试情况 • 结论和展望
1.研究背景和目的
传感器技术
现代测控 技术
信号处理技术 计算机技术
数据采集技术
• 对采样系统功耗的特殊要求 • 对采样速率和采样精度要求的不断提高 • 对多通道并行采集的更多应用 • 对采样结果进行实时快速存储的要求
5.实际测试情况
• MSP430单片机为主控机,主频8MHz • 采样点数设置为512 • 采样频率由单片机定时器频率决定
中断入口
读取采样结果 保存到RAM定时器Fra bibliotek中断返回
系统实际连接情况
单通道信号采集测试1
• V1通道对50Hz正弦波采样,通过串口调试精灵显 示
单通道信号采集测试2
• V1通道对50Hz方波采样,通过串口调试精灵显 示
100
150
200
250
频 率 /Hz
V2
100
0 0
50
100
150
200
250 可以看出,双通
频 率 /Hz
道采样具有非常
好的并行性
6.结论和展望
• 本设计通过对MSP430F149单片机和AD7606采 样模块的使用,进行了待测信号的实时快速采集, 并将数据通过串行通信接口显示和存储。
• 通过实验,我们发现AD7606采样模块的通道之间 具有较好的并行性和同步性,得到的数据通过处 理后能够较准确的反映出信号中的频谱情况和频 率特性。
单片机时序流程
单片机初始化
时钟、端口配置
NO
YES
判断采样是否结束 采样结果存储至SD卡
进行AD采样 采样结果保存 系统进入低功耗模式
3.AD7606采样模块介绍
• 8通道16位高精度采样 • 最大采样频率200Ksps • 支持过采样设置 • 无内部寄存器,配置简单 学习过程主要参考资料:《AD7606中文规格书》
高速AD采集系统设计
采集系统 硬件组成
MSP430 单片机
AD7606 采样模块
SD卡存 储模块
2.MSP430F149单片机介绍
• 超低功耗
• 内部资源丰富
• 功能强大
学习过程主要参考资料:《MSP430中文手册》 学习内容为单片机硬件结构、IAR软件使用、 C语言编程、定时器应用、串口通信设置等
0
50
100 采 样 点 /个 150
200
250
频 率 /Hz
电 压 值 /V
双通道信号采集测试
• 对含有100Hz固定频率信号的噪声信号,分别进 行V1、V2双通道512点采样
双通道信号采集
4 V1
3
2
1
0 0 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 512 采 样 点 /个
单通道信号采集测试3
• 测试过程使用信号发生器发出掺杂有频率为50Hz 正弦信号的噪声信号
电 压 值 /V
采 集 数 据 做 FFT
300
采样数据
3
22.550
2020
11.550
1010
0.550
0
00 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 512
FAT32文件系统实现
• 优点:数据格式整齐,方便在windows系统中进 行读取和操作。
• 缺点:传输速率不高,会影响整个系统运行速度。
FAT32文件系统实现
• 适用情况:在系统中只需实时快速采集一定量的 数据,而又对存储速度没有很高要求的情况下适 宜使用FAT32文件系统进行数据的存储。
• 实现方法:先编写相应的程序用来在SD卡内部创 建一个txt文件,然后通过寻址得到该文件的首地 址,再逐步地向这个文件里传输数据。
4 V2
3
2
1
0 0 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 512 采 样 点 /个
电 压 值 /V
双通道信号采集测试
• 分别对两通道采样数据进行快速傅里叶变换
采样数据做FFT
300 V1
200
100
0 0
300 200
50
AD7606引脚配置情况
采样模块与单片机逻辑连接情况
V1~V8:模拟输入 DB0~DB15: 16位数据总线 OS0~OS2: 过采样设置 都与单片机通用 I/O端口相连
4.SD卡存储模块介绍
• 功耗低、体积小、可以重复擦写
• 传输速率高
• 使用方便、数据安全
主要学习内容:SD卡的初始化、读写操作, FAT32文件系统实现,相关程序编写等
相关文档
最新文档