航天
航空
核工业
船舶
兵器
军事电子
综合
可靠性
仪器仪表
自动化
电子元器件
电容器、LC滤波器 电阻器、电位器 PCB电路板 真空电子器件 连接器 二极管、晶体管半导体 集成电路和微电子组件 LED系列产品 光电器件 光学材料与光电元器件 继电器 电感元件 集成电路和微电子组件 频率控制和频率选择元件 电子设备用机电元件 电子材料 广播电视制作、播出、发射和传输设备 其它
传感器
光纤传感器 光电传感器 压力传感器 热学量传感器 物位测量系列 声学量传感器 流量传感器 湿度传感器 气体传感器 电学量传感器 速度传感器 力传感器 位置传感器 位移传感器 光学量传感器 加速度传感器 尺度传感器 磁学量传感器 其它传感器
电工器材
电线、电缆 开关电线 插头、插座 电动机 绝缘材料 低压电器 高压电器 防雷及电涌保护器 室内外照明设备 便携式照明设备 灯泡、灯座、整流器 其他
电源
EPS消防应急电源 UPS不间断电源 稳压电源 变频电源 净化电源 特种电源 发电机组 开关电源(AC/DC) 逆变电源(DC/AC) 模块电源(DC/DC) 电池 其它电源产品
通用机械
轴承 密封件 紧固件、连接件 弹簧 泵及真空设备 阀门 齿轮、蜗杆、链传动件 减速箱 气动元件 液压元件 过滤件 工业皮带 清洗、清理设备 制冷设备 电热设备 涂装设备 仓储设备 干燥设备 混合设备 其它未分类
行业设备
机床 机床配附件 塑料机械 包装设备 电焊、切割设备 印刷设备 环保设备 焊接材料与附件 电子产品制造设备 化工设备 铸造及热处理设备 冶炼设备 橡胶机械 玻璃加工设备 试验机 储运设备 过滤设备 空气净化装置 检测设备 安全、防护、消防设备 其它
当前位置:技术 » 航天技术 » 正文

基于AVR单片机的卫星地面测控系统设计

点击图片查看原图
  • 发布日期:2012-02-17 08:54
  • 有效期至:长期有效
  • 技术区域:广东湛江市
  • 浏览次数733
  • 留言咨询
 
详细说明
引言

 

本文介绍了单片机Atmega128在一种卫星地面测控系统中的应用,该系统利用Atmega128完成了10路模拟信号的测量、4路脉冲信号的频率测量以及脉冲宽度的测量,由单片机上的16位定时计数器输出两路与输入信号具有相位关系的信号,并通过外扩串口与其它测试模块及工控机进行通信。由于要求系统能够连续稳定工作3年,并且数据不能丢失,因此,在设计时采用了双电源冗余热备份的方案,并且采用两个工控机同时接收数据并互为备份的设计方案。

 

硬件设计

 

Atmega128属于Atmel公司的AVR系列单片机,是一种高性能、低功耗的8位控制器,执行大多数指令只需要一个时钟周期。其最高主频可达到16MHz;自带128KB可在线编程的闪存、4KB的EEPROM、4KB的SRAM,程序可进行加密;自带JTAG接口,便于程序的调试;集成外设:两个8位定时计数器、两个16位定时计数器、两个8位PWM通道、6个16位PWM通道、8个10位 ADC通道、一个I2C接口、两个可编程异步串行接口、一个SPI接口、一个看门狗定时器和8个外部中断源。

 

卫星地面测控系统主要由电源模块、电子机箱、测试箱、工控机以及红外地球敏感器构成,系统结构如图1所示。其中两台电源并联, 输出串联二极管。在整个测控系统中,测试箱的控制功能是通过Atmega128完成的。

 

 

图1 卫星地面测控系统结构图

 

测试箱的硬件原理如图2所示。测试系统以AVR单片机为核心,外围电路由串口通信、ADC采样和DAC输出等部分构成。

 

 

测试箱的硬件原理

 

单片机与工控机之间通过RS-232标准总线进行数据通信,在设计中采用电平转换芯片MAX202来实现二者的电平兼容。为了能够和测试系统的其它模块进行串口通信,采用Xicor公司的双串口芯片ST16C2552外扩了两个串口,由于与外扩串口通信的是-12V~+12V的信号,不是标准电平,因此,要另外设计电平转换电路。使用Altera公司的可编程逻辑器件EPM7128实现对DAC和ADC的逻辑控制;使用BB公司的12位ADC实现对遥测信号的测量;采用BB公司的12位DAC芯片DAC7615产生电地球波信号。

 

具体功能如下:

 

ADC测量:将输入的10路模拟信号经过阻抗匹配后连接到通道选择器,再接到ADC芯片ADS7835的信号输入端,ADC的输出信号以及控制信号经过光隔离接到EPLD逻辑,在逻辑内部实现对ADC启动信号、转换通道的选择,以及对时钟信号、数据信号的控制。

 

DAC 输出:单片机通过逻辑芯片实现对DAC的片选、时钟、数据等信号的控制,DAC的输出信号通过光隔离后,再经过运算放大器进行阻抗匹配后才接到整个测试系统的其它模块。DAC参考电压的稳定性至关重要,如果参考电压稳定性差,将导致整个DAC的输出波动很大,达不到输出精度要求,因此,通过一个稳压芯片 AD584给DAC提供参考电压。

 

频率测量:电测箱需要对2路基准信号和2路光栅信号进行测量,利用AVR单片机的外部中断和计数器1、3实现测量。将2路基准信号分别接到单片机的外中断INT0和INT1,将光栅信号分别接到单片机的计数器1和3。在电测箱需要实现的各项功能中,电地球波的输出是一个难点,因为需要电地球波的输出与基准信号具有相位关系,并且要求输出具有可变相位、幅度和斜率的信号,本文通过计数器1和3的比较中断实现电地球波的输出。

 

串口通信:通过单片机自带的两个异步串口,并经过电平转换与上位工控机通信,通过双串口芯片ST16C2552外扩两个串口与测试系统的其它模块通信,此外,为保证系统的可靠性,所有的信号均经过光隔离。

 

软件实现

 

单片机软件

 

运行在单片机的底层软件主要负责ADC的采集、DAC的输出以及串口的通信,下面详细介绍各个部分:

 

1、 光栅频率测量:测量模拟基准一个周期内的光栅个数

 

在程序中,每次进入外中断0的处理程序void int0_isr(void)(即基准脉冲上升沿到来时)调用void do_gd_opt_frq()函数测量光栅频率。

 

在do_gd_opt_frq ()函数中,先把前一次读取计数器1的计数值保存在全局变量time1_prev中,再读取计数器1的值并保存在time1_next中,因为两次中断的间隔就是模拟基准的周期,有一个光栅脉冲计数器1就加1,所以,前后两次的差值就是一个模拟基准周期内光栅的个数。

 

2、 模拟基准幅度

 

在INT0的中断处理函数中置一个全局标志refoa_gd_flag = 0xff,在一个100?s的定时器的中断处理函数中查询此全局标志,若置位,则对模拟基准的ADC通道连续采样400次,采样后清 refoa_gd_flag标志并置采样结束的标志refoa_gd_finished = 0xff。在主程序main()函数中不断查询refoa_gd_finished标志,若置位,则调用do_refoa_high()函数求出模拟基准幅度,然后清标志。在do_refoa_high()函数中求出采样400个点中的最大值和最小值,两者之差即为模拟基准幅度。

 

3、 模拟基准周期:测量一个模拟基准周期的毫秒值

 

在一个1ms的定时器溢出中断处理函数中,全局的计数变量ref_gd_count加1,ref_gd_count初始化为0。在外中断0的处理函数 int0_isr()中读取ref_gd_count的值,即为模拟基准的周期,再把ref_gd_count清零。这样,只有第一次测量值是无效的,以后均为有效的模拟基准周期。

 

4、 模拟基准宽度

 

在INT0的中断处理函数中置全局变量refoa_width_gd_ count=0,在100?s的定时器中断中查询外中断0的引脚是否为高电平,是高电平则refoa_width_gd_count加1,直至变为低电平,refoa_width_gd_ count的值就是模拟基准的宽度。

 

5、 电地球波

 

在do_ein()函数中处理工控机串口传过来的电地球波信息,如果是停止电地球波命令(state=0),通过DA电地球波直接输出高电平并清除电地球波使能标志位ein_gd_enable。如果是开始电地球波命令(state=1),把相位、宽度、幅值、斜率等信息赋给全局变量保存,并且计算出步距和斜率上各个点的输出值,置位电地球波使能标志 ein_gd_enable。

 

电地球波的产生是以模拟基准为基准的,在INT0的中断处理函数中设置计数器的比较中断并使能。

 

图3中, T0与T1 之间是地球波的相位,T2与T5之间是地球波的宽度。在T1时刻进入计数器1的比较中断timer1_compa_isr(),全局变量 ein_count_gd初始化为0,若ein_count_gd不等于1,则设置比较中断寄存器初值为下一步距点,并通过DA输出,若下一个比较中断到来ige ein_count_gd不等于1,则继续设置比较中断寄存器初值为下一个步距,并输出幅值,直到斜率上所有的幅值输出完毕,置ein_count_gd 等于1并设置比较中断寄存器,使T4进入比较中断。T4进入比较中断,并按照前述方法输出斜率上所有的幅值,完毕则禁止比较中断并置 ein_count_gd=0xff。

 

 

地球波的相位

 

ADC采集和串口通信比较简单,这里不再赘述。

 

软件编译与下载

 

由于单片机程序是采用C语言设计完成的,因此,需要用Image Craft公司的ICCAVR编译器进行编译,生成COF文件,再用AVR STUDIO调试软件和双龙公司的AVR JTAG仿真器进行调试。调试完成后,利用单片机的JTAG接口写入内部闪存即可。

 

上位工控机软件

 

运行在工控机上的软件主要负责处理AVR单片机通过串口传送过来的数据并进行超差、报警的检查,然后把数据存储在ACCESS数据库中,以便查看。该软件能够设置电地球波的幅度、宽度、相位,并能自主控制电地球波的产生或停止。

 

上位工控机软件采用VC6.0编写,其中的数据库部分采用ADO技术。ADO是Microsoft公司为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。ADO 最主要的优点是易于使用、速度快、内存支出少且磁盘遗迹小。

 

结语

 

采用Atmel公司的AVR系列单片机进行系统设计,其外围设备丰富、集成开发环境简单易用、支持在线仿真等特点使得系统的开发周期大大缩短。本文介绍的系统使用了很多Atmega128的外围资源,并通过Atmega128提供的定时计数器的比较中断解决了系统设计中的难题。

 
0条 [查看全部]  相关评论

公司信息







该企业最新技术
在线客服

0759-2216160

© 2008-2017 运营商: 湛江市东龙网络科技有限公司 国防科技网 www.81tech.com 广东通信管理局备案:粤ICP备13001948号-2
全国公安机关 备案信息 可信网站不良举报 文明转播