- 06/01
- 2015
-
QQ扫一扫
-
Vision小助手
(CMVU)
摘要:介绍了基于ARM的嵌入式温度控制系统主机硬件结构与基于AVR的嵌入式温度控制系统从机硬件结构,选用8M的FLASH和32M的SDRAM作为系统存储器,扩展以太网接口、串行接口等外围通信设备以及输入输出接口。从机采用Atmega128系列单片机,完成温度的采集及向主机发送数据信息。AT91RM9200与Atmega128通过串行口进行通讯。该嵌入式温度控制系统,具有系统扩展性强、可靠性高、响应速度快、体积小等特点。
关键词:硬件组成,AT91RM9200,存储器,接口电路,Atmega128
温度的测量和控制在嵌入式工业生产中有广泛的应用。目前控制方案主要是采用传统的PLC和单片机进行控制,满足了用户大多数场合的需要。PLC主要是针对单项工程或者重复数极少的项目,灵活性相对不足,并且体积大,成本相对较高,;而单片机主要用于小型设备的控制,尤其是专业电子设备的控制,具有成本低,功耗低,效率高的特点,但是也存在程序一次性拷入后无法修改,对外围设备的控制较低,抗干扰能力差等缺点。本文采用嵌入式技术为用户提供了一种新型的控制方案。
一、主机的硬件组成
基于ARM的嵌入式温度控制系统主机硬件设计,系统主机硬件结构主要由以下几部分组成:
1、电源电路:输入5V,经过DC-DC变换转换为1.8V和3.3V,给系统内各器件提供工作电压。
2、晶振电路:18.432MHz有源晶振经过倍频分别为ARM940T核/系统提供180MHz的时钟频率。
3、微处理器:即AT91RM9200,是系统的工作和控制中心。
4、存储器:可存放引导程序,嵌入式操作系统,用户应用程序或其它在系统掉电后需要保存的数据。
5、网络端口:10J100Mbps速率的RJ45接口,为系统提供以太网接入的物理通道。
6、串行接口:用于AT91RM9200系统短距离双向串行通讯。
二、主机的硬件设计
1、电源电路
AT91RM9200需要1.8V和3.3V电源,另外,大部分外围器件需要3.3V电源,小部分外围器件还需要5V电源。此处选用了Sipex公司生产的SPX1117M3-3.3型低压差(LDO)稳压器和SPX1117M3-1.8型低压差(LDO)稳压器进行DC-DC变换后为各个器件提供工作电压。
2、晶振电路
晶振电路用于向AT91RM9200微处理器提供时钟,如图1所示。本系统包括两个晶振,无源晶体振荡器X1(18.432MHz)和X2(32.768kHz)作为系统的主振荡器和慢时钟振荡器,其中32.768kHz晶振为系统提供慢时钟,18MHz晶振通过倍频后为系统提供180MHz的主机时钟。
3、AT91RM9200处理器
是Atmel公司基于ARM920T核的高性能、低功耗16/32位RISC微处理器,其最高主频为180MHz,其双向、32位外部数据总线支持8位、16位、32位数据宽度,26位地址总线可以对最大64MB空间寻址。是系统的工作和控制中心。
4、存储器
存储器模块包括Flash存储器和SDRAM存储器两个部分。
FLASH存储器用于存放引导程序、嵌入式操作系统、用户应用程序及重要的数据等,即使掉电程序和数据都不会丢失。设计中采用Intel公司生产的28F640J3A,其存储容量为64Mbit(8MB),工作电压为2.7V~3.6V,采用48引脚TSOP封装,16位数据宽度。
SDRAM存储器是是系统代码的运行场所,存放系统运行时的程序和数据,但掉电后该部分程序和数据会丢失[3]。设计中使用2片数据宽度为16位的SDRAM并行运行作为一个32位数据宽度的SDRAM模块,如图2所示。使用的SDRAM电路为Hynix公司的HY57V651620BTC,其工作电压为3.3V,单片存储容量为4组×16Mbit,54引脚TSOP封装,兼容LVTTL电平接口,支持自动刷新和自刷新。
5、接口电路
(1)网络端口:采用DAVICOM公司的DM9161作为以太网的物理层接口。通过这个接口可以控制和配置很多物理层设备,得到状态和错误信息,并且确定PHY设备的工作方式和功能。
(2)串行接口:用于AT91RM9200系统短距离双向串行通讯。使用的电平转换电路为Sipex公司双产的SP3232E。本系统包含1个UART接口,它是两线调试串口,用来连接到超级终端观察AT91RM9200的启动,完成与PC的通讯调试。其原理图如图3所示
(3)以太网接口电路
在本设计中,使用DAVICOM公司的DM9161作为以太网的物理层接口,它起编码、译码输入和输出数据的作用。同时DM9161提供了IEEE802.3标准定义的Mil,来控制物理层和MAC的数据传输。DM9161使用一个简单的两线制串行接口来通过MII控制物理层并接收来自物理层的信息,其串行控制接口包括MDC(数据时钟)和MDIO(数据输入输出)。Mil串行管理包括一个数据接口,基本寄存器设置和一个针对寄存器设置的串行接口。通过这个接口可以控制和配置很多物理层设备,得到状态和错误信息,并且确定PHY设备的工作方式和功能。
将DM9161的REF_CLK端接至50MHz晶振的输出端;DM9161的TXDI,TXD2,TXEN,RXD1,RXD2端接至AT91RM9200的ETXO,ETXI,ETXEN,ERXO,ERXI;DM9161的EXesEN,COL,PWRDWN端分别通过10K电阻接高电平,BGRESG,BGRES之间接6.8K电阻;将DM9161的RXesDV,RXER,RESET,MDC,MDIO端接至AT91RM9200的ECRS,ERXER,NRST,EMDIO,均连接发光二极管,DM9161的TX+,TX-,RX+,EMDC,FDX,SPEED,LINKRX连接网络隔离变压器。
三、从机硬件组成及设计
1、ATmega128单片机
ATMEL公司的AVR单片机是增强型RISC内载Flash的单片机,128K字节的系统内可编程Flash(具有在写的过程中还可以读的能力,即RWW)、4K字节的EEPROM、4K字节的SRAM、53个通用I/O口线、32个通用工作寄存器、实时时钟RTC、4个灵活的具有比较模式和PWM功能的定时器/计数器(T/C)、两个USART、面向字节的两线接口TWI、8通道10位ADC(具有可选的可编程增益)、具有片内振荡器的可编程看门狗定时器、SPI串行端口、与IEEE1149.1规范兼容的JTAG测试接口,以及六种可以通过软件选择的省电模式。
2、系统控制和复位
复位时所有的I/O寄存器都被设置为初始值,程序从复位向量处开始执行。复位向量处的指令必须是绝对跳转JMP指令,以使程序跳转到复位处理例程。如果程序永远不会使能中断,则中断向量可以由一般的程序代码所覆盖。
3、I/O端口
作为通用数字I/O使用时,所有AVRI/O端口都具有真正的读-修改-写功能[5]。输出缓冲器具有对称的驱动能力,可以输出或吸收大电流,直接驱动LED。
4、SPI串行外设接口
串行外设接口SPI允许ATmega128和外设之间进行高速的同步数据传输。主机和从机之间的SPI连接如图5所示。
5、16位定时器/计时器
16位的T/C可以实现精确的程序定时、波形产生和信号测量。T/C1、T/C3的普通模式、CTC模式、快速PWM模式、相位修正PWM模式与T/C0、T/C2相同。
6、A/D、D/A电路
TLC2543是带串行控制和11个输入端的12位模数转换器,用单片机的PC0口接TLC2543的片选端(CS)引脚,PC1口接TLC2543的数据输出端(DATAOUT)引脚,PC2口接TLC2543的地址输入端(DATAINPUT)引脚,PC3口接TLC2543的输入/输出时钟(I/OCLOCK)引脚,采用OP07搭建模拟信号放大电路,将接收到的传感器信号放大,TLC2543的AIN0端接经放大电路后的模拟信号,完成A/D转换。
TLC5615是一个十位串行的三线制数字-模拟转换器(DAC),本控制器用单片机的PB0口接TLC5615的片选端()引脚,PB1接TLC5615的串行时钟输入端(SCLK)引脚,PB2接TLC5615的串行数据输入端(DIN)引脚,TLC5615的DAC模拟电压输出端(OUT)接变频器的调频比端,完成D/A转换。
4、结语
Atmel公司的32位ARM9嵌入式微控制器AT91RM9200和Linux操作系统实现温度控制,该系统具有扩展性强、可靠性高、测量和控制精度较高、多任务实时调度、响应速度快、体积小等特点,是性价比高的温度控制系统。