结 语 23
参考文献 24
致 谢 25
1 绪论
1.1选题背景
人们的生活与环境温度息息相关,物理、化学、生物等科学都离不开温度。像太阳能热水器、电力、石油、农业大棚经常需要对环境温度进行检测,并根据实际的要求对温度进行控制。例如,许多太阳能热水器中,需要通过温度检测来控制其水泵运作;在农业大棚中,通过温度检测来判断是否合适农作物种植与生长;许多电子设备都有额定温度单位,没有合适的温度会使电子产品造成故障等等。传统的测量不仅费时费力,因此本文设计的基于ARM的多通道温度控制系统,使得测温更加精确,并且方式更多。对温度检测的方法也不同。传统的检测温度方式不仅单一,而且达不到很多的精度要求,但是现在加入了ARM芯片,可以进行数据检测、保存、控制、运算。
1.2系统框架图
本文用STM32F103VET6芯片作为处理器,以八个DSl8B20芯片作为温度采集并实现测量,液晶显示屏或者8个8位数码管以便完成显示,矩阵键盘实现不同的测量点之间的切换,而JLINK可以实现软件的仿真调试,而当温度超过最高温度等于或低于最低的系统会报警。系统总体框架图如图1-1所示:
系统总体框架
2 硬件设计
2.1 ARM芯片选择
根据以往都使用的51单片机,ARM7或ARM9芯片,我们选择的芯片拥有更强大的性能和更高的代码密度,并且带有位运算的Cortex-M3内核的STM32系列,它最大优势是低功耗且可以嵌套终端。 Cortex-M3最中央的内核使用哈佛结构,数据和指令各用一条总线。但和Cortex-M不同,ARM7系列处理器是冯·诺依曼结构,指令和数据共用信号总线和内存。由于指令和数据可以同时从存储器读取,所以Cortex-M3处理器可以并行执行多个操作,增加了应用程序执行的速度。
Cortex-M3的内核流水线分3个不同的阶段:取指,译码和执行。如果遇到分支指令,译码阶段也会和预测的指令取指,这因此增加了执行速度。而处理器在译码阶段会自行对分支目的地指令进行取指。以后在执行的过程中,处理完分支指令后便会知道下一个要执行的指令。如果分支不跳,那么下一条指令可以使用在任何时候,如果分支跳,那就会在跳转同时分支指令可被使用,空闲时间周期限定为一个周期。
Cortex-M3内核包含了支持硬件乘法和除法先进的AUL,控制逻辑器和用于连接其它部件处理器接口,且拥有一个新的Thumb-2和一个传统的Thumb指令译码器可供试用。
Cortex-M3处理器是32位超宽数据通道的32位处理器,寄存器组和存储器接口。其中13个通用寄存器,一个链接寄存器和两个堆栈指针,以及一系列包含编程状态寄存器的特殊功能寄存器。
STM32的主要优势体现在如下方面:
价格低廉:以8机的平均价格获得32位机,这是STM32最大的优势 。
拥有许多外围设备:STM32已包括:TIMER,DMA,I2C,CAN,ADC,USB, DACRTC ,SPI ,SDIO等功能,并且 具有很高的集成度 。
优越的实时性能:84个中断,16编辑优先级和每个引脚可以作为中断输出 。
出色的功耗控制: STM32每个外设都有自己独立的时钟切换,并在相应的外设时钟可以被关闭,以降低功耗。
开发成本低:STM32开发人员并不需要昂贵的仿真器,你只需要拥有一个串行端口下载端,并支持两种SWD和JTAG调试端口。