新闻中心

EEPW首页>模拟技术>设计应用> 基于MSP430F169的多路电阻测量系统

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

作者: 时间:2012-03-28 来源:网络 收藏
none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">为了保证恒流源的稳定,在放大电路之后连接跟随器电路,跟随器电路选择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所示。

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

SDA和SCL是通过一个上拉电阻与正电源连接的双向信号线。当总线空闲时,这两条信号线都保持高电平。当SCL线处于高电平、SDA线从高电平向低电平跳变时为起始信号;当SCL线处于高电平、SDA线从低电平向高电平跳变时为停止信号。起始条件和停止条件之间为通信传输的过程。
3.2 单片机的拓扑结构
由于单片机的串行通信模块USART0可以设置成I2C模式进行工作。在测量系统中,主机和从机通过各自的串行通信模块USART0进行I2C主/从双向通信,主机和从机都能够接收和发送数据,但总线的时钟信号SCL、起始信号、终止信号都由主机产生。I2C总线在实现时,只需将主机和从机的管脚P3.1(SDA)和管脚P3.3(SCL)相连,并将管脚设置成I2C模式,同时I2C总线必须通过两个电阻分别将总线的SDL和S拉高。单片机的拓扑图如图4所示。

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

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模块自动控制,从机接收数据时随主机产生的时钟信号在总线上接收串行数据,并对接收的数据应答。从机



评论


技术专区

关闭