999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種新型雙核飛行控制系統(tǒng)的設(shè)計(jì)

2015-03-09 02:13:01DesignoftheNewTypeofDualcoreFlightControlSystem
自動(dòng)化儀表 2015年2期
關(guān)鍵詞:系統(tǒng)設(shè)計(jì)

Design of the New Type of Dual-core Flight Control System

杜紅彬 徐芳俊 江 哲

(華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海 200237)

一種新型雙核飛行控制系統(tǒng)的設(shè)計(jì)

Design of the New Type of Dual-core Flight Control System

杜紅彬徐芳俊江哲

(華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海200237)

摘要:針對(duì)現(xiàn)有雙核飛行控制系統(tǒng)方案中CPU之間通信存在接口電路復(fù)雜、通信速率低、擴(kuò)展性差的問(wèn)題,提出了一種采用并行16位GPIO口直接互連并利用中斷應(yīng)答機(jī)制控制CPU之間數(shù)據(jù)通信的方案。選用兩片基于Cortex-M4內(nèi)核具有單周期浮點(diǎn)運(yùn)算能力的STM32F407進(jìn)行同步控制與通信,并利用MicroXplorer軟件完成CPU外設(shè)管腳資源的分配與設(shè)計(jì),制定并編寫(xiě)了相關(guān)通信協(xié)議。經(jīng)檢驗(yàn),這種雙CPU直接并口通信的方式,既能滿足飛控系統(tǒng)高速可靠的數(shù)據(jù)交換,同時(shí)又簡(jiǎn)化了CPU之間的通信接口電路,是一種簡(jiǎn)便可行的方案。

關(guān)鍵詞:飛行控制系統(tǒng)STM32F407MicroXplorer并口通信GPIO

Abstract:At present, in existing dual-core flight control system schemes, the communication between CPU features disadvantages of complex circuitry, low communication rate, and poor expansibility, thus the scheme is proposed, in which parallel 16-bit GPIO port direct interconnection is adopted, and communication between CPU is controlled through interrupt response mechanism. Two of the STM32F407 chips based on Cortex-M4 inner core, and features single cycle floating point operation capability are selected for synchronize control and communication; and MicroXplorer software is used to accomplish the distribution and design of the peripheral pin resources of CPU, and relevant communication protocol is formulated and written. The tests indicate that the direct parallel communication between dual CPU meets the requirements of high speed reliable data exchange, and simplified the communication interfacing circuit between CPU, it is a simple and feasible scheme.

Keywords:Flight control systemSTM32F407MicroXplorerParallel communicationGPIO

0引言

無(wú)人飛行器(unmanned aerial vehicle,UAV)是當(dāng)前研究的一個(gè)熱點(diǎn)[1-3],飛行控制系統(tǒng)作為其核心,優(yōu)劣性決定飛行性能的高低。飛行控制系統(tǒng)處理的任務(wù)主要有:①實(shí)時(shí)計(jì)算飛行姿態(tài)系統(tǒng)檢測(cè)到的飛行狀態(tài)信息(包括高度、姿態(tài)角、三軸角速度、三軸加速度等),并計(jì)算出相應(yīng)的操縱變量;②實(shí)現(xiàn)無(wú)線通信模塊與地面站之間的通信,將飛行器的狀態(tài)信息傳給地面站,同時(shí)接收地面站的控制指令執(zhí)行相應(yīng)的動(dòng)作。單個(gè)CPU處理這些任務(wù)時(shí)存在著實(shí)時(shí)性和可靠性較低的問(wèn)題,因此很多文獻(xiàn)采用雙核架構(gòu)[4-5]。然而,兩個(gè)CPU之間的通信實(shí)時(shí)性、可靠性如何保證,是個(gè)非常棘手的問(wèn)題。現(xiàn)有的通信方案有:①采用SPI通信方案[6],SPI通信方式簡(jiǎn)單,卻具有通信速率較低的問(wèn)題,通信速率無(wú)法滿足實(shí)時(shí)性要求;②采用ARM+CPLD+雙口RAM方案[7],這種方案接口電路較為復(fù)雜,需保證各分立元件的可靠無(wú)誤,同時(shí)調(diào)試的復(fù)雜度也增加;③采用異步通信方案[8],收發(fā)雙方由于包含了開(kāi)始位和停止位,傳輸速度和效率均較低。

綜上所述,本文介紹一種簡(jiǎn)潔、高效的雙核飛行控制系統(tǒng)。該飛控系統(tǒng)采用兩片基于Cortex-M4內(nèi)核具有單周期浮點(diǎn)運(yùn)算能力的STM32F407,利用并行16位GPIO口直接互連,以中斷應(yīng)答機(jī)制控制兩個(gè)CPU之間的數(shù)據(jù)交換,同時(shí)編寫(xiě)了CPU之間的通信協(xié)議,實(shí)現(xiàn)雙CPU之間的高速、實(shí)時(shí)、可靠的通信。另外,這種雙核架構(gòu)可以實(shí)現(xiàn)相互監(jiān)督,比如一個(gè)CPU可以監(jiān)督另外一個(gè)CPU閉環(huán)控制的質(zhì)量、故障等,實(shí)現(xiàn)了最小冗余化的可靠性保證。

1系統(tǒng)硬件設(shè)計(jì)

1.1 芯片選型和管腳分配

飛行控制系統(tǒng)應(yīng)具備四方面的特性:①多路模擬信號(hào)的高精度采集能力;②多串口的通信能力;③足夠多的I/O接口和多頻率信號(hào)輸出能力;④高精度、低延時(shí)的浮點(diǎn)運(yùn)算能力。基于上述特性的考慮,我們采用意法半導(dǎo)體公司的STM32F407作為飛行控制系統(tǒng)的處理器。STM32F407是意法半導(dǎo)體公司推出的基于Cortex-M4內(nèi)核32位的ARM處理器,內(nèi)部集成高性能的DSP浮點(diǎn)運(yùn)算單元,工作頻率高達(dá)168 MHz,內(nèi)部具有1 MB的Flash和192 kB的SRAM,同時(shí)擁有極豐富的外設(shè)資源。因此,STM32F407成為飛行控制系統(tǒng)處理器較為理想的選擇。

CPU外設(shè)管腳資源一般通過(guò)手工進(jìn)行分配,管腳資源分配效率低,而且容易出錯(cuò)。本文采用意法半導(dǎo)體公司的MicroXplorer軟件對(duì)STM32F407外設(shè)管腳資源進(jìn)行最優(yōu)分配,提高了開(kāi)發(fā)設(shè)計(jì)效率。MicroXplorer 是意法半導(dǎo)體公司推出的一個(gè)圖形化工具,使用戶能夠非常方便地分配STM32系列微處理器的外設(shè)管腳資源,并可以生成相應(yīng)的管腳驅(qū)動(dòng)代碼。MicroXplorer提供兩種視圖模式用于執(zhí)行微處理器配置:①外設(shè)面板視圖模式,用于選擇每個(gè)外設(shè);②高級(jí)用戶操作模式,用于強(qiáng)制外圍函數(shù)映射到一個(gè)物理引腳。本系統(tǒng)由雙核構(gòu)成,即飛行控制處理器和通信處理器,因此利用MicroXplorer對(duì)它們分別進(jìn)行了外設(shè)管腳資源分配。

1.2 系統(tǒng)硬件架構(gòu)

飛行控制系統(tǒng)由控制和通信兩部分組成,采用兩個(gè)STM32F407分別作為各部分的CPU。飛行控制系統(tǒng)的架構(gòu)如圖1所示,主要由電源模塊、雙ARM處理器、多路數(shù)據(jù)采集、多PWM電機(jī)控制輸出、多路I/O接口、外部通信接口等部分組成。

圖1中,控制部分主要是調(diào)理A/D信號(hào)輸入,輸出PWM信號(hào),同時(shí)利用多個(gè)I/O口輸出隔離控制信號(hào)。通信部分主要利用通信接口與外界通信。兩個(gè)CPU之間的通信則采用兩組16位的GPIO口直接互連,利用中斷應(yīng)答機(jī)制控制數(shù)據(jù)的收發(fā)。系統(tǒng)的具體功能如下。

圖1 系統(tǒng)結(jié)構(gòu)框圖

① 使用通信接口與三軸加速度計(jì)、三軸磁力計(jì)、三軸陀螺儀、大氣壓計(jì)、溫度傳感器、通信模塊等傳感器進(jìn)行通信。

② 使用多路A/D采集電池電量、電源轉(zhuǎn)換后的電源精度,同時(shí)測(cè)量電機(jī)的電流等信號(hào)。

③ 輸出多路PWM信號(hào)驅(qū)動(dòng)舵機(jī)或者輸出調(diào)速信號(hào)控制電機(jī)轉(zhuǎn)動(dòng)速度。

2關(guān)鍵子模塊設(shè)計(jì)

2.1 系統(tǒng)電源部分

電源是系統(tǒng)可靠運(yùn)行的前提,針對(duì)系統(tǒng)外設(shè)通信轉(zhuǎn)換器件較多的特點(diǎn),設(shè)計(jì)了兩路3.3 V的電源,即VDD和VCC(3.3 V),以滿足系統(tǒng)的功率消耗需求。一路VDD給兩個(gè)最小系統(tǒng)供電,一路VCC(3.3 V)給通信轉(zhuǎn)換芯片供電。另外,考慮到CPU需要使用A/D精確對(duì)外部的模擬量信號(hào)進(jìn)行采樣轉(zhuǎn)換,特意設(shè)計(jì)了一路A/D轉(zhuǎn)換參考電壓Vref(1.5 V)。系統(tǒng)電源框架如圖2所示。

圖2 系統(tǒng)電源框架圖

2.2 雙CPU之間通信接口設(shè)計(jì)

對(duì)于雙CPU之間的通信,采用SPI通信方案存在通信速率較低的缺點(diǎn),采用雙口RAM+CPLD方案則硬件復(fù)雜且訪問(wèn)有延遲,異步通信方案存在通信效率低的問(wèn)題。總結(jié)上述方案的不足,我們需要設(shè)計(jì)一種通信速率高、硬件電路簡(jiǎn)單、擴(kuò)展性好的雙CPU之間的通信方案。兩個(gè)STM32F407之間的GPIO口直接互連通信具有以下特點(diǎn):①GPIO口之間通信可以視為CPU內(nèi)部?jī)蓚€(gè)寄存器之間的通信,這樣既簡(jiǎn)化了CPU之間的通信接口設(shè)計(jì),又使得通信具有低延遲、可靠的特點(diǎn);②STM32F407的GPIO口電平狀態(tài)翻轉(zhuǎn)只需要兩個(gè)時(shí)鐘周期,單次通信速率高達(dá)約6 ns/次,滿足實(shí)時(shí)通信的設(shè)計(jì)要求;③利用GPIO口進(jìn)行數(shù)據(jù)交換時(shí),只需將相應(yīng)的GPIO口配置成輸入或者輸出模式,讀寫(xiě)數(shù)據(jù)時(shí)操作相應(yīng)的輸入和輸出數(shù)據(jù)寄存器即可,大大簡(jiǎn)化了接口電路和編程的復(fù)雜度。基于以上優(yōu)點(diǎn),本系統(tǒng)兩個(gè)STM32F407之間的數(shù)據(jù)交換采用并口GPIO直接互聯(lián)通信方案。

利用并口GPIO傳輸數(shù)據(jù),如何進(jìn)行端口互聯(lián)和控制收發(fā)是一個(gè)需要綜合考慮的問(wèn)題。現(xiàn)有兩種方案可供選擇。

① 一個(gè)CPU的一組16位的GPIO端口與另一個(gè)CPU的一組16位的GPIO端口直接并行互聯(lián),利用定時(shí)器按一定的時(shí)間產(chǎn)生發(fā)送標(biāo)志位,控制數(shù)據(jù)發(fā)送。由于GPIO具有方向性,在某一時(shí)刻只能單向通信,要實(shí)現(xiàn)收發(fā),需要切換收發(fā)方向,通信較為不便;同時(shí)利用定時(shí)器來(lái)控制數(shù)據(jù)發(fā)送,無(wú)法做到實(shí)時(shí)性。

② 一個(gè)CPU的兩組16位的GPIO端口與另一個(gè)CPU的兩組16位的GPIO端口直接并行互聯(lián),同時(shí)利用外部中斷應(yīng)答機(jī)制控制數(shù)據(jù)收發(fā)。該方案克服了方案一某一時(shí)刻只能單向通信的不足,能同時(shí)進(jìn)行雙向傳輸數(shù)據(jù)。同時(shí),利用中斷機(jī)制控制收發(fā),實(shí)行分時(shí)操作,提高了CPU的效率。因此,本系統(tǒng)采用第二種方案。圖3為兩個(gè)CPU之間的通信接口原理圖。

圖3 兩個(gè)CPU的通信接口原理圖

圖3中,兩個(gè)CPU的兩組16位GPIO口(PE口和PF口)兩兩并行直接互連,兩對(duì)中斷收發(fā)控制線(PG0、PG1和PG2、PG3)也并行直接互聯(lián)。利用這兩對(duì)中斷收發(fā)控制線分別控制PE口和PF口的數(shù)據(jù)收發(fā)。圖4為通信STM32F407的數(shù)據(jù)傳輸時(shí)序圖。圖4中,PCLK2為STM32F407內(nèi)部APB2的時(shí)鐘,PG2、PG3分別為PF口數(shù)據(jù)交換的中斷請(qǐng)求引腳和中斷應(yīng)答引腳。

圖4 STM32F407(通信)的數(shù)據(jù)傳輸時(shí)序圖

圖3中,STM32F407(通信)為發(fā)送方,STM32F407(控制)為接收方。兩者的PG2、PG3空閑時(shí)都置為高電平狀態(tài),當(dāng)發(fā)送方要申請(qǐng)發(fā)送PF口的數(shù)據(jù)時(shí),先將自身的PG2拉低為低電平,產(chǎn)生下降沿并向接收方申請(qǐng)中斷,表示準(zhǔn)備發(fā)送數(shù)據(jù)。接收方的PG2口檢測(cè)到下降沿后,空閑情況下,PG2口產(chǎn)生下降沿應(yīng)答發(fā)送方,表明已經(jīng)準(zhǔn)備接收數(shù)據(jù)。之后,發(fā)送方將一幀數(shù)據(jù)寫(xiě)到自身的PF口數(shù)據(jù)輸出寄存器,接收方立即去讀取自身的PF口的數(shù)據(jù)輸入寄存器。每讀完一幀數(shù)據(jù)接收方就產(chǎn)生一個(gè)下降沿,通知發(fā)送方數(shù)據(jù)已讀完;發(fā)送方收到下降沿后,接著發(fā)送下一幀數(shù)據(jù)。如此往復(fù)循環(huán),實(shí)現(xiàn)數(shù)據(jù)的連續(xù)發(fā)送。

3系統(tǒng)軟件設(shè)計(jì)

3.1 GPIO端口功能分配

為實(shí)現(xiàn)雙CPU之間高效、可靠的通信,我們需制定兩者之間的通信協(xié)議[9]。首先,需將16位的GPIO口(PE或者PF)進(jìn)行功能細(xì)化,針對(duì)不用的位分配不同的功能。現(xiàn)規(guī)定一組16位GPIO口中的低八位為8位數(shù)據(jù),高八位中低四位為4位地址,高八位中的高四位為4位CRC校驗(yàn)[10]。圖5為16位GPIO口的功能分配。

圖5 16位GPIO口的功能分配

3.2 通信協(xié)議設(shè)計(jì)

GPIO端口功能分配完后,即進(jìn)行相應(yīng)協(xié)議的制定。

① 協(xié)議概述

系統(tǒng)定義一個(gè)主/從協(xié)議,該協(xié)議規(guī)定發(fā)送方為主機(jī),接收方為從機(jī),主機(jī)在同一時(shí)刻只發(fā)起一個(gè)數(shù)據(jù)通信任務(wù)請(qǐng)求,從機(jī)在沒(méi)有收到主機(jī)的請(qǐng)求時(shí)并不主動(dòng)發(fā)送數(shù)據(jù)。主機(jī)以單任務(wù)和廣播兩種模式對(duì)從機(jī)發(fā)出數(shù)據(jù)通信請(qǐng)求。在單任務(wù)模式下,主機(jī)每次發(fā)送單個(gè)任務(wù)地址給從機(jī),從機(jī)接到并處理完請(qǐng)求后,向主機(jī)返回一幀數(shù)據(jù)。這種模式下,系統(tǒng)數(shù)據(jù)通信任務(wù)需要處理兩個(gè)報(bào)文:一個(gè)是主機(jī)的請(qǐng)求,另一個(gè)是來(lái)自從機(jī)的應(yīng)答,每個(gè)任務(wù)地址必須是規(guī)定的唯一地址,這樣才能區(qū)別于其他任務(wù)被尋址。在廣播模式下,主機(jī)向從機(jī)發(fā)送廣播地址,對(duì)于主機(jī)的廣播請(qǐng)求從機(jī)并不需要應(yīng)答返回,地址0為廣播地址。

② 幀描述

針對(duì)本系統(tǒng)CPU之間通信的協(xié)議,CPU之間通信時(shí)數(shù)據(jù)幀的格式如表1所示。

表1 幀的定義格式

表1中,8位數(shù)據(jù)作為幀的開(kāi)頭,接著是4位任務(wù)地址,幀的末尾是4位CRC校驗(yàn)。傳輸一幀數(shù)據(jù)時(shí),包含8位數(shù)據(jù)和可以尋址16個(gè)任務(wù)地址的4位地址位,同時(shí)為提高數(shù)據(jù)通信的可靠性,幀末尾添加了4位CRC校驗(yàn)值。

③ 地址規(guī)則

該協(xié)議任務(wù)地址有16個(gè)不同的地址,表2為任務(wù)地址的分配。

表2中,0為廣播地址,主機(jī)可以向從機(jī)寫(xiě)相應(yīng)的命令,而從機(jī)并不需要應(yīng)答返回。1~10為單個(gè)任務(wù)地址,每個(gè)地址是可以唯一被尋址的任務(wù)地址,主機(jī)每次只能尋址一個(gè)任務(wù)地址。11~15為保留任務(wù)地址,方便以后尋址的擴(kuò)展。

表2 任務(wù)地址的分配

④ 4位CRC校驗(yàn)

該協(xié)議包含一個(gè)對(duì)全部報(bào)文內(nèi)容執(zhí)行并基于循環(huán)冗余校驗(yàn)(CRC) 算法的4位錯(cuò)誤檢驗(yàn)域。CRC域檢驗(yàn)整個(gè)報(bào)文的內(nèi)容,由4位值構(gòu)成。CRC域作為報(bào)文的最后的域附加在報(bào)文之后和報(bào)文一起發(fā)送。

附加在報(bào)文后面的4位CRC值由發(fā)送方計(jì)算,接收方在接收?qǐng)?bào)文時(shí)重新計(jì)算整個(gè)報(bào)文的4位CRC值,并將計(jì)算結(jié)果和實(shí)際接收到的4位CRC值進(jìn)行比較。如果兩者相等,則為正確,否則為錯(cuò)誤。

3.3 通信軟件的設(shè)計(jì)

假定發(fā)送方為主機(jī),接收方為從機(jī),那么系統(tǒng)的每個(gè)CPU既是主機(jī)又是從機(jī)。主從機(jī)工作流程圖如圖6、圖7所示。

圖6 主機(jī)工作流程圖

圖7 從機(jī)工作流程圖

根據(jù)上一節(jié)定義的通信協(xié)議,首先CPU對(duì)主機(jī)待發(fā)送緩沖區(qū)的數(shù)據(jù)進(jìn)行處理,同時(shí)初始化從機(jī)接收數(shù)據(jù)緩沖區(qū)。隨后,主/從機(jī)通過(guò)中斷請(qǐng)求應(yīng)答機(jī)制發(fā)送和接收數(shù)據(jù)。從機(jī)接收完一定的數(shù)據(jù)(假設(shè)N個(gè))后,為方便CPU對(duì)接收到的數(shù)據(jù)進(jìn)行處理,采用DMA方式對(duì)接收到的數(shù)據(jù)進(jìn)行內(nèi)存到內(nèi)存的移動(dòng)。

圖6中,主機(jī)將待發(fā)送的8位數(shù)據(jù)添加4位地址,然后對(duì)這12位數(shù)進(jìn)行4位CRC校驗(yàn)值,最后組合成一個(gè)16位的數(shù)據(jù)傳輸給待發(fā)送的緩沖區(qū)。主機(jī)處理函數(shù)程序如下。

uint16_t Master_handler(uint8_tm)

{

uint8_t jy_crc, data, addr;

uint16_t temp;

temp= 0;

jy_crc= 0, data=0, addr=0;

data = COM_Txbuf[m];

//獲取待發(fā)送的數(shù)據(jù)

addr = COM_Transfer_addr[m];

//獲取待發(fā)送的地址

temp= addr;

temp= (temp<<8)+data;

//得到12位的值,8位數(shù)據(jù)+4位地址

jy_crc= CRC4(temp);

//查表獲得4位的CRC值

temp|=(jy_crc<<12);

//將jy_crc值左移12位,為高字節(jié)的高四位

return temp;

//返回16位的數(shù)

}

圖7中,從機(jī)接收完N個(gè)16位數(shù)后,需要對(duì)它們進(jìn)行拆分解析。首先,拆分得到8位的數(shù)據(jù)、4位地址、4位CRC值,隨后對(duì)16位數(shù)的前12位進(jìn)行CRC校驗(yàn),得到這12位數(shù)據(jù)的4位CRC值。之后,首先進(jìn)行發(fā)送雙方數(shù)據(jù)地址的匹配。如果不正確,則返回地址錯(cuò)誤代碼;如果正確,則比對(duì)接收到的CRC碼和校驗(yàn)后的CRC校驗(yàn)值。如果兩者相等,則將8位數(shù)據(jù)保存起來(lái);如果不相等,返回CRC出錯(cuò)代碼。這樣,進(jìn)一步提高了數(shù)據(jù)通信的可靠性。從機(jī)處理函數(shù)程序如下。

void Slave_handler(uint8_t j)

{

uint16_t temp;

temp= COM_DST_Buffer[j];

//數(shù)據(jù)接收緩沖區(qū)

data= (uint8_t)(temp&0x00ff);

//接收到的數(shù)據(jù),低字節(jié)

addr= (uint8_t)((temp>>8)&0x000f);

//接收到的地址,高字節(jié)中的低四位

js_crc = (uint8_t)((temp>>12)&0x000f);

//接收到的CRC碼值,高字節(jié)中的高四位

temp= temp&0x0fff;

jy_crc =CRC4(temp);

//計(jì)算接收到的數(shù)據(jù)的CRC的值

if(addr == COM_Receive_addr[j])

//如果是發(fā)給地址正確

{

if(jy_crc == js_crc)

//如果接收到的CRC碼和校驗(yàn)后的CRC碼相同

{

COM_Txbuf[j] = data;

//將數(shù)據(jù)存在Rx_handler這個(gè)數(shù)組中,給DMA

}

else

//校驗(yàn)碼不同,傳送出錯(cuò)

{

COM_Txbuf[j] = CRC_ERR;

//將CRC出錯(cuò)的數(shù)據(jù)一律賦值為0xff

}

}

else

//地址不正確

{

COM_Txbuf[j] = ADDR_ERR;

//將地址出錯(cuò)的數(shù)據(jù)一律賦值為0x00

}

}

4系統(tǒng)運(yùn)行測(cè)試

利用搭建好的雙CPU飛行控制系統(tǒng)電路板,對(duì)該系統(tǒng)CPU之間的通信進(jìn)行測(cè)試。首先,為測(cè)試方便,在主機(jī)中定義8個(gè)待發(fā)送的8位數(shù)據(jù),并給這8個(gè)數(shù)據(jù)分別對(duì)應(yīng)8個(gè)4位地址。利用上一節(jié)所述的通信流程,主機(jī)向從機(jī)發(fā)送8個(gè)數(shù)據(jù)。從機(jī)接收到數(shù)據(jù)后,利用DMA方式將數(shù)據(jù)進(jìn)行內(nèi)存到內(nèi)存的移動(dòng),以便從機(jī)對(duì)接收到的數(shù)據(jù)進(jìn)行處理。處理完后,進(jìn)行CRC和地址比對(duì),如果無(wú)誤,從機(jī)將主機(jī)發(fā)來(lái)的數(shù)據(jù)返回給主機(jī)。隨后,切換主從模式,主機(jī)將處理后的數(shù)據(jù)發(fā)送給從機(jī),從機(jī)收到8個(gè)數(shù)據(jù)后,程序停止。為調(diào)試方便,我們用Debug調(diào)試模式,對(duì)主機(jī)發(fā)送和接收的數(shù)據(jù)進(jìn)行觀測(cè)。

試驗(yàn)中,通信CPU發(fā)送8個(gè)數(shù)據(jù)(0x11,…,0x88)給控制CPU,8個(gè)數(shù)據(jù)對(duì)應(yīng)的4位地址為(0x00,…,0x07)。控制CPU接收8個(gè)經(jīng)過(guò)主機(jī)處理的16位數(shù)據(jù)后,經(jīng)過(guò)解析匹配校驗(yàn)處理,返回給通信CPU。在Debug窗口的右側(cè)為通信CPU接收到的數(shù)據(jù),結(jié)果顯示為(0x11,…,0x88),地址匹配和CRC校驗(yàn)正確,說(shuō)明雙方通信較為可靠,同時(shí)試驗(yàn)中雙方利用GPIO口之間16位并行通信,I/O狀態(tài)翻轉(zhuǎn)均達(dá)到納秒級(jí)別,可見(jiàn)實(shí)時(shí)性較高。從試驗(yàn)中可以看出,飛行控制系統(tǒng)中的雙CPU之間通信可靠性和實(shí)時(shí)性均得到驗(yàn)證。

5結(jié)束語(yǔ)

本文設(shè)計(jì)了一種雙核的飛行控制系統(tǒng),采用兩片基于Cortex-M4內(nèi)核具有單周期浮點(diǎn)運(yùn)算能力的

STM32F407作為CPU,利用并行16位GPIO口直接互連通信,以中斷應(yīng)答機(jī)制控制兩個(gè)CPU之間的數(shù)據(jù)收發(fā)。經(jīng)試驗(yàn),該系統(tǒng)能實(shí)現(xiàn)兩個(gè)CPU之間數(shù)據(jù)的雙向交換,其實(shí)時(shí)性和可靠性得到驗(yàn)證。另外,本系統(tǒng)的兩個(gè)CPU留有大量的外部通信接口,以及多通道的隔離I/O口輸出和捕獲輸入,方便系統(tǒng)外圍接口器件的擴(kuò)展。最后,為進(jìn)一步提高系統(tǒng)實(shí)時(shí)響應(yīng)處理多任務(wù)的能力,CPU可以移植諸如μ/COS-III、Linux等操作系統(tǒng),使得本系統(tǒng)性能進(jìn)一步提高。

參考文獻(xiàn)

[1] Kendoul F.Survey of advances in guidance,navigation and control of unmanned rotorcraft systems[J].Journal of Field Robotics,2012,29(2):315-378.

[2] Li Y,Song S.A survey of control algorithms for quadrotor unmanned helicopter[C]∥Advanced Computational Intelligence(ICACI),2012 IEEE Fifth International Conference on,IEEE,2012:365-369.

[3] Bouabdallah S,Siegwart R.Backstepping and sliding-mode techniques applied to an indoor micro quadrotor[C]∥Robotics and Automation,Proceedings of the 2005 IEEE International Conference on,2005:2247-2252.

[4] 陳發(fā)堂,郭麗強(qiáng).ARM+DSP系統(tǒng)MMU在射頻一致性測(cè)試儀表的實(shí)現(xiàn)[J].自動(dòng)化儀表,2014,35(1):55-58.

[5] 王惠中,孫晨宇.雙核超高壓線路微機(jī)保護(hù)裝置的研究[J].自動(dòng)化儀表,2012,34(7):78-81.

[6] 高振.基于雙 DSC 的無(wú)人機(jī)飛控計(jì)算機(jī)核心系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].南京:南京航空航天大學(xué), 2011.

[7] 宋磊,曹林平,吳文超,等.基于ARM+CPLD 的UAV飛行控制系統(tǒng)設(shè)計(jì)[J].電光與控制,2010,17(9):47-50.

[8] 谷新宇,李宗伯.基于雙 DSP 架構(gòu)的微小型無(wú)人機(jī)飛行控制系統(tǒng)[J].兵工自動(dòng)化,2010,29(8):79-84.

[9] 馬寶甫.CRC校驗(yàn)快速查表算法及其應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,1997,7(7):46-47.

[10]李喜東,劉波濤,劉剛.Modbus RTU 串行通訊協(xié)議在工業(yè)現(xiàn)場(chǎng)的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2005,24(7):37-40.

《自動(dòng)化儀表》郵發(fā)代號(hào): 4-304, 2015年定價(jià): 18.00元,全年價(jià): 216.00元; 國(guó)外代號(hào): M 721

歡迎賜稿, 歡迎訂閱, 歡迎寶貴建議, 歡迎惠刊各類廣告

中圖分類號(hào):V279+.2

文獻(xiàn)標(biāo)志碼:A

DOI:10.16086/j.cnki.issn1000-0380.201502008

修改稿收到日期:2014-07-12。

第一作者杜紅彬(1974- ),男,2002年畢業(yè)于大連理工大學(xué)過(guò)程系統(tǒng)工程專業(yè),獲博士學(xué)位,副教授;主要從事嵌入式系統(tǒng)設(shè)計(jì)與工業(yè)控制方面的研究。

猜你喜歡
系統(tǒng)設(shè)計(jì)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 亚洲精品午夜天堂网页| 国产97视频在线观看| 久久久久亚洲av成人网人人软件| 99青青青精品视频在线| 91精品国产一区自在线拍| 久久国产精品国产自线拍| 午夜精品福利影院| 午夜欧美在线| 婷婷亚洲天堂| 最新精品久久精品| 亚洲精品亚洲人成在线| 亚洲欧美国产视频| 国产精品男人的天堂| 国产精品思思热在线| 日韩久久精品无码aV| 一本色道久久88| 亚洲天堂视频在线免费观看| 国产成人啪视频一区二区三区| 国产高清在线丝袜精品一区| 中文字幕亚洲电影| 欧美精品色视频| 欧美精品aⅴ在线视频| 欧美性猛交xxxx乱大交极品| 欧美激情福利| 国产特级毛片| 亚洲国产午夜精华无码福利| 热热久久狠狠偷偷色男同| 不卡网亚洲无码| 亚洲欧洲国产成人综合不卡| 国产在线日本| 国产精品免费入口视频| 国产噜噜噜| 波多野结衣二区| 欧美一级在线看| 国产打屁股免费区网站| 久久一级电影| 国产精品3p视频| 在线亚洲精品福利网址导航| 亚洲人精品亚洲人成在线| 国产激情无码一区二区APP| 熟妇无码人妻| 国产一级无码不卡视频| 色综合手机在线| 天堂成人在线视频| 国产凹凸一区在线观看视频| 免费人成网站在线高清| 91精品日韩人妻无码久久| 又爽又大又黄a级毛片在线视频 | 在线观看视频99| 2022国产无码在线| 精品国产免费观看一区| 日韩在线第三页| 国产成人精品高清在线| AV无码无在线观看免费| 91丝袜乱伦| 中文字幕永久在线看| 99热免费在线| 92精品国产自产在线观看| 欧美精品成人一区二区在线观看| 日韩 欧美 国产 精品 综合| 国产成人h在线观看网站站| 色综合激情网| 日本在线视频免费| 老色鬼欧美精品| 在线a网站| 在线看片中文字幕| 国产在线观看人成激情视频| 精品久久久久久久久久久| 五月婷婷综合网| 久久国产毛片| AV片亚洲国产男人的天堂| 欧美国产日韩另类| 制服丝袜国产精品| 日本影院一区| 国产日韩欧美视频| 国产小视频a在线观看| 多人乱p欧美在线观看| 亚洲福利片无码最新在线播放| 久久精品国产国语对白| 日韩精品无码免费专网站| 成人免费网站在线观看| 免费AV在线播放观看18禁强制|