技术内容
本发明的目的在提供一种内燃机车新型微机控制系统,它具有更高的运行速度,功能全面,具有在线程序下载功能。
它包括CPU电路1、完成对机车110V开关量信号检测的开关量输入电路2、完成对机车110V电器的驱动和励磁回路斩波控制的开关量输出电路3、完成对机车电源、电压等模拟信号的采样的模拟量处理电路4和对机车速度信号的采样以及串行通信的接口驱动的系统接口电路5;
所述CPU电路1与开关量输入电路2、开关量输出电路3、模拟量处理电路4和系统接口电路5分别通过系统总线相连;
所述CPU电路1包括32位微处理器MC68332,提供与外部计算机相连完成在线软件下载服务的程序下载接口电路6、存储器7和系统总线接口8,存储器7包括RAM和闪烁存储器FLASH,其中RAM有电池RAM10和不带电池的RAM两种。
所述的CPU电路1的32位微处理器MC68332的存储器中的控制软件包括为硬件接口电路提供驱动程序的底层板级支持包(BSP),负责应用程序模块实时调度的操作系统(VRTX RTOS)层和用户应用程序层。
所述程序下载接口电路6包括一端与所述CPU电路1的32位微处理器MC68332的PROG*、332TXD、332RXD三个端口相连、另一端与外部计算机相连的通信接口9,分别通过地址线和数据线与微处理器MC68332相连的电池RAM10和闪烁存储器11,且所述微处理器MC68332的(CSBOOT)端口和(CS0/CS1)端口分别通过电子开关K1、K2可选择地与所述闪烁存储器11的(FLASHCS)端口或电池RAM10的(MEMCSI/MEMES2)端口相连,闪烁存储器即FLASH。
所述程序下载接口电路6是按以下步骤完成程序下载操作的:
第一步:检测微处理器MC68332的编程位端口(PROG*),如果它无效则系统正常运行,如果有效且电池RAM区有下载程序,就执行RAM区下载程序,完成程序下载,否则进行第二步;
第二步:如果FLASH中有下载程序,就执行FLASH下载程序,完成程序下载,并在系统正常运行后自动运行下载程序从闪烁存储器到电池RAM的复制;否则,因无法进行程序下载而结束。
由于本发明采用了32位微处理器,并且增设了程序下载功能,使得其运行速度较以往控制系统大为提高,并可以方便地进行程序下载,操作灵活,提高了运行效率和可靠性。
具体实施方式
如图1-3所示,它包括CPU电路1、完成对机车110V开关量信号检测的开关量输入电路2、完成对机车110V电器的驱动和励磁回路斩波控制的开关量输出电路3、完成对机车电源、电压等模拟信号的采样的模拟量处理电路4和对机车速度信号的采样以及串行通信的接口驱动的系统接口电路5;
所述CPU电路1与开关量输入电路2、开关量输出电路3、模拟量处理电路4和系统接口电路5分别通过系统总线相连;
所述CPU电路1包括32位微处理器MC68332,提供与外部计算机相连完成在线软件下载服务的程序下载接口电路6、存储器7和系统总线接口8。存储器7包括RAM和闪烁存储器FLASH,其中RAM有电池RAM10和不带电池的RAM两种,其中程序下载接口电路6、存储器7和系统总线接口8均与MC68332相连。
MC68332采用了模块化的结构设计,主要包括:中央处理器模块CPU32、系统集成模块SIM、队列串行模块QSM、片上存储器模块RAM、定时处理器模块TPU等。
中央处理器CPU32是32位的CPU,是系统的核心模块,管理C68332和外部设备的全部活动,它通过内部总线与MC68332的各模块通信。
SIM模块包括时钟合成器、芯片选择、外部总线接口、系统保护和系统测试子模块等,每个模块完成独立的功能。
队列串行模块QSM为MC68332提供两个独立的串行通信接口,分别是队列串行外围接口QSPI和队列通信接口SCI。
TPU可独立于CPU之外,执行各种定时、脉冲生成、马达控制等与时间有关的操作,可以大大的减轻CPU的负担。
新型微机控制系统软件开发中应用了VRTX RTOS嵌入式实时多任务操作系统。
VRTX-高性能实时多任务操作系统的核心,是一种适用于嵌入式微处理器的硅软件部分,提供了如下实时操作所要求的特性:
多任务支持
驱动事件(event-driven),基于优先权的调度
任务间通信和同步
动态存储器分配
实时时钟控制,具有可选时间片(time-slicing)
字符型I/O支持
实时响应性
具有了这些特性,VRTX就为实时、多任务应用提供了坚实的基础。
任务(Task)是RTOS中最重要的操作对象,每个任务在RTOS的调用下由CPU分时执行。激活的或当前任务是CPU正在执行的任务,休眠的任务是在存储器中保留其执行的上下文背景、一旦切换为当前任务即可从上次执行的末尾继续执行的任务。任务的调度目前主要有时间分片式(TimeSlicing)、轮流查询式(Round-Robin)和优先抢占式(Preemptive)三种,不同的RTOS可能支持其中的一种或几种,其中优先抢占式对实时性的支持最好。
RTOS管理下的系统CPU和系统资源的时间是同时分配给不同任务的,这样看起来就象许多任务在同时执行,但实际上每个时刻只有一个任务在执行,也就是当前任务。任务的切换有两种原因。当一个任务正常地结束操作时,它就把CPU控制权交给RTOS,RTOS则检查任务队列中的所有任务,判断下面那个任务的优先级最高,需要先执行。另一种情况是在一个任务执行时,一个优先级更高的任务发生了中断,这时RTOS就将当前任务的上下文保存起来,切换到中断任务。RTOS经常性地整理任务队列,删除结束的任务,增加新的要执行任务,并将其按照优先级从大到小的顺序排列起来,这样可以合理地在各个任务之间分配系统资源。
消息(Message)和邮箱(Mailbox)是RTOS中任务之间数据传递的载体和渠道,一个任务可以有多个邮箱。通过邮箱,各个任务之间可以异步地传递信息,没有占用CPU时间的查询和等待。当RTOS包含片上总线接口驱动功能时,各个单片机之间的通信也通过邮箱的方式来进行,用户并不需要了解更深的关于硬件的内容。
信号灯(Semaphore)相当于一种标志(Flag),通过预置,一个事件的发生可以改变信号灯。一个任务可以通过监测信号灯的变化来决定其行动,在监测信号灯变化的时候不消耗CPU时间,信号灯对任务的触发是由RTOS来完成的。通过使用信号灯,一个任务在等待事件变化的时候就可以不必不断查询,而把CPU时间出让给其它任务。
RTOS对系统存储区进行统一分配,分配的方式可以是动态的或静态的,每个任务在需要存储区时都要向RTOS内核申请。RTOS通过使用存储分配类核心对象管理数据存储器,在动态分配时能够防止存储区的零碎化。
RTOS提供了一种通用的设计用于中断管理,有效率而灵活,这样可以实现最小的中断潜伏时间和最大的中断响应度。RTOS内核中的资源对象类则实现了对系统实体资源或虚拟资源的独占式访问,一个任务可以取得对资源的唯一访问权,其它任务在资源释放以前无法访问,这样可以避免资源冲突。设计完善的RTOS具有检查可能导致系统死锁的资源调用设计。
控制系统软件分三层:应用程序层、VRTX RTOS(操作系统)层和BSP层。
底层为板级支持包(BSP),即为硬件接口电路驱动程序;中间一层是VRTX RTOS(操作系统)层,负责应用程序模块的定时调度;顶层是用户应用程序。
所述的CPU电路1的32位微处理器MC68332的存储器中的控制软件包括为硬件接口电路提供驱动程序的底层板级支持包(BSP),负责应用程序模块实时调度的中间操作系统(VRTX RTOS)和用户应用程序层。
所述程序下载接口电路6包括一端与所述CPU电路1的32位微处理器MC68332的PROG*、332TXD、332RXD三个端口相连、另一端与外部计算机相连的通信接口9,分别通过地址线和数据线与微处理器MC68332相连的电池RAM10和闪烁存储器11,且所述微处理器MC68332的(CSBOOT)端口和(CS0/CS1)端口分别通过电子开关K1、K2,可选择地与所述闪烁存储器11的(FLASHCS)端口或电池RAM10的(MEMCS1/MEMES2)端口相连;
所述程序下载接口电路6是按以下步骤完成程序下载操作的:
第一步:检测微处理器MC68332的编程位端口(PROG*),如果它无效则系统正常运行,如果有效且电池RAM区有下载程序,就执行RAM区下载程序,完成程序下载,否则进行第二步;
第二步:如果FLASH中有下载程序,就执行FLASH下载程序,完成程序下载,并在系统正常运行后自动运行下载程序从闪存到电池RAM的复制;否则,因无法进行程序下载而结束。
本发明是为内燃机车(动车组)开发的新一代微机控制系统,它在国产机车微机控制装置中首次应用32位微处理器,全部采用SMT工艺,系统具有很强模块化结构及控制功能,是国内现有内燃机车微机控制系统的功能扩充和升级换代产品。由于本发明采用了32位微处理器,并且增设了程序下载功能,使得其运行速度较以往控制系统大为提高,并可以方便地进行程序下载,操作灵活,提高了运行效率和可靠性。