·上一文章:便携式ADSL线缆测试仪方案
·下一文章:基于VxWorks的硬件加速技术探讨
图5 系统控制流程图
所有任务的启动都和飞控系统总线上的小周期计数息息相关, 其中与接收总线数据相关的任务都是由消息分发线程启动, 当接收的消息为PSP发送的同步数据码时, 终端对象同步自己的小周期计数, 并按现在所处的小周期启动相应的任务。所有的任务都包含在消息处理线程中, 每个终端都有一个这样的线程, 各个线程独立工作, 使各个终端处于并行工作方式。系统全部逻辑控制功能, 均采用周期运行方式, 每隔10ms由定时中断程序唤醒。利用CPLD 进行逻辑运算及数据处理, 并检测模拟量输入信号, 判断各监控对象的工作状态并按照系统控制逻辑决定输出量。在其状态发生变化时通知DSP, 协助DSP完成系统的自检测功能。在状态监测中, 将当前检测到的状态量与存储的上一个状态量相比较, 如果两次状态相同, 则不进行任何操作; 如果发生变化,则向DSP发出中断信号INT, 通知DSP读取数据。
在接收DSP发送的控制指令时, 将该指令与当前状态相比较, 若符合就不再发送控制指令, 这样就能防止多次发送控制指令引起的误动作。
在飞行过程中, 控制系统的任务主要包括采集无人机的姿态数据, 计算控制量并输出到舵机等执行机构, 接受地面站的指令并传输无人飞行器的位置等信息。利用设计的控制板进行伺服控制算法的实现, 完成对执行机构舵机的控制。图6为控制系统输出的其中一路舵机的PWM 控制信号波形。
图6 舵机控制信号
5 结束语
经过调试, 该系统在实际运行中性能稳定, 达到了设计要求。本系统体积小、重量轻、成本低, 具备一定的扩展性, 适合于构成较强的实时性、小型化和低成本的小型无人飞行器。