访问手机版页面
你的位置:老古开发网 > 其他 > 正文  
基于嵌入式处理器MAXQ2000的温度测控系统
内容导读:

摘要 介绍MAXQ2000的结构、特点、性能及应用,给出由嵌入式微处理器芯片MAXQ2000和MAX1407组成的温度测控系统的硬件结构及部分软件代码。

关键词 MAXQ2000 嵌入式微处理器 温度测控系统 MAX1407

1MAXQ2000介绍
1.1MAXQ2000的结构
MAXQ2000是Maxim/Dallas公司的新产品, 是一种高性能、16位的RISC器件。MAXQ采用Harvard存储器结构,将数据、代码和寄存器空间安排在不同的总线上。这种存储器结构的主要优点是字长灵活,允许系统与外设寄存器是8位或16位的结构;另一个优点是始终利用寄存器来访问存储器,允许使用直接存储器(MAC)方式访问外设,提高系统的处理速度。
MAXQ2000采用68引脚QFN的封装形式。新型MAXQ2000微控制器内含64KB闪存、2KB SRAM、1个看门狗定时器、2个串行接口、1个SPI主从接口、3个定时器、1个16×16硬件乘法器、32位二进制时钟和1个128段LCD控制器。该LCD控制器通过4个通用驱动器与36个段驱动器支持多种配置,也可将每个段的引脚配置为通用I/O,其中很多支持中断操作。MAXQ2000采用16位指令集、ALU和数据通路,基于传送触发架构(transfertriggered architecture);每条指令归根结底是一条简单的“move”指令,使MAXQ能够在单个时钟周期内执行几乎所有指令;微控制器接近20MIPS的性能,使其能够通过使用硬件乘法器和48位累加器的低端DSP执行复杂控制。
1.2MAXQ2000的外设
MAXQ2000具有广泛的集成外设,包括:
◆ 132字段的LCD控制器;
◆ 集成SPI端口,具备主机与从机模式;
◆ 1Wire总线主机;
◆ 2个串行UART;
◆ 硬件乘法器;
◆ 3个16位定时器/计数器;
◆ 看门狗定时器;
◆ 32位实时时钟,具有秒与日历闹钟;
◆ 支持在线调试的JTAG接口。
2MAXQ2000的主要应用
MAXQ2000主要有如下方面的应用:消费类电子、数据采集系统和数据记录仪、电化学与光传感器、气体或化学传感器、HVAC、工业控制、医疗仪器、安全监测、智能发送器和温度/湿度传感器。
Dallas公司同时提供评估套件。套件的集成开发环境(IDE)包括调试器、汇编器/连接器、IAR C编译器和仿真器。套件与IAR Embedded Workbench开发环境相结合,为用户提供了C语言或汇编语言的应用开发与测试手段。如果要与PC进行通信,该套件还提供用于与PC通信的JTAG接口板以及LCD子板。图1是MAXQ2000通过通信接口板JTAG适配器与PC机连接进行通信的示意。
3MAXQ2000在温度测控中的应用
MAXQ2000的温度测控系统由以下几部分组成:由MAX1407组成的温度数据采集系统(DAS)接口、嵌入式微处理器芯片MAXQ2000、温度的实时显示屏LCD等。图2是由MAX1407组成的温度数据采集系统(DAS)接口。
该温度测控系统使用了MAX2000的LCD控制器、SPI端口的主机模式、UART、硬件乘法器以及定时器。定时器用来产生周期性的中断。出现中断时,MAXQ2000读取一个温度读数,并用LCD与其中一个串口输出结果。SPI端口与包含ADC的MAX1407数据采集系统(DAS)接口。将热敏电阻与MAX1407的ADC相连,然后图1PC机通过串口JTAG适配器与MAX2000连接示意图2由MAX1407组成的数据采集系统获得温度读数。为了使用LCD,必须配置两个控制寄存器。一旦这些寄存器设置完毕,将LCD数据寄存器之一中的位置位,就可以点亮LCD上的字段。下列代码说明了在该应用实例中如何配置LCD控制器。void initLCD (){
LCRA_bit.FRM = 7;
LCRA_bit. LCCS = 1;
LCRA_bit. DUTY = 0;
LCRA_bit. LRA = 0;
LCRA_bit. LRIGC = 1;
LCFG_bit. PCF = 0x0F;
LCFG_bit. OPM = 1;
LCFG_bit. DPE = 1;
}通过SPI通信的三个寄存器用来控制MAXQ2000支持的不同SPI模式。为了与MAX1407通信,用以下代码初始化SPI部分,并将其置为正确的模式。PD5 = 0x070; .
PD5 &= ~0x080;
SPICK = 0x10;
SPICF = 0x00;
SPICN_bit. MSTM = 1;
SPICN_bit. SPIEN = 1; 在该应用系统中,用MAXQ2000的一个串口输出当前的温度读数。数据写到端口之前,应用程序必须先设置波特率与串口模式。此外,需要初始化几个寄存器来开放串口通信。void initSerial(){
SCON0_bit.SM1 = 1;
SCON0_bit.REN = 1;
SMD0_bit.SMOD = 1;
PR0 = 0x3AFB;
SCON0_bit.TI = 0;
SBUF0 = 0x0D;
}该温度测控系统中用到的最后一部分是16位定时器之一。该定时器用来产生中断,触发2次/s的温度读数。在配置计数器时,必须设定重装值,指定时钟信号源,并启动定时器。以下代码给出了初始化定时器0所需的步骤:T2V0 = 0x00000;
T2R0 = 0x00BDC;
T2CFG0_bit.T2DIV = 7;
T2CNA0_bit.TR2 = 1;温度测控系统将该定时器用作中断源。使用IAR的编译器,通过调用__enable_interrupt()函数开放全局中断,有效地将中断与控制(IC)寄存器中的中断全局使能(IGE)位置位。由于定时器0位于模块3中,将中断屏蔽寄存器(IMR)中的位3置位,开放该模块的中断。将定时器/计数器2控制寄存器A (T2CNA)中的定时器中断使能(ET2)位置位,开放局部中断。
__enable_interrupt()
T2CNA0_bit.ET2 = 1;
IMR = 0x08;
结语
基于MAXQ2000嵌入式处理器及MAX1407的温度测控系统,结构简单;将高精度的模拟功能与数字器件结合起来,减少了系统中所用到的芯片数量,节约了系统的成本。同时由于IAR的Embedded Workbench的加入,允许用ANSI兼容的C语言或汇编语言编写代码,对于一般不太熟悉MAXQ2000的用户都很容易上手,开发出适合于系统的应用程序。
参考文献
1Microcontroller MAXQ2000 ENGINEERING REVIEW. 2004
2http://www.maxim-ic.com.cn/products.cfm
3王田苗. 嵌入式系统设计与实例开发\[M\]. 北京:清华大学出版社,2003
4王建校, 杨建国, 宁改娣,等. 51系列单片机及C51程序设计\[M\]. 北京:科学出版社,2002

标签:
来源:单片机与嵌入式系统应用 作者:湖北师范学院 洪家平 时间:2006/8/10 0:00:00
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐