本文的主要工作是选用以ARM7DTM工核的Samsung公司的s3c44bOx为CPU(后面有详细介绍),把μ/OS一工工实时嵌入式操作系统移植到s3c44bOx上,然后对电阻炉的温度实现实时控制。最终测试系统的性能,验证控制效果。
本文的工作分为三部分:一是系统的硬件设计,二是系统的软件编程,三是控制算法的改进。系统的开发环境是开发工具ARM SDT?.51和}.C/OS-II源代码,在Windows98的PC机上开发。
第2章 ARM嵌入式处理器
2.1 ARM公司的历史
ARM即是Advanced RISC Machines的缩写。ARM公司是英国的芯片设计公司,是知识产权(IP)供应商,其本身不生产芯片,靠转让设计许可由合作伙伴来生产各具特色的芯片。 1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州San Jose VLSI技术公司制造。1990年成立了Advanced RISC Machines Limited(后来简称为ARM Limited>o
20世纪90年代,推出ARM 32位嵌入式R工SC处理器,ARM 32位体系结构目前被公认为是世界上领先的32位嵌入式RISC微处理器结构,所有ARM处理器共享这一体系结构。
2.2 ARM处理器分类
ARM处理器芯核当前有5个产品系列:ARM7, ARMS, ARM9E, ARM10和SecurCore。另外还有Intel Xscale微体系结构和StrongARM产品。其中以ARM7TDM工为内核的处理器是世界上广泛使用的32位嵌入式RISC处理器。ARM7TDMI本身不带内存管理单元(MMU>,因此它不支持Windows CE和大部分Linuxa ARM720T以上芯核都带MMUa
ARM处理器芯核的体系结构是典型的RISC处理器。ARM7的指令体系结构是三级流水线和冯·诺依曼结构,ARM9是五级流水线和哈佛结构,ARM10是6级流水线结构。RISC的指令规整、对称、简单,并且是单周期指令,只有加载/存储指令可以访问存储器,所以说RISC的指令执行起来效率很高,功耗很小。
3
2.3 ARM/Thumb指令集
ARM处理器既有ARM 32位指令集,也有16位压缩Thumb指令集。Thumb 16位指令是ARM 32位指令的扩充。Thumb指令集是大多数常用的32位AR指令的子集,压缩成16位宽操作码。在执行时,16位指令透明地实时解压缩成全32位ARM指令且没有性能损失。与等价的32位代码相比,Thumb指令占用的存储器空间高达35%,然而保留了32位系统的优势。Thumb体系结构的扩充使得在8/ 16位系统价格下可得到32位性能,可以获得最小化系统存储器和价格下的出色代码密度,在低系统价格的8或16位总线上由16位存储器得到32位性能。
第3章系统硬件设计
3.1 Samsung S3C44BOX简介
S3C44BOX的CPU核采用ARM公司的16/32位ARM7TDMI RISC结构(主频最高可达75MHZ),并在此基础上扩展了一系列完整的通用外围元件,使系统的费用降至最低,消除了增加附加配置的需要。
3.1.1 S3C44BOX的I/0端口
S3C44BOX有一个10位输出端口A、一个Il位输出端口B、一个I6位输入输出端口C、两个8位输入输出端口D和G、两个9位输入输出端口C和F。它们每个端口都有端口配置寄存器、端口数据寄存器,通过配置端口寄存器就可以确定端口的功能。
3.1.2 中断控制器
S3C44BOX能够接受30个中断源的中断请求,并提供中断矢量控制模式来减少中断延迟。这些优先级的判定是由其硬件逻辑执行的,所以仲裁中断优先级的速度比起原始的ARM7TDMI快。其中26中断(RTC和个中断源被分成四组主从模式, 核的以软件仲裁处理要以及另外两个固定优先级ADC)。每组有4个优先级可分的中断,另外两个中断是固 定的。在这些中断源中除了RTC和ADC的优先级被设置成最低外,其它组的主从模式中断源优先级可分。
4
在本设计中用到中断源EINTO,当热电偶温度经过A/D转换完成以后,发出转换完信号给EINTO,然后中断处理。
3.1.3 LCD控制器
S3C44BOX内置LCD控制器,支持每象素单色、2位、4位辉度等级,并且支持256彩色STN LCD板;支持4位双端、单端,8位单端扫描LCD板:支持LCD电源节能模式,支持屏幕尺寸有640x480,320x240,160x160像素。
3.1.4 存储器
S3C44BOX存储空间分为8段(BankO-Bank7),可以配置8个存储体,其中每个存储体的大小为32M,总共可达256M,在本系统设计中只用到BankO和Bank6。
3.2 系统设计思想
电阻炉温控制采用固态继电器调功率法调节温度,炉温变化范围从0-100‘℃,采用非线性预报的神经网络PID算法和专家系统控制算法,在100℃进行恒温控制。热电偶冷端温度补偿采用温度曲线线性化,用软件查表法实现。
整个系统采用韩国三星公司的S3C44BOX (16/32位)作为CPU,并包括3*3键盘、LCD显示、一个串口通信、A/D转换、存储器采用FLASHROM, SDRAM、开关量输出、固态继电器等。外部CPU晶振为8M hz,系统内部时钟为66Mhz。见系统硬件原理框图6-l0
由于温度信号变化较慢,故采用3位半双积分A/D转换器MC14433,其转换速度为1-10次/秒,它的时钟频率通常设置成工频的整数倍,以提高抑制工频干扰的能力。 热电偶信号经多通道转换开关4051至3个运算放大器组成的差动放大电路,放大器采用低失调电压、电流、高输入电阻的567650。在放大电路部分采用数字电位器50K的X9312进行多量程转换。
系统可通过LCD动态的显示当前温度,并显示温度曲线,并通过RS232和其它设备通信。可通过JTAG调试程序。
通过键盘可设定热电偶型号、通道号,以及温度上限值。
5
3.3 信号放大电路设计
信号放大部分采用对称的差动运放电路,并用数字电位器X9312来改变量程增益。
6
在本设计中,选择用K型热电偶测温,因此选择数字电位器的位置为X=36,Ah=48。下面介绍一下数字电位器X931的操作原理,如图所示,它包括输入控制部分、7位计数器、7位非易失性存储单元,以及3端可选择电阻阵列输出。通过输入控制就可以选择电子开关导通的位置,既改变RW的位置。各输入端电平工作方式如表所示。CS:是片选信号,U/D:是控制计数器的工作状态是增加还是减少,INC:是负脉冲触发移动Rw的位置。
这样通过对X9312的模式选择,就可以改变放大器的量程增益。在热电偶差动放大输出后进行RC低通滤波。滤波截止频率为50HZ,这样工频为50HZ以上的高次谐波将被滤掉。
3.4 3.3V和5V逻辑器件接口
在本设计中由于采用的3.3V的芯片,还有5V的芯片,这样在一个系统共存两种逻辑电平。在混合电压系统中,不同电源电压的逻辑器件相互接口时会存在以下3个主要问题:
7