CN106921480A - 一种实现固定翼飞行器半双工通信的算法 - Google Patents
一种实现固定翼飞行器半双工通信的算法 Download PDFInfo
- Publication number
- CN106921480A CN106921480A CN201710167609.1A CN201710167609A CN106921480A CN 106921480 A CN106921480 A CN 106921480A CN 201710167609 A CN201710167609 A CN 201710167609A CN 106921480 A CN106921480 A CN 106921480A
- Authority
- CN
- China
- Prior art keywords
- data
- algorithm
- fixed wing
- duplex operation
- wing airvehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/14—Two-way operation using the same type of signal, i.e. duplex
- H04L5/16—Half-duplex systems; Simplex/duplex switching; Transmission of break signals non-automatically inverting the direction of transmission
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/14—Two-way operation using the same type of signal, i.e. duplex
- H04L5/1415—Two-way operation using the same type of signal, i.e. duplex using control lines
Abstract
一种在嵌入式微控制器MCU上实现的高效固定翼飞行器半双工通信算法,具体应用在固定翼飞行器控制方面,具有占据RAM及FLASH小,算法精简,执行效率高,实时性强等特点,属于自动化控制技术领域。该算法围绕实现一种双工通信的控制模式,分别在发射机和接收机上进行了具体的实现,达到了发射机与接收机之间的半双工通信。
Description
技术领域
本发明涉及一种固定翼飞行器半双工通信的算法,具体应用在固定翼飞行器控制方面,属于自动化控制技术领域。
背景技术
随着飞行器的不断变化,对控制系统的要求也跟着变化,同时日益增强的控制要求也对控制系统的算法提出了新的技术要求。事实上,任何控制领域都需要算法的支持,系统功能越强,对算法的要求也就越强。然而原有的通信算法一般都是从发射机到接收机的单工通信算法,即使是双工通信的算法,也由于其只能运行在硬件系统性能颇为强悍的平台上,对于一般的场合,尤其是在硬件资源相当有限的嵌入式计算领域,大多无法施展其原有性能,而本发明实现的固定翼飞行器半双工通信算法,能够实现发射机与接收机之间的双向通信,并且是一种在嵌入式微处理器MCU上实现的高效算法,具有占据RAM及FLASH小,算法精简,实时性强,性能优良等优点。
发明内容
为了克服现有控制设备算法只能完成从发射机到接收机的单工通信的不足,本发明提供一种在嵌入式微控制器MCU上实现的高效固定翼飞行器半双工通信算法,该算法从发射机向接收机看,采用“发送-等待”的方式,使数据的双向传输更加可靠。
该算法分别在发射机和接收机上进行了具体的实现,发射机上的算法主要实现步骤有:系统初始化、配置外设寄存器初始状态、获取ADC数据、处理数据、发送数据、延时150ms后等待接收机传回数据等;接收机上的算法主要实现步骤有:系统初始化、配置外设寄存器初始状态、获取射频模块数据、恢复数据、改变PWM输出信号、获取姿态传感器数据、在接收到发射机数据后的150ms内回传姿态传感器的欧拉角数据等。
通过该算法可以实现发射机与接收机的半双工通信,使得数据双向传输成为现实,有由于该算法在嵌入式微处理器上实现,故可以广泛应用于固定翼飞行器控制系统,使之完成数据双向传输。
下面结合附图和实施方式对本发明作详细说明。
附图说明
图1是发射机系统的算法流程框图;
图2是接收机系统的算法流程框图;
图3是算法流程总图;
图4是I2C总线时序图。
具体实施方式
发射机的工作流程参照图1。系统上电,系统中的汇编代码使得在执行main函数之前调用SystemInit来初始化时钟系统,初始化后的结果使得CPU时钟频率为72MHz,AHB总线时钟频率为72MHz,PCLK1为36MHz,PCLK2为72MHz,PLL时钟频率为72MHz。时钟系统配置完成后,方可进入正常工作模式。
配置中断优先级分组为2,由于ADC模数转换器采样得到的数据是通过DMA的传输至RAM的,并且在配置ADC的时候配置了DMA,使能了DMA的传输完成中断,因此必须配置系统的中断优先级分组,确定DMA传输完成中断的抢占优先级有2位,响应优先级有2位。
开始初始化微控制器MCU的外设,发射机端所配置的外设有:系统滴答定时器、控制LED,蜂鸣器,以及读取通道微调按键和开关的GPIO口、ADC模数转换器、SPI控制器。具体说明如下:
1)无复用功能输出/输入的GPIO口:蜂鸣器、LED的控制,按键以及开关的输入使用如下几个函数初始化BEE_Init、LED_Init、KEY_Init、Switch_Init。对这些硬件的控制和读取只用到了IO口的通用功能,没有其他的复用功能。具体来说控制蜂鸣器和LED的IO口配置为以50MHz速率通用推挽输出,且IO口的初始状态使得蜂鸣器和LED默认都是处于不工作的状态的。通道微调按键的输入方式为9*9矩阵键盘形式,需要将IO口通过配置GPIO的相关寄存器来使其在输入上拉和输入下拉之间转换。开关输入配置为输入浮空,因为开关的输入状态必然处于高电平或者低电平,二者必居其一,不会出现浮空状态。
2)SPI控制器的初始化:SPI总线是微控制器MCU和2.4g无线射频模块进行数据交换的通道,根据2.4g无线射频模块的特性,将SPI配置为:时钟线默认为低电平、8位数据大小、片选软件管理、两线全双工。SPI的时钟线频率为18MHz,此时钟频率下可以完成高速通信。
3)ADC的初始化:ADC的通道用于采集各个通道的模拟电压值,由于采样通道不唯一,所以将ADC配置为扫描模式,并且为了降低MCU内核的负担,加快ADC数据传输,提高系统的实时性,采用DMA传输AD转换数据。6个AD通道的采样时间为28.5个时钟周期,当完成对6个通道的转换后,就会产生DMA传输完成中断,此中断会通知CPU完成了一次ADC数据传输。
将微控制器MCU的外设配置完成后,开始配置2.4g无线射频模块,步骤如下:写TX节点地址(发射机地址,需要和接收机某一通道地址相等)、写RX_ADDR_P0通道地址,用于接收自动应答信号,和TX节点地址相同、使能通道0自动应答、接收数据通道0允许、配置自动重发参数为:等待500+86us,最大自动重发10次、选择射频通道40、设置TX发射参数为:0dBm,2Mbps,开启低噪声放大器增益、使能16位CRC,发射模式,中断时引脚电平变低。
经过上述的配置,方可进入while的死循环中完成发射机的系统功能:
调用Get_ADC1_Value值采集函数;采集6个ADC通道的数据,设ADC的参考电压为Vref,ADC的位数为n,待测模拟电压为Vanalog,输出的转换数字值为N,则有如下关系式:
对于我们使用的微控制器MCU的ADC外设有:Vref=3.3V、n=12。
得到ADC转换的电压数字量使用如下关系式计算:
其中Vanalog∈[0V,3.3V]。
ADC的数据正如前面所讲,采用DMA传输至RAM中,减轻内核负担,提高数据传输速率,提高系统实时性。
扫描通道微调按键和开关输入,微调开关用于确定通道的微调值,以适应机械安装中造成的误差。开关输入用于确定对应的通道是否需要反向,具体来说是:副翼通道、升降舵通道、油门通道、方向舵通道、CH5通道、CH6通道。通道反向的目的在于解决伺服舵机安装反向时的问题。
数据处理,前面读取到了ADC采集的模拟值、微调开关的键值、通道反向开关的值,根据这三者数据方可计算一个要发送的值,具体为如下公式所示:
Data[i]为定义的数组,原型为u16ADC1_Data[6],即上式中i=0~5。Tiny[i]为读取微调按键的值,UP_LIMIT=2000,DOWN_LIMIT=1000,式子右边的Data[i]为ADC采样的原始值,左边的Data[i]为经过转换后的输出值。a[i],b[i]为每个通道的校正系数。
数据发送,数据经过一系列处理,方可发送出去,由于2.4g射频模块的发送FIFO为字节寻址,而经过转换得到的数据为1000到2000之间,超出了一个字节的范围(0~255),所以必须拆分后才能发送:拆分结果如下:副翼数据高/低字节、升降舵数据高/低字节、油门数据高/低字节、方向舵数据高/低字节、CH5通道数据高/低字节、CH6通道数据高/低字节。
发送完成后立即设置2.4g模块为接受状态,在150ms内等待接收机的数据回传,接收到回传数据后,参照图1所示重新进入ADC采样阶段,如此循环,一直进行下去,完成了发射机的控制指令发送以及接受接收机数据传回的功能,完成了双工通信。二、接收机方面:
接收机的工作流程参照图2。系统上电,系统中的汇编代码使得在执行main函数之前调用SystemInit来初始化时钟系统,初始化后的结果使得CPU时钟频率为72MHz,AHB总线时钟频率为72MHz,PCLK1为36MHz,PCLK2为72MHz,PLL时钟频率为72MHz。时钟系统配置完成后,方可进入正常工作模式。
开始初始化微控制器MCU的外设,接收端所配置的外设有:控制LED,模拟I2C时序的GPIO口、SPI控制器、定时器TIM的输出比较。具体说明如下:
1)无复用功能输出/输入的GPIO口:LED的控制,I2C时序的模拟使用如下几个函数来初始化RI_LED_Init、IIC_Init对这些硬件的控制和读取只用到了IO口的通用功能,没有其他的复用功能。具体来说控制LED的IO口配置为以50MHz速率通用推挽输出,而对于模拟I2C时序的GPIO口其中时钟线SCL为50MHz速率通用推挽输出,而SDA数据线则需要通过配置GPIO的相关寄存器来使其在输入和输出之间转换。
2)SPI控制器的初始化和发射机一致,在此不再赘述。
3)定时器TIM输出比较的配置:定时器时基单元的输入时钟为72MHz,当分频系数PSC为71,ARR寄存器的值设置为19999时,得到定时节拍为1us,定时时长为20ms,输出比较配置为PWM1模式下的高输出极性,当CCR寄存器的值为1000时,得到高电平为1ms,周期为20ms的PWM波。
将微控制器MCU的外设配置完成后,开始配置2.4g无线射频模块和姿态传感器,具体步骤如下:
1)2.4g无线射频模块:写RX通道0节点地址,需要和发射机的地址相同、使能通道0自动应答、允许接收数据通道0、选择射频通道40、设置通道0接收有效数据宽度、设置TX发射参数:0dBm,2Mbps,开启低噪声放大器增益、使能16位CRC,接收模式,中断时引脚电平变低。
2)姿态传感器:复位MPU6050、唤醒MPU6050,使能温度传感器,同时设置系统时钟源为PLL,使用X轴陀螺为参考、关闭所有中断、关闭I2C主模式、关闭FIFO、设置数字低通滤波器(DLPF)、设置陀螺仪采样率为50Hz、设置陀螺仪满量程范围:±2000dps、设置加速度计满量程范围:±2g、使能陀螺仪和加速度计,使能MPU6050内部dmp。
经过上述的配置,方可进入while的死循环中完成接收机的系统功能:
微控制器MCU通过SPI总线轮询STATUS寄存器bit6位,如果bit6位复位,则说明未收到数据,继续查询,如果bit6位置位,则表明有数据到来。数据到来后,对在发射端拆分后的数据进行恢复,恢复后的值均分布在1000到2000之间,表示PWM信号的高电平持续时间为1000us到2000us之间(周期为20ms),此后通过调用TIM_SetCompareX函数来改变每个通道的PWM信号占空比,改变油门大小和舵机偏转角度,进而控制飞机飞行姿态。GPIO模拟参照图4的I2C时序,读取姿态传感器的欧拉角数据,然后设置2.4g无线射频模块为发射模式,准备回传欧拉角等数据,完成本次双工通信。
由于发射机在数据发送完成后等待了150ms,所以接收机在接收到数据后的150ms内必须完成数据回传,否则发射端将无法接收到本次回传的数据,导致本次双工通信的失败。
在完成整个双工算法的设计后,为了提高整个代码的执行效率,提高系统实时性,在编译时采用-O2优化,使代码执行效率更高,更能适应实际现场。
Claims (5)
1.一种实现固定翼飞行器半双工通信的算法,其特征在于,包括以下步骤:
S1:发射机向接收机看,采用“发送-等待”的方式,数据的双向传输可靠。
S2:发射机端采集数据并处理发送,完成后等待数据回传;
S3:接收机等待发射机数据,接收到数据后首先控制飞行姿态,然后采集姿态传感器数据;
S4:接收机回传数据给发射机,完成后继续等待发射机数据;
S5:发射机收到回传数据后,再次读取数据。
2.根据权利要求1所述的一种实现固定翼飞行器半双工通信的算法,其特征在于,所述步骤2中:数据采集的微调按键采用9*9矩阵键盘输入,通过将GPIO口在推挽输出和上拉输入之间转换实现。
3.根据权利要求1所述的一种实现固定翼飞行器半双工通信的算法,其特征在于,所述步骤2中:数据处理采用如下公式计算电压数字量:
其中:Vref=3.3V、n=12。
4.根据权利要求1所述的一种实现固定翼飞行器半双工通信的算法,其特征在于,所述步骤3中:采用如下逻辑判断Get_NRF_RI_Data是否恒等于零来判断数据是否到来。
5.根据权利要求1所述的一种实现固定翼飞行器半双工通信的算法,其特征在于,所述步骤3中:采用如下逻辑改变PWM占空比:
函数是TIM_SetCompare1里面的形参为TIM1,PWM_CCR[x];PWM_CCR[x]为对应的PWM通道x的CCR值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710167609.1A CN106921480A (zh) | 2017-03-21 | 2017-03-21 | 一种实现固定翼飞行器半双工通信的算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710167609.1A CN106921480A (zh) | 2017-03-21 | 2017-03-21 | 一种实现固定翼飞行器半双工通信的算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106921480A true CN106921480A (zh) | 2017-07-04 |
Family
ID=59462134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710167609.1A Pending CN106921480A (zh) | 2017-03-21 | 2017-03-21 | 一种实现固定翼飞行器半双工通信的算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106921480A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450432A (zh) * | 2017-08-14 | 2017-12-08 | 广州耐奇电气科技有限公司 | 一种集中式的能源可视化管理系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1158477A2 (en) * | 2000-05-23 | 2001-11-28 | Endevco Corporation | Communication bus connecting sensor modules to a master module |
CN1444349A (zh) * | 2002-03-08 | 2003-09-24 | 华为技术有限公司 | 数字调节光接收模块及其调节方法 |
CN205121341U (zh) * | 2015-10-27 | 2016-03-30 | 四川豪斯特电子技术有限责任公司 | 一种无人机地面指挥系统 |
CN105620737A (zh) * | 2016-02-26 | 2016-06-01 | 厦门大学嘉庚学院 | 用于直升型飞行器的语音遥控系统及直升型遥控飞行器 |
CN105794290A (zh) * | 2013-09-26 | 2016-07-20 | 深圳市大疆创新科技有限公司 | 数据通信系统及方法 |
CN106394871A (zh) * | 2016-09-29 | 2017-02-15 | 大连理工大学 | 一种固定翼飞行器控制装置 |
-
2017
- 2017-03-21 CN CN201710167609.1A patent/CN106921480A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1158477A2 (en) * | 2000-05-23 | 2001-11-28 | Endevco Corporation | Communication bus connecting sensor modules to a master module |
CN1444349A (zh) * | 2002-03-08 | 2003-09-24 | 华为技术有限公司 | 数字调节光接收模块及其调节方法 |
CN105794290A (zh) * | 2013-09-26 | 2016-07-20 | 深圳市大疆创新科技有限公司 | 数据通信系统及方法 |
CN205121341U (zh) * | 2015-10-27 | 2016-03-30 | 四川豪斯特电子技术有限责任公司 | 一种无人机地面指挥系统 |
CN105620737A (zh) * | 2016-02-26 | 2016-06-01 | 厦门大学嘉庚学院 | 用于直升型飞行器的语音遥控系统及直升型遥控飞行器 |
CN106394871A (zh) * | 2016-09-29 | 2017-02-15 | 大连理工大学 | 一种固定翼飞行器控制装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450432A (zh) * | 2017-08-14 | 2017-12-08 | 广州耐奇电气科技有限公司 | 一种集中式的能源可视化管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107092568B (zh) | 在低功耗系统中处理数据的数据通信接口 | |
CN100498866C (zh) | 用串口接收红外遥控信号的方法 | |
CN112639756A (zh) | 混合模式射频前端接口 | |
CN108100308B (zh) | 一种可重构单板皮卫星系统 | |
CN106292710B (zh) | 基于Kinect传感器的四旋翼无人机控制方法 | |
US20180173667A1 (en) | Hard reset over i3c bus | |
CN106921480A (zh) | 一种实现固定翼飞行器半双工通信的算法 | |
US20010044862A1 (en) | Serializing and deserialing parallel information for communication between devices for communicating with peripheral buses | |
CN106452995A (zh) | 一种WiFi远程控制模块 | |
US20170168980A1 (en) | SPI Interface With Automatic Slave Select Generation | |
CN109859454B (zh) | 基于红外协议的红外码发送电路、芯片、遥控设备及空调 | |
WO2011009356A1 (zh) | 多天线的无线远程电梯召唤的操控系统及控制方法 | |
CN106039730B (zh) | 头端指向的调整方法及遥控飞行器 | |
KR101883522B1 (ko) | 듀얼 mcu에서 마스터 mcu 및 슬레이브 mcu 전환 방법 및 장치 | |
CN102445981A (zh) | 数据传输系统以及数据传输方法 | |
CN113641185A (zh) | 一种固定翼无人机通信算法 | |
CN113835366A (zh) | 一种固定翼飞行器控制系统及其方法 | |
Bhatia et al. | Modeling and simulation of electrical load control system using RF technology | |
CN101625554B (zh) | 航天器同轨同速模拟运动平台中的无线通信控制系统 | |
CN202395820U (zh) | 基于Zigbee的USB接口的适配器 | |
CN203588090U (zh) | 一种节能自动温控系统 | |
CN203165205U (zh) | 与具有闪光灯的智能电子产品配合的遥控装置 | |
Zaher et al. | Integrated electronic system for implantable sensory NFC tag | |
CN102238358B (zh) | 可提高图像处理速度的交互式系统及其方法 | |
US11429210B2 (en) | Wireless lighting effect configuration data transmission system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170704 |