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

一種新型雙核飛行控制系統的設計

2015-03-09 02:13:01DesignoftheNewTypeofDualcoreFlightControlSystem
自動化儀表 2015年2期
關鍵詞:系統設計

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

杜紅彬 徐芳俊 江 哲

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

一種新型雙核飛行控制系統的設計

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

杜紅彬徐芳俊江哲

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

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

關鍵詞:飛行控制系統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引言

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

綜上所述,本文介紹一種簡潔、高效的雙核飛行控制系統。該飛控系統采用兩片基于Cortex-M4內核具有單周期浮點運算能力的STM32F407,利用并行16位GPIO口直接互連,以中斷應答機制控制兩個CPU之間的數據交換,同時編寫了CPU之間的通信協議,實現雙CPU之間的高速、實時、可靠的通信。另外,這種雙核架構可以實現相互監督,比如一個CPU可以監督另外一個CPU閉環控制的質量、故障等,實現了最小冗余化的可靠性保證。

1系統硬件設計

1.1 芯片選型和管腳分配

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

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

1.2 系統硬件架構

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

圖1中,控制部分主要是調理A/D信號輸入,輸出PWM信號,同時利用多個I/O口輸出隔離控制信號。通信部分主要利用通信接口與外界通信。兩個CPU之間的通信則采用兩組16位的GPIO口直接互連,利用中斷應答機制控制數據的收發。系統的具體功能如下。

圖1 系統結構框圖

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

② 使用多路A/D采集電池電量、電源轉換后的電源精度,同時測量電機的電流等信號。

③ 輸出多路PWM信號驅動舵機或者輸出調速信號控制電機轉動速度。

2關鍵子模塊設計

2.1 系統電源部分

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

圖2 系統電源框架圖

2.2 雙CPU之間通信接口設計

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

利用并口GPIO傳輸數據,如何進行端口互聯和控制收發是一個需要綜合考慮的問題。現有兩種方案可供選擇。

① 一個CPU的一組16位的GPIO端口與另一個CPU的一組16位的GPIO端口直接并行互聯,利用定時器按一定的時間產生發送標志位,控制數據發送。由于GPIO具有方向性,在某一時刻只能單向通信,要實現收發,需要切換收發方向,通信較為不便;同時利用定時器來控制數據發送,無法做到實時性。

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

圖3 兩個CPU的通信接口原理圖

圖3中,兩個CPU的兩組16位GPIO口(PE口和PF口)兩兩并行直接互連,兩對中斷收發控制線(PG0、PG1和PG2、PG3)也并行直接互聯。利用這兩對中斷收發控制線分別控制PE口和PF口的數據收發。圖4為通信STM32F407的數據傳輸時序圖。圖4中,PCLK2為STM32F407內部APB2的時鐘,PG2、PG3分別為PF口數據交換的中斷請求引腳和中斷應答引腳。

圖4 STM32F407(通信)的數據傳輸時序圖

圖3中,STM32F407(通信)為發送方,STM32F407(控制)為接收方。兩者的PG2、PG3空閑時都置為高電平狀態,當發送方要申請發送PF口的數據時,先將自身的PG2拉低為低電平,產生下降沿并向接收方申請中斷,表示準備發送數據。接收方的PG2口檢測到下降沿后,空閑情況下,PG2口產生下降沿應答發送方,表明已經準備接收數據。之后,發送方將一幀數據寫到自身的PF口數據輸出寄存器,接收方立即去讀取自身的PF口的數據輸入寄存器。每讀完一幀數據接收方就產生一個下降沿,通知發送方數據已讀完;發送方收到下降沿后,接著發送下一幀數據。如此往復循環,實現數據的連續發送。

3系統軟件設計

3.1 GPIO端口功能分配

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

圖5 16位GPIO口的功能分配

3.2 通信協議設計

GPIO端口功能分配完后,即進行相應協議的制定。

① 協議概述

系統定義一個主/從協議,該協議規定發送方為主機,接收方為從機,主機在同一時刻只發起一個數據通信任務請求,從機在沒有收到主機的請求時并不主動發送數據。主機以單任務和廣播兩種模式對從機發出數據通信請求。在單任務模式下,主機每次發送單個任務地址給從機,從機接到并處理完請求后,向主機返回一幀數據。這種模式下,系統數據通信任務需要處理兩個報文:一個是主機的請求,另一個是來自從機的應答,每個任務地址必須是規定的唯一地址,這樣才能區別于其他任務被尋址。在廣播模式下,主機向從機發送廣播地址,對于主機的廣播請求從機并不需要應答返回,地址0為廣播地址。

② 幀描述

針對本系統CPU之間通信的協議,CPU之間通信時數據幀的格式如表1所示。

表1 幀的定義格式

表1中,8位數據作為幀的開頭,接著是4位任務地址,幀的末尾是4位CRC校驗。傳輸一幀數據時,包含8位數據和可以尋址16個任務地址的4位地址位,同時為提高數據通信的可靠性,幀末尾添加了4位CRC校驗值。

③ 地址規則

該協議任務地址有16個不同的地址,表2為任務地址的分配。

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

表2 任務地址的分配

④ 4位CRC校驗

該協議包含一個對全部報文內容執行并基于循環冗余校驗(CRC) 算法的4位錯誤檢驗域。CRC域檢驗整個報文的內容,由4位值構成。CRC域作為報文的最后的域附加在報文之后和報文一起發送。

附加在報文后面的4位CRC值由發送方計算,接收方在接收報文時重新計算整個報文的4位CRC值,并將計算結果和實際接收到的4位CRC值進行比較。如果兩者相等,則為正確,否則為錯誤。

3.3 通信軟件的設計

假定發送方為主機,接收方為從機,那么系統的每個CPU既是主機又是從機。主從機工作流程圖如圖6、圖7所示。

圖6 主機工作流程圖

圖7 從機工作流程圖

根據上一節定義的通信協議,首先CPU對主機待發送緩沖區的數據進行處理,同時初始化從機接收數據緩沖區。隨后,主/從機通過中斷請求應答機制發送和接收數據。從機接收完一定的數據(假設N個)后,為方便CPU對接收到的數據進行處理,采用DMA方式對接收到的數據進行內存到內存的移動。

圖6中,主機將待發送的8位數據添加4位地址,然后對這12位數進行4位CRC校驗值,最后組合成一個16位的數據傳輸給待發送的緩沖區。主機處理函數程序如下。

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];

//獲取待發送的數據

addr = COM_Transfer_addr[m];

//獲取待發送的地址

temp= addr;

temp= (temp<<8)+data;

//得到12位的值,8位數據+4位地址

jy_crc= CRC4(temp);

//查表獲得4位的CRC值

temp|=(jy_crc<<12);

//將jy_crc值左移12位,為高字節的高四位

return temp;

//返回16位的數

}

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

void Slave_handler(uint8_t j)

{

uint16_t temp;

temp= COM_DST_Buffer[j];

//數據接收緩沖區

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

//接收到的數據,低字節

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

//接收到的地址,高字節中的低四位

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

//接收到的CRC碼值,高字節中的高四位

temp= temp&0x0fff;

jy_crc =CRC4(temp);

//計算接收到的數據的CRC的值

if(addr == COM_Receive_addr[j])

//如果是發給地址正確

{

if(jy_crc == js_crc)

//如果接收到的CRC碼和校驗后的CRC碼相同

{

COM_Txbuf[j] = data;

//將數據存在Rx_handler這個數組中,給DMA

}

else

//校驗碼不同,傳送出錯

{

COM_Txbuf[j] = CRC_ERR;

//將CRC出錯的數據一律賦值為0xff

}

}

else

//地址不正確

{

COM_Txbuf[j] = ADDR_ERR;

//將地址出錯的數據一律賦值為0x00

}

}

4系統運行測試

利用搭建好的雙CPU飛行控制系統電路板,對該系統CPU之間的通信進行測試。首先,為測試方便,在主機中定義8個待發送的8位數據,并給這8個數據分別對應8個4位地址。利用上一節所述的通信流程,主機向從機發送8個數據。從機接收到數據后,利用DMA方式將數據進行內存到內存的移動,以便從機對接收到的數據進行處理。處理完后,進行CRC和地址比對,如果無誤,從機將主機發來的數據返回給主機。隨后,切換主從模式,主機將處理后的數據發送給從機,從機收到8個數據后,程序停止。為調試方便,我們用Debug調試模式,對主機發送和接收的數據進行觀測。

試驗中,通信CPU發送8個數據(0x11,…,0x88)給控制CPU,8個數據對應的4位地址為(0x00,…,0x07)。控制CPU接收8個經過主機處理的16位數據后,經過解析匹配校驗處理,返回給通信CPU。在Debug窗口的右側為通信CPU接收到的數據,結果顯示為(0x11,…,0x88),地址匹配和CRC校驗正確,說明雙方通信較為可靠,同時試驗中雙方利用GPIO口之間16位并行通信,I/O狀態翻轉均達到納秒級別,可見實時性較高。從試驗中可以看出,飛行控制系統中的雙CPU之間通信可靠性和實時性均得到驗證。

5結束語

本文設計了一種雙核的飛行控制系統,采用兩片基于Cortex-M4內核具有單周期浮點運算能力的

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

參考文獻

[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] 陳發堂,郭麗強.ARM+DSP系統MMU在射頻一致性測試儀表的實現[J].自動化儀表,2014,35(1):55-58.

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

[6] 高振.基于雙 DSC 的無人機飛控計算機核心系統的設計與實現 [D].南京:南京航空航天大學, 2011.

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

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

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

[10]李喜東,劉波濤,劉剛.Modbus RTU 串行通訊協議在工業現場的應用[J].自動化技術與應用,2005,24(7):37-40.

《自動化儀表》郵發代號: 4-304, 2015年定價: 18.00元,全年價: 216.00元; 國外代號: M 721

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

中圖分類號:V279+.2

文獻標志碼:A

DOI:10.16086/j.cnki.issn1000-0380.201502008

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

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

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 日韩精品久久无码中文字幕色欲| 日日拍夜夜操| 日韩av电影一区二区三区四区| 国产精品自在自线免费观看| 亚洲成人黄色在线观看| 中文字幕久久亚洲一区| 婷婷综合在线观看丁香| 亚洲日韩AV无码一区二区三区人| 免费A级毛片无码无遮挡| 狠狠做深爱婷婷综合一区| 三级欧美在线| 欧美v在线| 91香蕉视频下载网站| 欧美激情综合| 亚洲综合专区| 国产麻豆精品在线观看| 97在线观看视频免费| 亚洲欧美一区在线| 国产成人成人一区二区| 婷婷亚洲最大| 97国产精品视频人人做人人爱| 免费人成黄页在线观看国产| 尤物成AV人片在线观看| 亚洲swag精品自拍一区| 波多野结衣的av一区二区三区| 黄色一级视频欧美| 亚洲无线一二三四区男男| 十八禁美女裸体网站| 四虎精品黑人视频| 精品少妇人妻av无码久久 | 亚洲综合国产一区二区三区| 亚洲av无码牛牛影视在线二区| 秋霞国产在线| 国产精品亚洲专区一区| 国产91成人| 男女性午夜福利网站| 在线看AV天堂| 成人午夜天| 国产一区亚洲一区| 中文字幕永久视频| 久久亚洲天堂| 99在线观看精品视频| 曰AV在线无码| 中文字幕无码中文字幕有码在线 | 亚洲综合在线最大成人| 婷婷午夜影院| 性网站在线观看| 女人爽到高潮免费视频大全| 亚洲高清中文字幕在线看不卡| 婷婷色一区二区三区| 欧美精品v日韩精品v国产精品| 亚洲国产精品美女| 制服丝袜亚洲| 国产精品一区二区在线播放| 久久香蕉国产线看观看式| 亚洲天堂自拍| 亚洲欧美不卡中文字幕| 国产成人精品优优av| 极品尤物av美乳在线观看| 在线播放国产99re| 毛片在线播放网址| 热伊人99re久久精品最新地| 久久 午夜福利 张柏芝| 中文字幕中文字字幕码一二区| 久久网欧美| 一本久道热中字伊人| 999精品视频在线| 午夜性刺激在线观看免费| 国产免费网址| 亚洲国产中文在线二区三区免| 国产精品综合色区在线观看| 在线精品自拍| 国产精品亚洲精品爽爽| 国产色婷婷| 91色在线观看| 亚洲成人在线免费| 伊人久久婷婷| 夜夜爽免费视频| 一区二区日韩国产精久久| 在线视频一区二区三区不卡| 亚洲第一在线播放| 亚洲国产欧美自拍|