芯片资讯
- 发布日期:2024-08-02 07:10 点击次数:137
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)所示。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所示。
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系列单片机之间的全双工通信,解决了基于双机通信系统的关键技术,双单片机的设计结构灵活紧凑,不但减轻了主处理器的负担,而且提高了测量的精度、可靠性和实时性,同时也是对双处理器系统研究的具体实践。
- 基于IGBT技术实现反并联二极管的正确设计2024-10-12
- 基于FPGA器件实现有限冲激响应滤波器的方案设计2024-09-21