基于MSP430F169的多路电阻测量系统设计

发布者:Volare最新更新时间:2014-10-09 来源: ednchina关键字:MSP430F169  电阻测量  双单片机 手机看文章 扫描二维码
随时随地手机看文章
0 引言

在实际工作中,对于多路电阻进行测量,一般采用直接测量法人工操作进行,虽然这种方法很成熟,但所用的配套设备较多,测量数据手工纪录、人工计算,操作繁琐、效率较低,事后的数据处理及出具测量报告既费时又费力,易出现人为因素造成的错判、漏判等,难以保证测量质量,影响了科研、实验生产任务的顺利进行。针对这些问题本文设计了一种基于MSP430单片机的电阻多路测量系统,系统采用2个MSP430F169单片机,利用该型号单片机自身集成的I2C通信模块实现双单片机系统。使用双机结构的增强了系统的抗干扰能力和可靠性,提高了测量的精度的和稳定性。该多路电阻测量系统具有结构简单、成本低廉、功耗低等特点,其测量范围为10μΩ~3 kΩ、测量精度为0.2%。可用于科学研究和工程运用等领域,具有较强的实用价值。系统的设计思想和方法也是对双单片机系统研究的有益的尝试,为后续的研究打下基础。

1 多路电阻测量系统简介

1.1 MSP430单片机

MSP430系列单片机是美国德州仪器(TI)推出的一种16位超低功耗单片机。该系列单片机具有运算能力强,片内外设丰富,低电压,超低功耗,速度快,效率高等特点。其电源电压采用1.8~3.6 V低电压,RAM数据保持方式下耗电仅为0.1μA,活动模式耗电250μA/MIPS,I/O输入端口的最大漏电流仅为50 nA,单片机系统有一种活动模式和5种低功耗模式,并且各种模式间可以自由切换。采用矢量中断,支持十多个中断源,并可任意嵌套,用中断请求将C唤醒只需6μs。具备精简指令集合和较高的处理速度,大量的片内寄存器可以参加运算。有丰富的I/O接口,支持JATG在线编程和调试。其中,MSP430F169单片机集了64 KB的FLASH ROM和2 KB的RAM,在多数应用场合无需为处理器另外扩展ROM,也无需扩展RAM,片内具有双通道的串行数据接口(USART模块),可以实现UART,SPI和I2C三种通信模式。双单片机之间采用USART0串行通信模块实现I2C主从式通信,可以使系统通信简单高效。

1.2 系统框图

本系统为基于双MSP430F169单片机多路电阻测量系统。使用2个MSP430F169单片机协调工作,从机MSP430F169利用自带的8路A/D通道实现多路数据的测量、采集并对所采集的数据进行计算与分析,主机MSP430F169负责储存、控制、显示以及和上位机的通信。利用MSP430F169单片机的固有的USART模块,采用I2C总线进行串行通信,实现处理器之间的命令控制和数据交换。电阻测量电路采用恒流源测量电阻,将待测电阻接入恒流源电路,对电阻两端施加恒定电流,在电阻两端形成稳定的压降。由于电阻两端输出的电压值比较小,需要通过放大电路对电压进行放大。通过单片机自带的A/D接口对待测电压进行采集,由欧姆定律算出相应的阻值,再除以放大倍数,即可得到待测小电阻的阻值。系统框图如图1所示。

系统框图
系统框图

2 硬件电路的设计

系统硬件电路主要由从单片机恒流源电路和主单片机电路组成,主单片机电路部分主要实现控制、显示、存储、与上位机通信等功能,硬件电路比较简单限于篇幅不再累述。从单片机恒流源电路主要由电流源电路、放大器电路和跟随器电路组成。以下着重对系统的从单片机恒流源电路的设计进行介绍。

2.1 电流源电路设计

电阻测量的精度取决于恒流源的精度和稳定性和放大器的稳定性。本文系统中电流源电路采用BURRBROWN公司的REF200高精度电流源实现。该芯片内集成了2个100μA的恒流源和一个镜像电流源。其最大特点是提供的电流精度高(100±0.5)μA。使用方便,只需在芯片的管脚7或者管脚8加上2.5~40 V之间的任何一个电压。即可在管脚1或者管脚2上分别输出100μA的电流。使用灵活,通过不同的连接方式还可以实现50μA,200μA,300 μA,400μA的电流输出。本文系统要实现8路电阻测量,因而需要提供8路稳定电流。系统使用4片REF200芯片,每个芯片提供2路100μA的电流源实现8路电流输出。每个芯片的硬件电路如图2(a)所示。

恒流源电路
恒流源电路

2.2 放大电路设计

为了保证测量的稳定性,同时考虑到通过单片机控制的放大器的增益实现量程的转变,因而本系统采用TI公司的增益可编程仪表放大器PGA204,该放大器最大的特点是通过编程可以实现1,10,100,1 000的可选择增益,具有很高的共模抑制比(115 dB,G=1 000时),其输入偏置电压最大为50μV,最大偏置电流为2 nA,芯片功耗低,放大器工作电压为仅±4.5 V,不工作时的电流仅为5 mA。增益控制很灵活,芯片的管脚A0和管脚A1控制放大器增益,与从机的I/O相连。通过在管脚A0和管脚A1输入对应的高电平或者低电平即可获得相应的增益。可编程放大器增益,实现了测量量程的转换。每一路放大电路的硬件连接如图2(b)所示。 [page]

2.3 跟随器电路设计

为了保证恒流源的稳定,在放大电路之后连接跟随器电路,跟随器电路选择TI公司的高速精密运算放大器OPA602来实现,该放大器的精度较高,偏置电流仅为1 pA。具体硬件电路如图2(c)所示。

恒流源电路由电流源电路、放大器电路和跟随器电路组成。该恒流源所提供的电流与放大电路的增益G相关,系统选用模拟AVcc为参考电源,大小为3 V,放大电路G增益为1时,系统测量的最大电阻为3 kΩ。该恒流源电路具有结构简单,精度高,稳定性强,功耗低的特点。

3 双单片机协同工作

3.1 I2C总线

I2C总线是由Philips公司开发的用于内部控制的简单双向两线串行总线,该总线具有协议完善、支持芯片多、占有I/O口线少等优点。I2C总线是由串行数据总线(SDA)和串行时钟总线(SCL)组成,一个用来传输数据,另一个用来控制数据传输时钟。该总线标准模式速度为100 Kb/s,快速模式速度可以达到400 Kb/s,高速模式可达3.4 Mb/s,I2C能在最大总线负载下实现100 Kb/s的速率运行,且器件连接的个数只受最大400 pF的电容限制。数据在I2C总线上的通行过程如图3所示。

I2C总线通信过程
I2C总线通信过程

SDA和SCL是通过一个上拉电阻与正电源连接的双向信号线。当总线空闲时,这两条信号线都保持高电平。当SCL线处于高电平、SDA线从高电平向低电平跳变时为起始信号;当SCL线处于高电平、SDA线从低电平向高电平跳变时为停止信号。起始条件和停止条件之间为通信传输的过程。

3.2 单片机的拓扑结构

由于MSP430F169单片机的串行通信模块USART0可以设置成I2C模式进行工作。在多路电阻测量系统中,主机和从机通过各自的串行通信模块USART0进行I2C主/从双向通信,主机和从机都能够接收和发送数据,但总线的时钟信号SCL、起始信号、终止信号都由主机产生。I2C总线在实现时,只需将主机和从机的管脚P3.1(SDA)和管脚P3.3(SCL)相连,并将管脚设置成I2C模式,同时I2C总线必须通过两个电阻分别将总线的SDL和S拉高。单片机的拓扑图如图4所示。

单片机的拓扑结构图
单片机的拓扑结构图

4 软件设计

4.1 双机通信的实现

MSP430单片机的I2C模块有主发送、主接收、从发送、从接收4种工作模式。双机通信程序设计主要包括初始化程序、主机模式程序、从机模式程序和中断服务程序四部分。

初始化程序包括设置单片机P3.1(SDA)和管脚P3.3(SCL)为为传输端口,端口方向。设置系统时钟,系统时钟由主机产生,选择SMCLK为系统时钟。I2C模块初始化,将控制寄存器U0CTL的控制使能位(I2CEN)置1。U0CTL一个8位的寄存器。通过对该寄存器的设置来确定通信模式、通信协议和校验位的选择。

主机模式程序功能是在主机模式下完成数据的收发。首先要对主机接收、发送初始化,定义主机的地址,对R/W位置位设置接收模式,对中断寄存器I2CIE设置定义中断使能。主机接收、发送初始化程序在每次数据收发时调用。通过对I2CRM,I2CSTP,I2CSTT三个寄存器位设置控制数据发送和接收,主机产生时钟信号、起始和停止信号。

从机模式程序中数据收发初始化部分与主机模式程序相同,值得注意的是,数据的收发过程是由I2C模块自动控制,从机接收数据时随主机产生的时钟信号在总线上接收串行数据,并对接收的数据应答。从机发送数据时,从机接收到主机发送的匹配的设备地址和主机的数据接收请求后,主机产生时钟脉冲,从机向总线发送数据。

中断服务程序的功能是实现主机和从机的数据收发,MSP430中I2C模块的是多源中断,8个中断源的中断共用一个中断向量,中断向量寄存器I2CIV的内容决定当前是哪个中断标志引起中断事件。当优先级最高的中断在寄存器I2CIV中产生对应值时,由此判断中断源并进入对应的主机模式程序和从机模式程序中,通过这2个程序中断寄存器I2CIE使能操作,完成对应的中断事件。从而实现主机和从机问数据的收发。

4.2 数据采集与处理

数据采集部分主要是从单片机通过A/D通道采集接入恒流源电路的待测电阻上产生的电压,并进行处理。MSP430F169的A/D转换具有单通道单次转换、单通道多次转换、序列通道单次转换、序列通道多次转换模式4种模式。考虑到有8路采集,每个通道每次测量要采集256次数据,因此选用序列通道多次转换模式。A/D转换电路通过模拟通道进行多通道重复转换,使其采集流经待测电阻的电压数据不断自动更新,转换结果顺序的存放在转换存储寄存器中。ADC12MCTLx寄存器的EOS位定义最后一个通道转换完成后表示一次序列通道转换完成,触发信号会触发下次序列通道转换。数据的采样时间间隔由定时器A控制,每次定时器A中断到来时读取A/D采集的数据,在读取前停止A/D转换,读取完毕后重启A/D采集,当数据采集完毕后设置标志位通知其他程序已获得新数据,通过全局变量来实现与其他处理程序数据交互。采样流程图5所示。数据处理方面,为了提高电阻测量的精度,每个测量通道在每次测量时采集256组数据,从机对采集的这256组数据进行算术平均后再通过运算得出每个通道所测量的电阻值。

流程图
流程图

4.3 系统软件实现

系统软件采用模块化设计,软件子功能程序分割与硬件模块电路相对应。系统软件包括主程序、双机通信子程序、数据采集子程序、数据处理子程序、串行通信子程序、定时器中断服务子程序、显示子程序、存储及按键控制子程序。限于篇幅只给出主程序流程图,如图6所示。

5 结语

本文多路电阻测量系统利用I2C总线实现了MSP430系列单片机之间的全双工通信,解决了基于双机通信系统的关键技术,双单片机的设计结构灵活紧凑,不但减轻了主处理器的负担,而且提高了测量的精度、可靠性和实时性,同时也是对双处理器系统研究的具体实践。

关键字:MSP430F169  电阻测量  双单片机 引用地址:基于MSP430F169的多路电阻测量系统设计

上一篇:绿色传感网中智能抄表系统设计
下一篇:基于安全处理器MAXQ1850实现的高级硬件加密狗

推荐阅读最新更新时间:2024-03-16 13:42

MSP430F169(二)——UART波特率
串口通信 1. 什么叫串口 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface)是指数据一位一位地顺序传送。 与并行接口相比,其优点也非常明显: 成本低,最少需要一根线就可以完成传输; 没有数据的相互干扰,误码率相对较低; 缺点:传输速率相对较低。 2. 串口如何建立通信 对单片机有所了解的人都应该知道,串口通信是通过调配单片机内部的寄存器来控制速率。而MSP430F169内部最重要的几个配置无非是波特率的设置和多机通信。 2.1什么是波特率 在讲波特率之前我们要区分两个概念:波特率和比特率。 比特率: 比特率是指每秒传送
[单片机]
<font color='red'>MSP430F169</font>(二)——UART波特率
MSP430F169(五)——时钟
时钟 时钟的解释我就不说了,大家心里有个数就行。首先我们的解释软件层面和硬件层面的问题。 硬件:外部的晶振,内部RC电路 软件:通过调配硬件资源来产生一些适用于不同外围电路的频率。我们把这些频率取了一些好听的名字,(ACLK SMCLK MCLK)MCLK主要用于芯片(需要的频率比较高,实现高性能处理),SMCLK用于外围电路(频率通常低于MCLK),ACLK用于外围低速率的设备(频率特别低) 有人说这么多频率没必要,用最高频率就够了。这种想法是没错,但是得想到开销啊。频率越高,功耗自然低不了。所以有多种可供选择的频率可以实现功耗与性能平衡。 直接给图,图中是f169的硬件对应的时钟(虚线代表理论可行,实际应用嘛不靠谱,因为f16
[单片机]
<font color='red'>MSP430F169</font>(五)——时钟
单片机路可编程温度控制系统
【简要说明】 一、尺寸:长72mmX宽99mmX高20mm 二、 主要芯片:单片机、DS18B20、数码管 三、 工作电压:输入电压小于12V,另有24V 可选。功耗小于2W 四、 特点:1、具有输出电压指示灯。 2、输出具有指示灯。 3、采用螺旋压接端子。 4、强大的滤波电路。 5、具有四位数码管显示,可以显示小数点。 6、具有系统复位功能 7、具有完善的保护电路:电流限制、热关断电路、电源防接反功能、续流保护、光耦隔离等 8、可接两个DS18B20传感器 9、两路继电器独立工作控制 10、可以自由编程,提供参考程序
[单片机]
<font color='red'>单片机</font><font color='red'>双</font>路可编程温度控制系统
使用绝缘电阻表进行绝缘电阻测量之前检查项目
在使用绝缘电阻表进行绝缘电阻测量之前,应做以下检查工作: (1)检查被测设备的是否已切断,并对地短路进行放电,不允许在设备带电的情况下进行测量。对于那些可能感应出高压电的设备,必须消除这种可能性后,才能进行测量。 (2)检查被测物表面是否清洁,以减小表面电阻,确保测量结果的正确性。 (3)检查绝缘电阻表是否处于正常状态,主要检查其“0”和“∞”两点。即摇动手柄,使达到额定转速,在短路绝缘电阻表时指针应指在“0”位置,而开路时指针应指在“∞”的位置。 (4)注意平稳、牢固地放置绝缘电阻表,且远离较大电流导体及强磁场。
[测试测量]
国产内核MCU怎样点燃汽车和IoT
IoT生态的逐步成熟和汽车的电子智能化,成为MCU发展的双擎。以这两大应用为核心,结合5G、AI等新技术,MCU正在快速渗透进各种细分领域。 在国内市场,国产MCU更是厚积薄发,在各个战场“攻城略地”。在2020年慕尼黑电子展上,国产MCU代表厂商芯旺微就携8位和32位MCU系列亮相,一展国产自主MCU内核“kungFu”的风采。 作为国内较早自主开发内核的MCU芯片厂商,芯旺微已经形成了完整的MCU布局,成功向应用市场推出了KF8F、KF8L、KF8A、KF8TS、KF8S等多种8位MCU产品和KF32A、KF32F、KF32L、KF32LS等32位MCU产品。 就在几天之前,芯旺微电子刚刚收获2020年度中国IC设计成
[手机便携]
国产内核<font color='red'>MCU</font>怎样点燃汽车和IoT<font color='red'>双</font>擎
基于PIC16C57单片机的智能低电阻测量
摘 要 介绍一种以PIC16C57单片机为核心的低电阻测量仪,与普通的低电阻测量仪不同的是:该测 量仪的测试电流仅为05 mA并加有多种保护电路,具有很高的安全性能。主要应用于军工 、国防、民用爆破等行业的电火工品的直流低电阻的测量。  关键词 PIC单片机低电阻火工品 低电阻测量仪按其测试电流的大小可分为两类:一类测试电流较大,主要用于接插件、开关、导体等产品的直流低电阻的测量;另一类测试电流很小(一般为1 mA左右),用于电雷管、点火具或其他危险易爆场合的接插件、开关等元器件的直流低电阻的测量。低电阻测量仪对安全性能要求很高,必须增加多种保护电路;在PCB板设计布线时也要考虑安全性和可靠性。1989年至今
[应用]
提高数字万用表电阻测量上限的技巧
以DT-830数字万用表为例,它的最大可测量的电阻值仅20M 。可在实际测量中,有时需要测量的电阻值会更大一些。这样,数字万用表会显示 1 表示超量限,不能测量。 这里介绍的提高数字万用表电阻测量上限的技巧,其实十分简单:准备一只略小于20M 的电阻,将待测的大于20M 的电阻与它并联。用数字万用表的R 20M 测出这两只并联电阻器的总阻值,然后根据电阻并联公式运算,即可算出待测电阻器的阻值。 这种方法测量误差很小,最大测量范围可达100M 以上。
[测试测量]
基于51单片机的CAN总线中继器设计
引 言 CAN总线以其开发维护成本低、总线利用率高、传输距离远(最远可达10 km)、传输速率高(最高可达1 Mbps)使用户能组建稳定、高效的现场总线网络。CAN总线已被广泛应用到各个自动化控制系统中,例如汽车电子、自动控制、智能大厦、电力系统、安防监控等领域。随着CAN总线网络区域的扩大,2个节点之间的直接数据传输将难以满足远距离通信要求。CAN中继器是延长CAN总线通信距离的中转站,其通信效率和通信可靠性直接影响CAN总线的通信能力。传统的基于单MCU的CAN中继器难以满足大量数据的中转要求,本文基于双MCU设计高性能的CAN总线中继器。 1 系统总体设计 CY7C136是2 KB高速CMOS静态RAM。同一
[单片机]
基于<font color='red'>双</font>51<font color='red'>单片机</font>的CAN总线中继器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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