嵌入式操作系统在炉温控制中的应用-曹益发 - 图文(3)

2019-08-31 15:34

加到输入和输出引脚上允许的最大电压的限制问题;两个电源间电流的互串问题;必须满足的输入转换门限电平问题。

器件对加到输入脚或输出脚的电压通常是有限制的。这些引脚有二极管或分离元件接到VCC。如果接入的电压过高,则电流将会通过二极管或分离元件流向电源。例如3V器件的输入端接上5V信号,则5V电源将会向3V电源充电。持续的电流将会损坏二极管和电路元件。

S3C44BOX是LVCMOS电路,MC14433, X9312是CMOS电路,现比较一下LVCMOS和CMOS逻辑电平见表。

可见LVCMOS的VON<3.3,而CMOS的VIH,>3.5V,所以LVCMOS不能驱动CMOS,所以必须选择电平转换器件进行电平转换,选择IDT公司的IDT74FCT164245T,它是16位3. 3V和5V双向逻辑电平转换的CMOS芯片,它有两个端口A,B,其中A端接3.3V, B端接5V,控制其输入输出使能引脚就可以控制逻辑电平转换方向,如图所示,只画出一个8位端口的转换逻辑框图。

控制xOE,xDIR引脚逻辑电平就可以控制端口电平转换方向,具体

8

情况请看表。

3.5 LCD显示、存储器设计

由于S3C44BOX内部有LCD控制器,故选择不带驱动器的液晶,选择台湾三亚的STN液晶LM403,它是160X160点阵,四位数据数据总线,EL背光,它的电源电压是3.3V,因此可直接和S3C44BOX相连。

程序存储器选择2MB 16位的SST39VF160, RAM选择现代公司8M 16位PC100/PC133 SDRAM HY57V641620。

3.6 键盘、串口设计

键盘采用3X3矩阵式,串口采用MAX3232。

3.7 系统晶振与复位电路设计

系统cPu外部晶振是8Mhz,由于S3C44BOX内部有锁相环,CPU主频可凡倍于外部晶振,CPU主频可通过软件设定。用于系统实时时钟的备用Li电池电源,系统实时时钟为32. 726Khz。

由于系统内部有看门狗电路,可以通过软件设定看门狗时间。但是为了系统的可靠性。设计了系统的硬复位电路,它通过斯密特74hc 14触发器复位。

3.8 热电偶冷端温度测量

由于热电偶的冷端的温度随着环境温度的变化而变化,所以需要对热电偶的冷端温度进行补偿,在有的设计中直接在热电偶测温电路中用电桥法补偿,但需要经常较准比较麻烦。本文采用实时测量热电偶的冷端环境温度,用软件的方法进行补偿。

9

用MAX876产生lOV精密电压基准,输出误差士7MV,配合OP07产生lOMA恒流源,运算放大器工作在开环状态,由于同相端和反相端的压差几乎为零,运算放大器的偏置电流可以忽略不计,所以产生IOMA的电流通过10052铂电阻。查铂热电阻(Pt100)的分度表,0\为10052, 20\为107. 7952,

大约每升高一度,热电阻的阻值增加为0. 3952,那么热电阻的电压变化为0.0039v,而S3C44BOX内置10位A/D转换器,它的基准电压为2.5V,它的分辨率为0.00244V,所以10位A/D转换器能满足精度要求。 冷端温度测量的输出接在S3C44BOX的A/D转换的AINO通道上。系统的硬件电路原理图详见附录A,B,C和D。

3.9 小结

本章设计了以S3C44BOX为核心的硬件电路,包括系统晶振、A/D转换、LCD显示、串行口、存储器系统、硬复位电路、3. 3V和5V接口电路、量涅转换、通道选择等电路。

第4章系统软件设计

4.1 移植μC/OS-II

S3C44BOX处理器架构是ARM7TDMI,汇编语言是ARM指令集,要想移植成功,得花时间熟悉新处理器的结构和汇编指令,改写与处理器相关的代码。

10

可以看出,p.C/OS-II中有3个和处理器相关的代码,在移植过程中只需改动OS_ CPU. H、OS_ CPU_ A.ASM和OS_ CPU_ C.C三部分即可。 1.设置OS一 CPU. H代码

除了定义一些数据类型外,还定义了两个重要函数: #define OS_ENTER_CRITICAL() #define OS EXIT CRITICAL()

ARMDisableInt() /*关中断*/ ARMEnableInt()/*开中断*/

在OS CPU A. S中详细的定义了ARMDisableInt () ,ARMEnableInt () 。 2.设置OS_ CPU一 C.C

定义

void*OSTaskStkInit (void (*task)(void *pd), void *pdata, void *ptos,INT 16U opt);

/*这个函数被OSTaskCreate()或OSTaskCreateExt()来调用初始化一个任务*/ void OSTaskCreateHook (OS_TCB *ptcb); /*此函数当任务被创建时被调用*/ void OSTaskDelHook (OS_TCB *ptcb); /*此函数当任务被删除时被调用*/ vo i d OSTaskSwHook (void); /*此函数当任务交换时被调用*/ void OSTaskStatHook (void):

/*每时刻由uC/OS-II调用去统计任务*/ void OSTimeTickHook(void): /*系统嘀嗒时间钩子函数

这几个钩子函数没有定义,需要用户自己定义。 3.设置OS CPU A. ASM 定义了四个函数

ARMEnableInt /*在SVC模式能够中断*/ STMDB sp!,{r0} MRS r0,CPRS ORR r0, #NoInt MSR CPSR cxsf, r0

11

LDMIA sp!,{r0} MOV pc, lr

ARMEnableInt/*在SVC模式不能够中断*/ STMDB sp!,{r0} MRS r0, CPSR ORR r0, r0, #NoInt MSR CPSR cxsf, r0 LDMIA sp!,{r0} MOV pc, Ir

void OS_TASK_SWAP(void)/*任务环境交换*/ STMFD sp!,{Ir}; STMFD sp!,{Ir}; STMFD sp!,{r0一r12}; MRS r4, CPSR STMFD sp!,{r4} MRS r4, SPSR STMFD sp!,{r4}

--------------------------------------------------------------- OSStartHighRdy/*开始优先级最高的任务*/ LDR r4, addr OSTCBCur: LDR r5,addr-OSTCBHighRdy; LDR r5,(r5]; LDR sp, [r5]; STR r5,[r4]; LDMFD sp!,{r4}; MSR SPSR cxsf, r4; LDMFD sp!,{r4}; MSR CPSR_ cxsf, r4;

LDMFD sp!,{r0一r12, 1r, pc};

配置完后,μ/OS-II就可以运行在ARM处理器上。

12


嵌入式操作系统在炉温控制中的应用-曹益发 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:水利工程施工质量自检检测计划

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: