对于ε的确定,可根据具体情况来确定。
3).程序流程图
在设计中,ε为2。程序流程图如图4-14所示
图4-14 温度控制流程图
4.3.6 远程加载程序的设计
此功能模块就是利用“在系统编程” (In-System Programming,简称ISP)技术,可以实现对系统进行在线升级。所谓“在系统编程”技术是指在用户设计的微控制器系统中为配置新的系统功能而对器件进行重新编程,并在线地将程序代码(固件)下载到程序存储器中的一种编程技术。它的出现是对传统编程方法的重大突破。
在设计中,PC机利用串口向系统发送各种命令,如片擦除、页擦除、编程等命令,系统正确接收之后分析执行,从而完成加载升级功能。其详细设计如下。
1).相关寄存器简介
本设计中选用了SynCMOS公司的SM5964作为主控制器,利用串口即可方便地实现ISP功能,SM5964处理器是以80C52为内核,芯片有64KB Flash 存储器,其中可用于实现ISP功能的程序空间为N512 字节(N= 0,1,…,8 ),为实现ISP功能,专门设计了5个专用特殊功能寄存器。分别如下:
⑴ 系统控制寄存器(SCONF,BFH)
WDR R R R R ISPE OME ALE1
SCONF的位2(ISPE)是ISP功能的使能位,该位置置1使能ISP功能,置0禁止ISP功能。这可以防止由于软件设计失误而造成的芯片擦除操作。
⑵ FLASH控制寄存器(FCR,F7H)
START R R R R R F1 F0
START:ISP功能起始位,置1时,执行由位1、位0(F1、F0)所制定的ISP功能。置0时,空操作。
START位被置1后,SM5964内部硬件电路会锁存地址和数据总线,并保持住PC指针直到START位置0。不必对此位的状态进行查询。
位F1、F0:ISP功能选择位如下所示
F [1:0] ISP功能
00 字节编程
01 片保护
10 页擦除
11 片擦除
⑶ FLASH 高位地址寄存器(FAH ,F4H)和低位地址寄存器(FAL, F5H)
FAH & FAL为ISP功能提供16位的FLASH地址。
⑷ FLASH数据寄存器(FDAT, F6H)
FDAT寄存器为ISP功能提供8位数据。
2).协议的约定
PC机侧的详细情况见下一章。在实现中,系统只是根据PC机发来命令执行相应的功能,根据命令执行情况向PC机返回执行结果(执行成功还是失败),当执行成功时向PC机发送AAH命令,当执行失败时,向PC机发送55H,通知PC机重新执行。
功能 命令 校验和
命令执行成功 AAH 56H
执行命令失败 55H ABH
3).程序设计
系统工作转到ISP功能状态时,首先对串口进行初始化,然后接收PC机发来的命令帧(有的包含数据),确认正确接收之后,分析执行。
设计中,串口初始化状态是:8位数据,波特率1200,
4.4 系统设计中的注意事项(硬件抗干扰、软件调试)
第五章 PC侧程序的设计
根据第四章的论述,为了实现对系统的监控和在线升级,需要在PC机侧完成相应的功能,同时也可以把系统的相关信息发送给PC机加以存储,以备以后分析利用。把测的温度值存储起来,在PC机上加以分析,有利于获得系统的特点,总结经验,更好的调节PID参数,完成对系统更有效快速的控制。
PC机侧程序的设计主要由两部分组成:通讯部分和ISP功能部分。根据它们的具体情况在实现时使用不同的协议。通信部分,要完成对系统的实时监控,既要发送控制命令,调节系统的运行状态和参数,也要读取相关信息,加以分析。由于信息类型较多,实现起来较复杂。相对而言ISP功能部分简单,除了对系统在线编程时要发送大量的数据信息外,其它的命令如片擦除、页擦除和保护功能,仅发送相关的命令即可完成。
在整个实际开发过程中,使用了如下开发条件:
开发环境:Windows 2000 Server
开发工具:Microsoft Visual C++ 6.0
在设计中使用了多线程技术。在Windows的一个进程内,通常包含一个或多个线程,线程是指进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等等。一个进程内的所有线程使用同一个32位地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行和什么时候执行线程,线程有优先级别,优先权较低的线程必须等到优先权较高的线程执行完任务后再执行。在多处理器的机器上,调度程序可以把多个线程
首页 上一页 13 14 15 16 17 18 19 下一页 尾页 16/20/20
嵌入式系统在多点温度控制中的应用(十六)由毕业论文网(www.huoyuandh.com)会员上传。