您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > M68HC08单片机实时多任务操作系统及其在航标灯控制中的应用
新型遥控遥测航标灯FudanCSLab.1新型遥控遥测航标灯1.项目背景:水路航运系统是运输系统中很重要的一部分,而航道的正确标识是船舶航运安全的重要保障。在我们长达数千公里的河道和海岸沿线,每隔一定距离就必须有一个航标灯,用来指示航道的安全水位区域。以前的航标灯是独立分布的,从被放置后,就独自运行。为了检查航标灯是否运转正常,必须定期的派人去现场巡查。由于距离遥远,需要检查的地点很多,所以经常要派一些船只和人员不断的巡视。因为事先不知道航标灯的情况,对航标灯的巡视维护缺乏目的性,有时一个航标灯的维护和更换器件需要一个来回。这样不但准确性不好,而且船只和人员的开销费用都很大。为了能及时地了解各航标灯的工作状态和工作正常与否,以便有针对性地对出现故障的航标灯进行维护,我们需要一个新的航标灯,这个航标灯能用无线通信方式(GSM或VHF)远程向中心站报告自己的状态,根据这些状态信息,中心站可以做出是否需要派人进行维护及如何维护的决定。航标灯应该有一定的自检功能,在出现故障的情况下能及时向中心站发出报警信息,并且能重新启动以便从故障环节中跳出来,能最大限度的保证航标灯的正常工作。为了在某些情况下能改变灯的灯质(灯的闪亮规律)和其他运行参数,以及对中心站的其他控制做出响应,航标灯应能够执行中心站发来的控制命令。由于海外的环境恶劣,有时航标灯会脱离固定的位置,航标灯应该有定位装置(GPS),能够检测到漂移的出现,并及时向中心站报警。中心站知道了航标灯的位置,就不必大范围的搜索而是能根据位置信息直接找到漂移的航标灯。另外,由于航标灯的能量供给是独立的和有限的,为了延长其持续的工作时间,采用了白天太阳能电池充电和蓄电池蓄电相结合,晚上用蓄电池供电的方式。所以尽量降低功耗对增加航标灯的使用期限十分重新型遥控遥测航标灯FudanCSLab.2要。2.项目所实现的功能:基于以上的考虑,本项目就是实现以上设想,设计一个能够进行远程遥控遥测的新型航标灯。航标灯可采集的参数:1)电流模拟输入量:太阳能电池充电电流电池供电电流航标灯工作电流2)电压模拟输入量:太阳能电池充电电压蓄电池电压航标灯工作电压3)光传感器输入:日光值,并以此判别白天和晚上航标灯可以执行的遥控命令:1.航标灯参数召测。2.航标灯强制开/强制关/光阀控制,三种运行状态之间互相切换。3.更改航标灯灯质(灯质就是灯的闪亮规律)。4.设置通信机(VHF或GSM)定时启动时间点。5.设置航标灯电流、电压的预警、报警门限,包括上限下限。6.时间校正同步:统一各航标灯的时间计数值,包括年月日。7.数据中继:可向邻近的航标灯转发控制命令或其他数据。8.遥控充电开关(配充电控制器)。9.遥控更换灯泡(配智能化灯器)。10.其他的扩展功能。航标灯自身的控制功能:1.接收和执行中心站的遥测遥控命令。新型遥控遥测航标灯FudanCSLab.32.依灯质控制航标的亮和灭。3.增加、修改灯质表项。4.航标灯参数采集。5.数据的初步处理和异常检测,包括采样数据的整定,以及同设定的阀值进行比较检查是否出现异常情况。6.数据校验码(CRC)生成。7.数据报文生成和即时发送。8.航标遥测遥控点故障自动报警。9.电源欠压过压自动报警。10.灯质异常报警。11.自动发送报警信号,并附采集的最新参数,以供中心站进行故障判断决策。12.设置硬件看门狗(watchdog),程序具有自恢复功能。13.休眠模式与正常状态的自动切换。14.航标灯当前设置的自动记录与永久保存(写入FLASH)。15.通信机类型的自动检测,判断是GSM还是VHF或者没有通信机,并根据此判断采用不同的通信控制方式和协议。16.全球定位(GPS)模块的自动检测与配置。新型遥控遥测航标灯FudanCSLab.4二.系统框图1.航标灯远程遥控遥测系统框图注:此图是整个航标灯远程遥控遥测系统框图,它揭示了整个系统的工作情况即:服务器定时查询每个航标灯,每个航标灯都有互不相同的灯号,航标灯接收到灯号为自身的查询命令后就把数据传送到服务器,服务器根据这些数据来了解航标灯的当前工作状态,并做出合理的操作。中继GSM或VHF通信航标灯1服务器打印机图一航标灯远程遥控遥测系统框图航标灯N控制台新型遥控遥测航标灯FudanCSLab.5本项目要实现的设计是航标灯,即图中的”航标灯1”到”航标灯N”的部分。2.航标灯架构框图航标灯包括以MC68HC908SR12处理器为中心的控制电路、通信机、GPS定位模块、换泡机、以及电源变换模块。通信机:可以根据需要选择VHF数传机或GSM通信模块。用于RTU和中心站之间的数据传输。RTU:即RemoteTerminalUnit,完成与通信机、GPS定位模块、换泡机之间的通信,进行系统的逻辑判断,实现与中心站之间的交互式工作模式。与外接模块的通信都是通过串行通信来进行,其中与VHF数传机和换泡机之间的通信需要经过RS232与TTL电平转换。除了MC68HC908SR12处理器自身提供的一个串行接口外,另外所需RTU12V5V3.3VGND电源VHF模块GSM模块换泡机GPS定位模块A/D采样图二航标灯架构新型遥控遥测航标灯FudanCSLab.6的两个串行接口都是用时间通道的输入捕捉和输出比较功能来模拟的,分别用来外接GSM定位模块和换泡机。换泡机:控制灯的闪亮,完成自身数据采样工作,并能接受RTU的控制命令来改变其工作状态;RTU通过参数召测命令获得换泡机的数据。三.RTU硬件结构1.航标灯控制器逻辑框图航标灯控制器硬件特点:硬件上以MC68HC908SR12为中心,外挂了多个器件接口,可根据需I/OVDDTIM1SCI68HC908SR12OPIN1TIM2I/OGPS模块接口电压变换及稳压模块3.3V12V3.3V充电电压+12V灯器5V光电池充电控制器蓄电池GSM模块接口3.3VVHF模块接口12V充电电流直接A/D采样与灯器通信5V图三航标灯控制器硬件逻辑框图新型遥控遥测航标灯FudanCSLab.7要连接不同的器件;由于MC68HC908SR12只有一个串行口,GSM模块,VHF模块二者同时只能接一个,它们分别代表了不同的对外通信方式;GSM模块、VHF模块二者的接口类型不完全相同,GSM模块为40PIN扁平接口,VHF模块可以是RS232电平的或者TTL电平的,这里采用RS232电平的;使用TIM1的两个通道输入捕捉、输出比较功能来模拟串行口与换泡机进行串行通信;使用TIM2的通道0输入捕捉、输出比较功能来模拟串行口与GPS模块进行串行通信;使用TIM2的通道1做定时器,实现50ms的定时;太阳能电压采样直接连接到AD输入口进行采样;电流采样通过内部两级放大来进行,另外加上多次采样的平均滤波来获得稳定的数据。2.通信机(VHF)接口VHF数传机输入电源12V,通信接口包括RXD、TXD、RTS三根线路。VHF工作于半双工通信方式,发送和接收状态由RTS来控制。发送状态RTS为ON,接收状态RTS为OFF。VHF数传机平时处于等待接收状态,此状态下RTS为OFF,当接收到数据时会自动通过TXD发送到RTU。使用VHF发送数据时,需提前150ms将RTS置为ON,然后开始发送数据,数据发送完成后,要继续让RTS保持ON状态50ms以上。在RTS保持ON状态时VHF数传机不能接收外来数据。数据发送完毕后,应尽快将RTS置为OFF,这样一方面可以降低功耗,另一方面可以保护VHF长期处于发送状态对其造成损坏。另外考虑到功耗问题,VHF的电源是通过三极管开关来控制的。在不需要使用VHF的时间里将VHF的电源完全关闭,在需要通信的时候提前几秒钟将VHF电台供电开启。3.GPS模块接口GPS定位模块采用GARMINGPS15。GPS接口包括两根电源线,一根数据输出线,输出TTL电平。采用TIM2的0通道来模拟串行口,接收GPS发送的数据。上电后GPS15需要45秒钟以上的时间才能达到稳定状态,这时出来的新型遥控遥测航标灯FudanCSLab.8数据才是稳定的正确数据。GPS15能够自动接收卫星数据并计算出所在的经纬度,并每隔一秒钟发送一次经纬度数据。GPS的电源是通过开关来控制的。RTU每隔一定间隔对GPS进行数据采样,以判断航标是否超出漂移范围,在不需要使用GPS的时间里将GPS的电源完全关闭,在需要通信的时候提前一分钟将GPS模块开启。4.换泡机接口换泡机和RTU之间的通信是全双工通信。RTU使用TIM1的两个时间通道来分别模拟输入和输出。TIM1CHANNEL1根据波特率和发送的数据来产生一定的波形,采用输出比较功能实现。TIM1CHANNEL0模拟换泡机的数据输入,首先工作于输入捕捉状态,捕捉到起始位后切换到输出比较方式,根据输入线的电平来获得每一个BIT的数据。5.RTU采样模块RTU有两路采样信号,一路是太阳能电压采样,通过采样电阻接入到PTA0。另一路是电流采样,由于信号比较小,需要通过两级放大来进行采样。6.电源控制模块航标灯的输入电压为12V至13.8V,通过电压转换器件和稳压滤波电路,来分别获得12V、5V、3.3V的电压。外围器件的电压供给都受RTU的控制,通过开关三极管来实现电源的断开和供给。RS232电平转换芯片器件的电源也可以开关。为了降低功耗,延长使用时间,通信机(GSM/VHF)和GPS采用间歇工作方式,可以定时开启通信机一段时间,如每小时开10分钟,所有的遥测遥控通信在这段时间内完成,其他的时间通信机关闭。新型遥控遥测航标灯FudanCSLab.9四.RTU软件结构框图I.软件总体框图II.软件分部介绍主程序循环通信机数据处理GPS数据处理睡眠控制和定时唤醒数据采样故障处理,自动报警时间基中断TBM通信机数据接收中断灯器通信中断GPS数据接收中断定时器中断中断程序图四航标灯控制器软件总体框图新型遥控遥测航标灯FudanCSLab.101.主程序主程序循环地检查是否有需要处理的任务,这些任务由任务标志来设定,某一标志被置位时就进行相应的处理。标志的置位由中断程序设定,发生某一类的中断就置位相应的任务标志,以告知主程序来完成此项任务。如:通信机数据接收中断接受由通信机发送来的数据,当一个命令报文接收完成时,将通信机数据处理任务标志置位,在主程序里该任务将被调度,来进行数据报文的处理保存系统参数的用户设定值,用户改变系统参数后就调用写FLASH程序间这些数据保存到FLASH,这样即使断电也不会造成参数丢失。2.中断程序中断程序包括时基中断TBM、通信机数据接收中断、灯器通信中断、GPS数据接收中断、定时器中断。1)时基中断TBM:a)每4秒钟产生一次,首先开启PLL模块,设定总线频率。b)每15次中断将系统时间刷新一次,计算分钟、小时、日期。c)根据当前时间计算VHF、GPS所在的时间窗口,以决定它们的电源的开启和关闭。2)通信机数据接收中断:a)根据到来的数据判断是否是正确的数据报文,抛弃所有不正确的数据报文。b)接收到正确的数据报文后,置位需要通信机数据处理标志。3)灯器通信中断:接收固定帧长的数据,完成后置位需要进行灯器数据处理标志。4)GPS数据接收中断:接收固定帧长的GPS数据,完成后置位需要进行GPS数据处理标志。5)定时器中断:进行延时控制,产生以50ms整数倍的时间延时。3.数据采样任务数据采集包括太阳能电池充电电流,电池放电电流,航标灯工作电流,太阳能电池充电电压,蓄电池电压,航标灯工作电压,日光值,航标灯灯质。新型遥控遥测航标灯FudanCSLab.11其中航标灯工作电流、蓄电池电压、航标灯工作电压、日光值、航标灯灯质由灯器采集得到,然后通过查询命令来获取。充电电压直接连接到A/D输入口PORTA-0进行采样;充电电流采样需要经过两级放大,所以将它连接到两级放大器的输入端OPIN1;使用两级放大时,将模拟模块控制寄存器AMCR置为VSSAM,采样地电压,;然后将AMCR置为OPIN1,采样充电电流。由于存在波动,所以采样必须有滤波措施,这里采用平均滤
本文标题:M68HC08单片机实时多任务操作系统及其在航标灯控制中的应用
链接地址:https://www.777doc.com/doc-2881657 .html