基于ATmega128单片机的时序控制器的设计论文_刘成明

基于ATmega128单片机的时序控制器的设计论文_刘成明

关键词:火工品点爆;时序控制;可靠性;安全性

引言

探空火箭主要用于近地空间的探测和科学试验,探空火箭一般为无控火箭,其自身无飞行控制和制导设备,结构简单、成本低廉。时序控制器为箭上火工品提供点爆时序,使探空火箭在预定高度释放有效载荷进行探测,或实现多级探空火箭箭体的分离。作为探空火箭上唯一的控制器,要求时序控制器必须准确、可靠地进行点爆控制,保障试验过程的安全性。为满足某探空火箭上火工品的准确、可靠点爆,用ATmega128单片机设计了一种时序控制器,对其软、硬件及可靠性设计等进行了阐述。

1 系统硬件设计

时序控制系统由地面测发控台和箭上时序控制器组成。地面测发控台在地面测试时向箭上时序控制器发送一系列测试指令,并将任务要求的箭上火工品点爆时间发给时序控制器储存,即时序装订。时序控制器在地面测试时检测自身状态,在收到每一条测试指令后向地面测发控台返回应答信息,以保证双方通信的可靠性,并完成时序装订、转电、模拟测试等功能;在火箭飞行过程中,时序控制器在装订时刻发出控制信号,完成箭上各火工品的起爆。

时序控制器主要由RS422通讯接口、单片机、转电控制、点爆控制电路等组成,系统的功能框图如图1所示。RS422通讯接口主要由带有电气隔离功能的RS422驱动器MAX1490B实现。具有限摆率特性的MAX1490B驱动器可以降低电磁辐射,并减小因错误的终端连线造成的影响,允许数据无误传输的最高速率为250kbps。

1.1 单片机模块

时序控制器的控制核心是单片机。选用的ATmega128是ATMEL公司基于AVR RISC结构的8位低功耗CMOS微处理器,其外设包括2个16位的计数器/定时器,2个可编程的串行USART,8路10位ADC等;具有上电复位以及可编程的掉电检测功能,省去了外部复位电路,增加了复位的可靠性;具有128K字节的系统内可编程Flash 和4K字节的EEPROM非易失性数据存储器,均可用于数据存储,EEPROM寿命可达100,000次写/擦除周期[1]。设计中主要用到单片机的UART进行串行数据的收发,EEPROM和FLASH用于存储点爆时间,ADC采集箭上电池电压,定时器控制点爆时序的输出。ATmega128单片机内嵌的外设部件及其特点足以满足时序控制器的功能需求,大大减少了芯片外围的分立元件,简化了电路,增加了系统的可靠性。

1.2 转电控制

为方便系统地面测试,并降低对箭上电池容量的要求,时序控制器采用两种供电模式。发射前时序控制器由地面电源供电,发射后由箭上电池供电,两个供电接口相互独立。为此设计了转电控制电路,由单片机控制磁保持继电器实现两种供电的不断电切换,如图2所示。此外,必须考虑地面测试时试验人员的安全,为此设置了紧急断电信号,由地面测发控台直接控制发出,通过该信号可以在火箭发射前任意时刻终止时序控制器的点爆倒计时并切断电源,以便在意外发生时确保火工品安全。

1.3 点爆控制

单片机进行火工品点爆倒计时须由外界提供一个启动信号,这个信号由安装在箭上的脱落连接器提供,如图3。当脱落连接器的插头和插座分离后,单片机的PD0口将收到分离信号的上升沿,触发外部中断,开启点爆倒计时。

火工品的点爆控制由单片机控制继电器动作来实现。考虑到地面测试过程的安全性,采用两个继电器串联的工作方式,如图4。在地面测试时,继电器K1始终保持断开状态,此时火工品A、B端均连接到电源地,即使受外界干扰分离信号误触发时,火工品也不会被误点爆,大大提高了安全性。当地面测试完毕,火箭准备发射时,地面测发控台才向时序控制器发出相关指令,使继电器K1闭合。火箭发射后,当时序控制器收到分离信号,单片机启动点爆程序,在预定时刻控制继电器K2吸合,连通火工品点爆回路,完成火工品的点爆。

2 软件设计

2.1 总体流程

时序控制器软件流程图如图5所示,时序控制器上电初始化完毕后,首先让继电器K3恢复转电前状态,并将自检信息发送给地面测发控台,然后等待地面测发控台的测试指令,所有通信指令经帧校验正确后再执行相对应的动作。

火箭发射后时序控制器收到分离信号后,进入中断程序,读取存储器中的装订时间,并开启定时器定时。直到定时器计时达到装订时间,单片机输出点爆脉冲给继电器K2,从而完成火工品的点爆任务。

2.2 数据帧

地面测发控台和时序控制器之间发送、接收的数据帧格式如表1所示。其中,校验和是对信息体的所有字节求代数和后取低八位。时序控制器对接收到的数据进行帧校验正确后,向地面测发控台返回应答信息,否则不返回信息,地面测发控台重新发送命令。

期刊文章分类查询,尽在期刊图书馆

信息尾校验和(1个字节)

2.3 时序装订

时序装订时,时间值为重要数据。为保证其传送的准确性,先把以微秒为单位的时间值所对应的32位自然二进制码,转换为格雷码再进行数据传输。采用格雷码的好处是,在相邻位间转换时,格雷码只有一位产生变化,与其它编码同时改变两位或多位的情况相比更为可靠,即可减少出错的可能性,格雷码和自然二进制码之间的转换程序如下[2]:

1)二进制格雷码转换成自然二进制码

static unsigned int GraytoDecimal(unsigned int x)

{

unsigned int y = x;

while(x>>=1)

y ^= x;

return y;

}

2)自然二进制码转换成二进制格雷码

static unsigned int DecimaltoGray(unsigned int x)

{

return x^(x>>1);

}

单片机收到时序装订的时间值后,将其转换为自然二进制码再存入EEPROM。要注意的是,当电源电压过低时,CPU和EEPROM有可能工作不正常,造成EEPROM数据的毁坏(丢失)。这个问题可以通过使能单片机的掉电检测电路BOD来解决,若EEPROM写操作过程中发生了掉电复位,写操作将终止。

为确保单片机执行火工品点爆时读取到的时间值是正确的,时序装订时要将时间值和校验字节同时存入EEPROM,并将同样的数据存到单片机的FLASH中作为备份。点爆时,先读取EEPROM的数据作为点爆延时时间,若判断其数据和校验字节不符,则再读取FLASH中的备份数据。通过此项冗余措施,可以大大提高火工品点爆的可靠性。

3 安全性和可靠性的设计

在地面测试时火工品具有一定的危险性,因此设计时必须考虑火工品的安全性;火箭在飞行过程中将承受高冲击、高过载和低温、低压等恶劣环境,因此保证火工品点爆的可靠性也十分重要。在该时序控制器的设计中,为提高时序控制系统的安全性和可靠性,软硬件方面所采取的主要措施有以下几点:

1)转电后发射前,地面测发控台可通过紧急断电按钮随时切断时序控制器的电源,以便在意外发生时确保火工品安全;

2)在时序控制器的点爆电路上采用两个继电器串联,保证点爆前点爆回路与点爆电源彻底断开,并对火工品实现短路保护;

3)为保证点爆控制电路的可靠性,两个串联的继电器都选用双刀双掷型,使得在火箭飞行中点爆回路的瞬断概率大大降低,提高了点爆的可靠性;

4)在进行时序装订通信时,时间值作为重要数据先转换为格雷码再传送,并在数据最后附加校验和字节,提高数据传输的准确性;

5)启用单片机的掉电复位功能,防止EEPROM数据读写出错,时序装订时同时将时间值备份到FLASH中保留一份,防止点爆时EEPROM中的时间值丢失而造成无法正确点爆;

6)对脱落连接器提供的分离信号进行软件消抖,防止误点爆和多次重复点爆。

4 试验及结论

经过试验证明,时序控制器在高低温、湿热、低气压、过载、冲击等环境下均能无故障正常运行,试验时点爆时序的波形如图6所示。实测点爆延时时间设定为300s时输出误差在10ms以内,点爆脉宽设定为200ms时输出误差在0.3ms以内,满足任务需要。

参考文献

[1] ATmega128 数据手册[Z]. Atmel Corporation,2005.

[2]朱定华.数字电路与逻辑设计[M].清华大学出版社,2011.

论文作者:刘成明

论文发表刊物:《基层建设》2017年第14期

论文发表时间:2017/9/28

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于ATmega128单片机的时序控制器的设计论文_刘成明
下载Doc文档

猜你喜欢