• 沒有找到結果。

容錯控制器架構之系統實現研究

N/A
N/A
Protected

Academic year: 2021

Share "容錯控制器架構之系統實現研究"

Copied!
49
0
0

加載中.... (立即查看全文)

全文

(1)國立交通大學 資訊學院 資訊學程 碩 士 論 文. 容錯控制器架構之系統實現研究 The Study of Fault-Tolerant Control Architecture and its Implementations. 研 究 生:吳昌翰 指導教授:許騰尹. 教授. 中 華 民 國 九 十 六 年 六 月 i.

(2) 容錯控制器架構之系統實現研究 The Study of Fault-Tolerant Control Architecture and its Implementations 研 究 生:吳昌翰. Student:Chang-Han Wu. 指導教授:許騰尹. Advisor:Terng-Yin Hsu. 國 立 交 通 大 學. 資訊學院 資訊學程 碩 士 論 文 A Thesis Submitted to College of Computer Science National Chiao Tung University in partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Science June 2006 Hsinchu, Taiwan, Republic of China. 中華民國九十六年六月 ii.

(3) 容錯控制器架構之系統實現研究 學生:吳昌翰. 國 立 交 通 大 學. 指導教授:許騰尹. 資 訊 學 院. 摘. 資 訊 學 程 碩 士 班. 要. 本論文以硬體描述語言為基礎,設計一組高可靠度的容錯控制器架構。整體架構上 有別於一般常見的由三套處理器模組搭配俗稱投票器的多數表決控制器及匯流排架構結 合之三組態容錯架構。而是將多數表決控制器的功能內嵌至各控制單元的交握過程,藉 由三組控制單元彼此交握協調的過程中,在即時需求的時刻內產生正確的輸出值。 此架構有效的整合了多管線備份架構及三組態容錯架構兩者的優點,排除了當三組 態備份架構中多數表決控制器出現異常狀態時導致全系統無輸出訊號之可能性。同時藉 由硬體描述語言的平台設計,也降低了採用一般硬體方式實現多管線所需的龐大體積及 高昂金錢之代價。. 關鍵字:硬體描述語言、容錯控制器、三組態容錯、多管線、即時。. iii.

(4) The Study of Fault-Tolerant Control Architecture and its Implementations Student:Chang-Han Wu. Advisors:Terng-Yin Hsu. Degree Program of Computer Science National Chiao Tung University. ABSTRACT This thesis is to describe the design of a high reliability Fault-Tolerant controller utilizing the Hardware Description Language(HDL). Differing from TMR-based hybrid hardware which composed of three controller module、a Majority Voter and a data bus, the structure embeds the Majority Voter into the hand-shaking process of each control units. It is also designed to generate adequate output during hand-shaking process of three (3) controllers in response to real time requirement. This architecture combines the advantage of Multi-Bus and TMR structure which despite possible failure of voter that may cause no output of system. By use of HDL, this architecture can save large amount of space and cost that traditional Hardware system may not be affordable.. Keyword:Hardware Description Language(HDL), Fault-Tolerant controller , TMR-based hybrid hardware, Multi-Bus, Real-Time.. iv.

(5) 誌. 謝. 騰尹老師曾告誡過我們:「上等人主動學習 How should do, 中等人總是在問 How could do, 剩下的人就只要 Just do.」,謝謝騰尹老師陪著學生 do 了三個寒暑。三年了, 一段在人生旅途中說長不長,說短不短的時間,歷經了外婆往生、交大入學、結婚生子, 一連串的種種,著實在我的生命中雕劃下一段深刻的痕跡。 依稀記得三年前畏懦的敲著騰尹老師的大門,搔著頭怯怯請老師簽下指導同意書的 蠢樣子。為了定點浮點的觀念不明確,研究進度緩慢牛步的我被老師唸的無地自容的種 種也歷歷在目。在畢業的前夕,感謝騰尹老師三年來的提攜,讓學生「血淋淋」的切身 體認到作為一個實驗生應有的求知態度。(如果有興趣要找騰尹老師的,相信我,他真的 很操…) 也感謝交大 ISIP 實驗室的學長們,如果不是小賢及阿福學長如及時雨般的觀念指導 (雖然常常還是聽不懂學長教的公式),如果沒有大洋學長夙興夜寐的幫我搞定 SERVER 連線問題(雖然最後還是沒有用過),如果沒有 panda 不時的給予 Verilog 語法上的提醒(雖 然沒有 panda 陪的時候仍然出現 BUG 一堆),如果沒有小豆把我的 Wire 與 Reg 之間差異 作觀念釐清(雖然吃了我小孩的油飯後還問你結婚了沒),如果沒有丞袁在最後驗證時的跨 刀幫忙跑合成(雖然我到現在還是常常把你名字打錯),沒有你們的情意相挺,小弟的論文 也不會順利的產出。 當然也要感謝我這些年來在工作上協助我的伙伴,鶴齡學長、漢興學長、信欽學長、 印里學長、啟泰學長、自成學長及彥鋕學長,這些年來你們在工作上的提攜以及給予小 弟課業上的鼓勵,是小弟能完成學業的一大推手。 而在平台實作遇到嚴重瓶頸時,端傑同學適時的提供新竹「快樂」三日遊,在三天 內與我患難與共的研究平台時序問題,並不斷的給予經驗上的指導,致使硬體平台能夠 即時順利完成,亦使小弟銘感五內。(雖然那幾天被蚊子咬的包包可能和我程式的 BUG 一樣多) 最後要對我的家人致上無限的敬意:和藹的老爸(雖然成天說交大不畢業就不要回 家)、慈祥的老媽(雖然碰到我就唸說怎麼還畢不了業)、親愛的老婆梅燕與可愛的吳胥以 (雖然常常在我已經很累的凌晨還哭著要喝奶)。是你們在我徬徨的時候,點盞燈照亮我回 家的路。是你們在我工作與課業兩頭燒之時,持續供給我家庭的溫暖。在此,謹以完成 這份論文的喜悅與你們分享。 文末,再一次衷心祝福這段日子裡直接間接幫助過我的每一位。. v.

(6) 目. 錄. 摘 要....................................................................................................................iii 英文摘要................................................................................................................ iv 誌 謝..................................................................................................................... v 目 錄.................................................................................................................... vi 圖 目 錄...........................................................................................................vii 表 目 錄............................................................................................................ ix 第一章 導論........................................................................................................... 1 第二章 理論背景 .................................................................................................. 3 第三章 精進式容錯系統設計 .............................................................................. 6 3.1 精進式容錯系統架構介紹 .......................................................................................... 6 3.2 控制率規劃 .................................................................................................................. 8 3.3 控制單元設計 ............................................................................................................ 13 3.3.1 控制單元架構................................................ 13 3.3.2 浮點數處理單元.............................................. 14 3.3.3 積分器...................................................... 15 3.3.4 高通濾波器.................................................. 17 3.4 控制器架構 ................................................................................................................ 19. 第四章 驗證平台設計與控制器驗證 ................................................................ 22 4.1 德州儀器 TMS320C67 晶片簡介 ............................................................................. 22 4.2 驗證平台程式開發 .................................................................................................... 24 4.2.1 Code Composer Studio 簡介 ............................................................................ 24 4.2.2 DSP/BIOS 簡介 ................................................................................................ 25 4.2.3 測試系統架構.................................................................................................. 26 4.3 控制器測試驗證 ........................................................................................................ 29 4.3.1 第一階段測試結果及分析...................................... 32 4.3.2 第二階段測試結果及分析...................................... 36 4.3.3 第三階段測試結果及分析...................................... 37. 第五章 結論與未來展望 .................................................................................... 38 參考文獻............................................................................................................... 39. vi.

(7) 圖. 目. 錄. 圖 1-1:控制系統示意圖 ...................................................................................... 1 圖 2-1:看門狗監測系統示意圖 .......................................................................... 3 圖 2-2:三組態容錯系統示意圖 .......................................................................... 4 圖 2-3:多管線平行系統示意圖 .......................................................................... 5 圖 3-1:精進式容錯系統示意圖 .......................................................................... 6 圖 3-2:飛機外觀三視圖 ...................................................................................... 8 圖 3-3:線性模組控制流程方塊圖 .................................................................... 10 圖 3-4:定翼飛行器之穩定姿態保持比例積分控制系統方塊流程圖............ 12 圖 3-5:控制單元運算架構 ................................................................................ 13 圖 3-7:方程式積分結果 .................................................................................... 15 圖 3-8:方程式積分之尤拉法近似結果 ............................................................ 16 圖 3-9:積分器架構 ............................................................................................ 16 圖 3-10:高通濾波器架構 .................................................................................. 18 圖 3-11:控制器運作流程 .................................................................................. 19 圖 3-12:控制器架構圖 ...................................................................................... 20 圖 3-13:精進式容錯系統架構 .......................................................................... 21 圖 4-1:TMS320C67 晶片系統方塊圖 .............................................................. 23 圖 4-2:CCS 整合環境示意圖 ........................................................................... 25 圖 4-3:DSP/BIOS 之結構化工具調整介面 ..................................................... 26 圖 4-4:軟體流程架構圖 .................................................................................... 27 圖 4-5:軟體流程架構圖(續) ............................................................................. 28 圖 4-6:系統輸出耐久性暨正確性驗證示意圖................................................ 31 圖 4-7:控制單元升降舵測試訊號輸入畫面.................................................... 32 圖 4-8:控制單元升降舵測試訊號輸出畫面.................................................... 32 圖 4-9:驗證平台升降舵測試結果 .................................................................... 33 圖 4-10:控制單元副翼測試訊號輸入畫面...................................................... 33 圖 4-11:控制單元副翼測試訊號輸出畫面...................................................... 34 圖 4-12:驗證平台副翼測試結果 ...................................................................... 34 圖 4-12:控制單元方向舵測試訊號輸入畫面.................................................. 35 圖 4-13:控制單元方向舵測試訊號輸出畫面.................................................. 35 圖 4-14:驗證平台方向舵測試結果 .................................................................. 35 圖 4-15:控制器容錯測試訊號輸入畫面 .......................................................... 36 vii.

(8) 圖 4-16:控制器容錯測試訊號輸出畫面 .......................................................... 37 圖 4-17:系統輸出耐久性暨正確性驗證結果統計.......................................... 37. viii.

(9) 表. 目. 錄. 表 2-1:各容錯系統之優缺點比較表 .................................................................. 5 表 3-1:精進式容錯系統與傳統容錯系統之比較.............................................. 7 表 3-2:主要氣動力相關數據 .............................................................................. 9 表 3-3:主要氣動力相關數據(續) ....................................................................... 9 表 3-4:主要氣動力相關數據(續) ..................................................................... 10 表 4-1:升降舵測試之感應器模擬數據 ............................................................ 29 表 4-2:副翼測試之感應器模擬數據 ................................................................ 30 表 4-3:方向舵測試之感應器模擬數據 ............................................................ 30 表 4-4:控制器容錯測試之模擬數據 ................................................................ 30 表 4-5:控制單元與驗證平台升降舵測試之結果比較.................................... 33 表 4-6:控制單元與驗證平台副翼測試之結果比較........................................ 34 表 4-7:控制單元與驗證平台方向舵測試之結果比較.................................... 36. ix.

(10) 第一章 導論 伴隨科技的發展,人類似乎無法脫離藉由科技所帶來的便利。綜觀生活週遭,從簡 單的空調機加上了溫度控制器成了免手動調溫的恆溫空調,飛機落地程序結合高階控制 運算器完成了所謂的自動導航落地系統,乃至於學術界熱切討論之以汽車整合視訊或相 關感應系統配合控制單元產生的智慧型自走車。科技的精神藉由控制器的存在與當下人 類的生活緊密的鑲嵌在一起,正呼應了那句耳熟能詳的廣告詞-科技始終來自於人性。 一個簡單的控制系統如下圖1-1所示,可以區分為幾個部份: 1、感測器﹝Sensor﹞:將物體各種狀態數量化,將相關資訊提供控制器作為姿態參 考。 2、控制器﹝Controller﹞:由感測器獲取物體狀態,配合相關控制法則將物體的預期 狀態算出,並將對應之控制訊號由輸出端輸出。 3、輸出端﹝Output﹞:將控制器之控制訊號輸出至外界環境,以改變物體之系統狀 態。﹝此部份會因不同系統而有不同,在此先概略通稱其為輸出端﹞。. 控制器 Controller. 感測器 Sensor. 系統狀態 System Status. 輸出端 Output. 圖 1-1:控制系統示意圖 由上圖觀察,不難發現控制器是整個控制系統架構之核心。但是在大多數的狀況下, 控制器通常被使用者視為一個黑箱子,不會在意其內部之細部運作情形。多數的應用中, 只要系統可以達成所要求的功能,其控制系統的架構並不是使用者所在意的重點。然則 控制系統的高可靠度對使用者而言往往卻是不可或缺的的重要項目﹝沒有人會希望花錢 買來恆溫系統後仍然需要常常的手動將當機的系統做重置動作吧﹞。而在必須連續長時 間運作甚至與生命攸關的系統應用之中﹝諸如前文所提的自動導航落地系統及智慧型自 走車系統﹞,控制系統的高可靠度更是必備的條件之一。在飛機自動降落的過程中,一 但控制器出了問題,所付出的代價不是在墜機事故發生之後簡單的更換一套新系統所能 解決的。因此,如何提高控制器的可靠度為吾人所感興趣的研究方向。. 1.

(11) 在之後的幾個章節,第二章對多種常見的可靠度加強之系統架構做一個簡單的介紹 與比較。第三章中則就本系統所提出之精進式容錯架構及整個平台硬體架構設計做一完 整的說明。第四章對所採用之驗證系統的架構及驗證流程和驗證結果做一詳細的闡述及 分析。最後,在第五章中對整個架構做一簡單的結論以及整個系統的未來展望。. 2.

(12) 第二章 理論背景 為了讓重要的系統能降低出現控制器異常時所付出的嚴重代價,學術界提出了許許 多多的系統自我監測、系統錯誤容許的解決方式,茲分別概述如下: 看門狗計時器 Watch Dog. `. 控制器 Controller. 感測器 Sensor. 系統狀態 System Status. 輸出端 Output. 圖 2-1:看門狗監測系統示意圖 常見的看門狗系統架構如上圖2-1所示。不難發現,所謂的看門狗監測系統,就是利 用一個通稱為看門狗的簡單硬體式計時裝置,當系統的主程式發生某些錯誤事件時,如 執行懸停(hang)或未規律的清除看門狗計時器的內含計時值(多半是向其發送一個清 除信號) ,這時看門狗計時器就會對系統發出重置、重新開機(Reset)或關閉(Shutdown) 的信號,使系統從懸停狀態回復到正常運作狀態。[1] 換句話說,看門狗計時器會在系統發生異常時,試圖的藉由重置控制器來排除錯誤。 整個系統的運作維繫於看門狗計時器必須運作正常,且控制器本體必須僅是因內部程式 的邏輯性異常造成的失效,重置系統方會使系統恢復正常功能。若控制器本體或看門狗 計時器出現硬體故障,則整個監測機能亦會流於無效。 此外,該系統的排錯運作是當看門狗未被控制器成功重置時,方被動的去重置系統。 就算事後成功的將系統重置,恢復正常功能,但若該系統有所謂的即時需求時,在發生 懸停狀況的當時,便已然破壞該系統的即時性。. 3.

(13) 控 制 器. 控制器單元 Controller Unit. 感測器 Sensor. ) R E T O V (. 控制器單元 Controller Unit. 投票器. 控制器單元 Controller Unit. 系統狀態 System Status. 輸出端 Output. 圖 2-2:三組態容錯系統示意圖 所謂的三組態容錯系統,系統架構如圖2-2所示。以三組相同內容的控制器單元,配 合俗稱為投票器的多數表決控制器取代原本的單體控制器。感測器將系統的狀態同時傳 遞給三套相同的控制器單元,三組單元同時進行相同的運算,並將運算結果傳送給投票 器,最後藉由投票器以多數決的方式決定輸出結果並由輸出端輸出。[2][3] 此種系統架構藉由投票方式來達到錯誤遮蔽的功能,並整合了系統備份的觀念,在 三組控制器單元中任一組單元產生異常,全系統仍然可以藉由另外兩組正常的控制單元 運算結果,配合投票器的投票行為將正常的結果即時輸出,有效的達到看門狗系統所無 法提供之即時性要求。然而該系統由單一投票器將結果輸出,若投票器出現異常狀況時, 將導致無法正常將運算結果輸出,連帶系統亦會產生類似懸停之現象。 下圖 2-3 為被稱為多管線備份的多管線平行系統架構,其應用理論相當單純,藉由 將控制器及資料鏈乃至於感測器等單使用多套備份模組之架構,配合內嵌於輸出端中之 特殊平行解碼器,達到經由多管線同時運行。全系統經由相互備份的原則將整體系統異 常機率大幅降低。[4]. 4.

(14) 控制器單元 Controller Module 控制器單元 Controller Module 控制器單元 Controller Unit. 感測器 感測器 感測器 Sensor Sensor Sensor. 解碼器 Decoder. 系統狀態 System Status. 輸出端 Output. 圖 2-3:多管線平行系統示意圖 由於多管線平行硬體架構上有許多模組需要採取多套配置以達到系統備份的需求, 因此使得本系統在實現上較諸於一般系統會需要更為龐大的體積。此外,採取多套模組 的結果,亦會造成本系統的建構費用亦會比一般容錯系統來的高昂。 綜上所述,一般的常見的看門狗監測系統僅能在控制器硬體功能正常時可以作用, 使用範圍有所囿限;而三組態容錯系統雖對於控制器主體採用備份架構提升容錯能力, 但由於輸出部分僅採用一組投票器來統合輸出,會有當投票器異常時發生系統無輸出訊 號的可能性;而將系統大部分模組均採用備份架構的多管線平行系統,雖可大幅度的提 升系統容錯能力,但系統架構過於龐大,造成系統實現上的一大困擾,且大規模採用備 份模組,整體系統的價格也居高不下。換言之,在容錯系統的研究當中,如何在價格、 體積、複雜度及容錯能力中取得一平衡點,是一門相當值得探討的議題。各系統之優缺 點特性比較詳如下表 2-1。 看門狗監測系統 優點. 缺點. 三組態容錯系統. 1、系統架構簡單 2、系統體積小. 多管線平行系統. 1、系統架構變化 1、多模組採用備 最小 份,系統容錯能 2、三組態容錯架 力強大 構可應用於即 時系統 1、系統不敷使用 1、當投票器出現 1、系統架構複 於硬即時系統 異常時,系統有 雜,價格昂貴 2、若系統發生硬 發生無輸出訊 2、系統硬體體積 體失效時,無法 號之可能 龐大 成功排除異常 狀態 表 2-1:各容錯系統之優缺點比較表 5.

(15) 第三章 精進式容錯系統設計 本章首先會對吾人所設計之精進式容錯系統作ㄧ個概略的介紹,之後會對本文所採 用的控制標的以及控制律演算法做一個簡介,接下來對單一控制單元之內容,包括浮點 運算器、積分器以及高通濾波器等主要元件和控制器流程架構做一個說明,最後將整個 容錯控制器的設計理念以及實現方式做一個完整的闡述。. 3.1 精進式容錯系統架構介紹 吾人所設計之精進式容錯系統架構圖如下圖3-1所示。. 主系統 SUPERVISOR 控 制 器. 控制器單元 Controller Unit. Bus Controller. 控制器單元 Controller Unit 控制器單元 Controller Unit. 感測器 Sensor. 系統狀態 System Status. 輸出端 Output. 圖 3-1:精進式容錯系統示意圖 在架構設計上,採用主從系統之多管線架構概念。全系統可區分為主控制系統以及 具有容錯能力之容錯控制系統兩部分,此種主從式系統架構可簡單的將現有之控制系統 藉由擴充從屬式之容錯系統增加全系統的容錯能力。而在容錯系統的設計上,以三組態 容錯架構為核心,但為了能有效排除三組態容錯系統可能因投票器功能異常進而造成全 系統無輸出之可能性,吾人將可能造成系統瓶頸之投票器移除,改由各控制器彼此間之 相互交握自行協調產生出一組輸出訊號。此外,在容錯系統部分採用硬體描述語言,以 智財之方式呈現,亦可大幅的降低因採用備份模組時造成的體積龐大與價格昂貴之效 6.

(16) 應。藉由上述之改進,以期同時獲取三組態容錯系統與多管線平行系統雙效之功。 系統執行過程中,感測器將系統姿態值同時傳送給主系統與容錯系統,在兩系統將 結果運算出來後加以比較,若主系統之運算結果在容差範圍內時,以主系統之運算值加 以輸出。若主系統之結果超過容差範圍時,則容錯系統會重置主系統,而在主系統重置 過程中,全系統以容錯系統之運算結果加以輸出,以保持系統之穩定運作。 精進式容錯系統與傳統容錯系統之優點比較如下表 3-1 所示。 V.S 精進式容錯系統. 看門狗監測系統 z z. 三組態容錯系統. 可滿足即時系統 z 的需求。 當部分硬體出現 失效時,系統仍可 有的正常輸出值。. 不會因為投票器 z 產生異常,而出現 無訊號輸出的可 能性。 z. 表 3-1:精進式容錯系統與傳統容錯系統之比較. 7. 多管線平行系統 以硬體語言實現 容錯控制器,有 效的降低對體積 及金錢的代價。 控制器模組採用 多管線(模組) 概念,較容易直 接應用於現有之 控制系統。.

(17) 3.2 控制率規劃 在設計控制器之前,吾人必須先決定控制之受控物。吾人最後選擇Airplane Flight Dynamics And Automatic Flight Controls, Jan Roskam,1979 書中附錄C中的Airplane A為控 制目標物。該機為一螺槳單翼飛機,外觀三視圖如圖3-2。而相關氣動力數據如表3-2、3-3 及3-4。[5]. 圖 3-2:飛機外觀三視圖. 8.

(18) Flight Condition Altitude (ft) Air Density (slugs/ ft 3 ) Speed (fps) -- - -. Center of Gravity ( X cg ) Initial Attitude Geometry and Inertias. 1 Cruise 5,000 .002050 219 .25 0. I XX (slug ft 2 ). 174 35.8 4.9 2,645 948. I yy (slug ft 2 ). 1,346. I zz (slug ft 2 ). 1,967. Wing Area ( ft 2 ) Wing Span (ft) Wing Mean Geometric Chord (ft) Weight (lbs). I xz (slug ft 2 ) Steady State Coefficients. 0. C L1. .31. C D1. .031. C TX1. .031. C M1. 0. C mT1. 0 表 3-2:主要氣動力相關數據. C MU. Longitudinal Derivatives 0. C LB. Lateral Directional Derivatives -0.089. C Mα. -0.89. C LP. -0.47. C Mα. -5.2. C Lγ. .096. C Mq. -12.4. C Lδ A. .178. C MTU. 0. C Lδ R. .0147. C MTα. 0. C NB. .065. C LU. 0. -0.03 C NP 表 3-3:主要氣動力相關數據(續). 9.

(19) Longitudinal Derivatives 4.6. C Lα. C Nγ. Lateral Directional Derivatives -0.099. C Lα. 1.7. C Nδ A. -0.053. C Lq. 3.9. C Nδ R. -0.0657. C Dα. .13. C YB. -0.31. C DU. 0. C YP. -0.037. C TX U. -0.093. C Yγ. .21. C Lδ E. .43. C Yδ A. 0. C Dδ E. .06. C Yδ R. .187. C Mδ E. -1.28 表 3-4:主要氣動力相關數據(續). 鑒於目前工業界常用的控制模組均為線性控制模組,吾人在設計控制方式上亦採用 線性控制模組,線性模組控制流程方塊圖如下圖3-3。[6][7]. Forward (Command). ±. Control Target. Δ. Output. Feedback (Delta Value) 圖 3-3:線性模組控制流程方塊圖 其中Forward及Feedback方塊中為數學方程式,若該算式有應用到一般的四則運算, 稱為比例控制;若有用到積分運算,則為積分控制器,同理得知,若應用到微分運算, 則稱為微分控制。[8][9] 純比例控制的優點是簡單方便,但是缺點為容易造成系統過激量(overshoot),且 阻尼太小,故比例控制可稱為「後知後覺型」,因為要等到誤差訊號變號後,控制量才 會跟著改變,也就是說比例控制是等動態錯誤發生後,再施予補救。 然而微分控制型是「先知先覺」型,因其將誤差訊號的變化趨勢(即誤差變化量) 一併考量。所以微分型具有預測變化的功能,可是在實際的電路中完全的微分是不可行 的,因為感測器所量到的訊號會伴隨雜訊(noise)出現,雜訊本身也許很小,但經過微 分之後高頻之雜訊可能會得到很大的導數值,甚至有可能被放大到無限大,因此使用微 分器需特別小心注意。. 10.

(20) 微分器對高頻訊號敏感,積分器剛好相反,只對低頻敏感,然而在頻寬內的訊號, 大部分皆我們需要的訊號,故不會造成太大問題。積分器最大功能是除去穩態誤差,也 就是積分器適合追蹤頻率較低,變化慢的訊號,尤其是頻率為零的步階輸入。 本系統採用之控制律為Airplane Flight Dynamics And Automatic Flight Controls書中之 定翼飛行器之穩定姿態保持比例加積分控制器。完整的控制系統方塊流程圖如下圖3-4。 吾人可將圖中之流程化簡為以下之數學式:. K p × (θ cmd - θ ) + K i × ∫ (θ cmd - θ ) - K pd × q HIGH-PASS = δe cmd --------升降舵命令. K p × (Φ cmd - Φ ) + K i × ∫ (Φ cmd - Φ ) - K rd × p = δa cmd --------副翼命令. - rHIGH-PASS × K rd = δrcmd --------方向舵命令. 上述三條數學式,即為本論文之定翼飛行器之穩定姿態保持比例積分控制律。. 11.

(21) φ. Krd Kyd. φcmd. 飛 行 器. δrcmd Kpφ+Kiφ/s. Kpθ+Kiθ/s. δacmd. δecmd. High-pass filter. r. θ φ p q r. p. q. (A/C) High-pass filter. θcmd Kpd. θ. 符號說明 符號 說明 單位 俯仰命令 度 θcmd 俯仰角 度 θ 滾轉角命令 度 φ 滾轉命令 度 φcmd 方向舵期望值 度 δr 度 δrcmd 方向舵命令 轉向變化率 度/min r 副翼命令 度 δacmd 滾轉角變化率 度/min p 度 δecmd 升降舵命令 俯仰角變化率 度/min q 註:所有迴授均為負迴授。. 圖 3-4:定翼飛行器之穩定姿態保持比例積分控制系統方塊流程圖. 12.

(22) 3.3 控制單元設計 本節將對於控制單元內各部份的硬體架構的設計做詳細的介紹。然而,在實現下列 各相關硬體架構時,必須確認於同一級計算之兩個運算元,是否在同一時脈到達該計算 單元。若因兩運算元計算路徑不同,而造成無法同時到達時,該運算會出現非預期之計 算結果,這是在撰寫硬體描述語言上需特別注意的地方。 3.3.1 控制單元架構 依照 3-1 節中所整理出之定翼飛行器之穩定姿態保持比例加積分控制律數學式,吾 人所設計之控制單元之運算架構如下圖 3-5。. 圖 3-5:控制單元運算架構 由架構中可清楚的了解,欲實現此控制運算架構,吾人須先完成四則運算單元、積 分器以及高通濾波器等元件。其中在四則運算單元的設計上,考量到整個控制器架構的 運算精度以及輸入輸出數據的適用範圍之問題,本論文採用符合 IEEE754 標準的浮點運 算器。 此外,由於在硬體架構中,當系統初始時,各運算級的資料初始值均為不定值 x,以 不定值運算之結果,自然會造成不定值之輸出,這並非吾人所期之結果。因此,在設計 時必須確認由資料輸入至第一筆正確資料輸出之關係。在本控制單元中,吾人設計了一 個 First_out 旗標。在控制單元初始化時,該旗標之輸出值為“0”,而當第一筆正確資料輸 出時,該旗標之輸出值方同步更改為“1”。吾人可藉由本旗標來避免下一級的運算判斷單 元因非預期之不定值輸出,造成判斷或計算上的錯誤。 以下,將逐一對各元件的設計方式做詳細的介紹。 13.

(23) 3.3.2 浮點數處理單元 浮點數處理單元之主要功能為提供控制單元所傳遞的微程式碼運算元與運算子,進 行浮點數之四則運算(+, -, ×, ÷)以及定點整數-浮點數之間的轉換。本論文採用三階式的單 精度浮點處理單元架構[10][11][12],基本架構如圖 3-6 所示。 OPB. OPA FPU OP. Pre_Normalize for Add/Sub. Pre_Normalize for Mul/Div. Register Rmode Add/Sub. Mul. Div. Register. Post_Normalize and Round. Exceptions Unit. Ine Snan Qnan Inf Under Div Zero Over flow Zero flow. Result. 圖 3-6:浮點數處理單元之基本架構 由圖可知,整體單元架構共由七個單元組成。茲將各單元之功能簡述如下:. (1) 前級加、減法正規化處理單元(Pre_Normalize for Add/Sub):調整浮點運算加、減 法的運算元的指數與假數部分。 (2) 前級乘、除法正規化處理單元(Pre_Normalize for Mul/Div):調整浮點運算乘、除 法的運算元的指數與假數部分。 (3) 加、減法器(Add/Sub):執行假數部分加、減運算。 (4) 乘法器(Mul):執行假數部分相乘運算。 14.

(24) (5) 除法器(Div):執行假數部分相除運算。 (6) 後級正規化處理單元(Post_Normalize and Round):檢查運算結果,若出現未正規 化情形,則執行結果正規化;同時依據進位(Round)模式調整運算結果。最後將 運算結果轉換成有效的單精度浮點運算模式。 (7) 例外處理單元(Exceptions Unit):前級處理不合法運算格式的例外情形。. 3.3.3 積分器 由於以硬體直接實現控制器之即時輸出可達 micro-sec 級,近似誤差相對較小,且在 硬體實現上,高階的近似運算除了會造成輸出延遲外,也需要使用更多的緩衝記憶區, 造成邏輯閘的消耗。考量以上原因,吾人所實現之數位積分器,決定採用尤拉一階近似 公式所轉換之近似積分器。 假設一方程式由時間 n-1 積分至 n+1 之結果如下圖 3-7 中灰影部分所示。然而在某些 情況下,要精確的計算出該區域的面積,並不是件容易的事。此時,若在單位時間(ΔT) 中,Δu(n)的變化量在可容許之變動範圍內,則吾人可將 3-7 的陰影部分的積分面積,改 以圖 3-8 中的灰階面積來近似,此種方式即為所謂的「尤拉法」。(Euler’s Method)[13]. 圖 3-7:方程式積分結果. 15.

(25) 圖 3-8:方程式積分之尤拉法近似結果 換言之,吾人可將積分式 ∫ u (t )dt 近似為 ∑ u (n) xΔt 。而若以數位系統而言,則可表. 示為 O(T) = I(T)xΔT + O(T - 1) 。其中 O(T)為系統目前之輸出,I(T)為系統目前之輸入值, 而 O(T-1)則為系統前一單位時間之輸出值。 而本系統以尤拉法實現之積分器架構如圖 3-9。 CLK. ∆T. RST. FPU (Mul). Input FPU (Add). Output. BUFFER (TIME DELAY). 圖 3-9:積分器架構. 16.

(26) 3.3.4 高通濾波器 濾波器的功能為將輸入信號轉換為規格需求內的輸出訊號。在控制的應用上,高通 濾波器常配合於負迴授架構,將高頻訊號納入迴授控制,以達到系統的穩定狀態。 頻域的高通濾波的系統轉移函數可表示如下:[14]. H( s) =. S S +a. 而轉移函數與輸出輸入的關係可以表示成:. I(s) ×. S = O( s ) S +a. 等號兩邊經整理後:. I( s) × s = O( s) × s + O(s) × a 由於 s 在反拉氏轉換代表的意義為微分器,考量到以控制的角度來說,對於信號即 時性的需求,遠比信號的準確性來的高,故採用一階尤拉近似方式來實現。在假設系統 初始狀態為’0’的狀態下,可轉換如下:. I (T ) − I (T − 1) O(T ) − O(T − 1) = + a × O(T) ΔT ΔT 經整理後如下:. O(T) =. I(T) - T(T - 1) + O(T - 1) 1 + ΔT × a. 上式即為吾人所實驗之高通濾波器之數學式。 本系統在假設 a =1 之情形下,所實現之高通濾波器架構如下圖 3-10。. 17.

(27) 圖 3-10:高通濾波器架構. 18.

(28) 3.4 控制器架構 本控制器藉由三組擁有相同控制律內容之控制單元所組成,藉由各控制單元彼此交 握聯繫傳遞相關訊息後,將兩組以上控制單元計算出之相同結果視為正確結果,並將運 算出正確結果中最高優先權之控制單元之結果於即時需求內加以輸出。若發生外部干擾 或內部問題導致三組控制單元無法歸納出一組正確輸出結果時,則由以優先權較高控制 器之運算結果為全控制器之輸出值。控制器運作流程如下圖 3-11。. 圖 3-11:控制器運作流程 由運作流程圖可知,各控制單元除須提供運算輸出控制值外,還要能接收另外兩組 控制單元之運算值。因此,吾人在製作控制器時,在控制單元架構外,另外加上了一層 能接收另兩組控制單元之運算值並加以比較,最後依照該控制單元之預設優先權決定是 否將運算出的控制值加以輸出之邏輯判斷電路。 此外,為了功能驗證時容易判讀,所以在整體控制器的架構上,修改為將三組控制 單元的輸出值一併輸出,若經判斷為運算錯誤時,該控制單元輸出值為“0”。 整個控制器架構如下圖 3-12。 19.

(29) 圖 3-12:控制器架構圖 而容錯控制器與主系統所組成之精進式容錯系統架構則如圖 3-13 所示。感測器將姿 態值傳送給主系統與容錯系統,兩系統將運算結果加以容差比較,若主系統之運算值為 在容差範圍內之合理結果時,以主系統之運算值加以輸出。若主系統之運算值超過容差 範圍時,則容錯系統會重置主系統,而在主系統重置過程中,全系統則以容錯系統之運 算結果加以輸出,以保持系統之穩定運作。. 20.

(30) clk. R ST. 感測器. Input. C ontrol U nit (控 制 單 元 ) 2. C ontrol U nit (控 制 單 元 ) 1. C ontrol U nit (控 制 單 元 ) 3. MASTER SYSTEM. O uput B uffer 1. O uput B uffer 2. O uput B uffer 1. O uput B uffer 3. O uput B uffer 2. 判斷邏輯. 判斷邏輯. O uput B uffer 3. O uput B uffer 1. O uput B uffer 2. O uput B uffer 3. 判斷邏輯. OR 容差比較. OUTPUT. 圖 3-13:精進式容錯系統架構. 21. 重置外部系統. RESET_MASTER_SYSTEM.

(31) 第四章 驗證平台設計與控制器驗證 系統完成後,為驗證其運算結果之正確性,建立一組驗證平台來對系統執行相關功 能之驗證比較是必須的工作。由於系統採用IEEE754浮點運算的功能,因此驗證平台的運 算核心選用也有浮點能力之德儀DSP_TMS320 C67系統晶片。 本章將對德儀DSP_TMS320 C67的晶片硬體架構做一個簡介,之後會簡單的對德儀 提供之DSP軟體開發環境Code Composer Studio以及DSP調整式的即時核心DSP/BIOS的 功能做一個說明,接著介紹驗證平台的軟體架構及驗證流程,最後會藉由驗證平台對設 計之控制器之運算結果做一驗證比較。. 4.1 德州儀器TMS320C67晶片簡介 數位信號處理器(DSP Processor) ,現今以廣泛運用於日常生活上,諸如:通訊、醫 療儀器、消費性電子、軍用設備…等。這一再的說明DSP為一個全方位多功能的處理器。 [15][16][17][18] 本論文的驗證平台之中央處理單元即是採用德州儀器公司所出產的數位信號處理晶 片(Digital Signal Processor, DSP),TMS320C67。TMS320C67 為一個具有 32 位元整數及 浮點運算的裝置,特性簡述如下: 1. CPU 採先進的超長指令集(Very Long Instruction Word, VLIW)且具有8 個功能 單元,為2 個乘法單元、和6 個數學/邏輯單元。 2. 支援8/ 16/ 32 位元的資料,以提供對記憶體有效的運用。 3. 數學運算單元可做40 位元延伸資料格式運算。 4. 數學運算單元可做溢位(overflow)及正規化(normalization)處理。 5. 提供位元運算能力,支援控制及資料處理上的應用。 6. 具1Mbit 內建程式/資料RAM。 7. 具有兩個高速串列埠及一個16 位元並列埠。 8. 具高速處理能力,一個時脈(clock)週期可以執行8 個指令,所以它的MIPS數最 高為時脈頻率(clock rate)的8 倍,也就是說可以達300MHz。 9. 大容量的內部記憶體,以提供程式快速執行。 10. 32 位元外部記憶體介面,支援SDRAM, SBSRAM, SRAM, 和其它非同步記憶 體。 11. 德州儀器公司其他廠商提供完整且方便的軟、硬體發展環境。. C67 處理器是由CPU、記憶體和週邊裝置所組成,其中有二組具有四個功能運算單 位,可執行並行處理:這些單元彼此間以二個暫存器檔(Register Files)所構成的資料通道 (Data Path)傳送訊息,而此二個暫存器檔都含有16/32 位元的暫存器,程式並行處理能 力,通常是在編譯期間設定的,也就是在編譯選項中加入-o2 及-o3 參數;在並行處理下, 每一時脈週期內,將有256 位元寬的程式記憶體傳給八個32 位元的指令來處理。圖3-4 為C67 晶片的系統方塊圖,圖中包括晶片內程式和資料記憶體以及週邊裝置,如DMA 控 22.

(32) 制器、外部記憶體(External Memory InterFace,EMIF)、省電邏輯(Power down logic)單元、 擴展匯流排(Expansion Bus,EXB)、主機埠(Host port)與計時器(Timer)。. 圖 4-1:TMS320C67 晶片系統方塊圖. 23.

(33) 4.2 驗證平台程式開發 DSP在程式的發展上,可使用的程式語言可分為組合語言及高階C語言。一般以組合 語言來撰寫DSP 程式,執行的速度與效率較高,但對剛入門想學習的人常造成困擾。現 在許多廠商都有推出C 語言的編譯器,可以讓使用者以C 語言去設計DSP 程式。因此, 本論文以C 語言來達成主程式設計,並以簡單的組合語言設計做為輔助,所使用的程式 軟體為Code Composer Studio(CCS),利用CCS 的編譯器、組譯器及連結器來完成程式 的設計、除錯及下載的工作。[19][20][21] 4.2.1 Code Composer Studio簡介. Code Composer Studio(CCS),為一個具有強大功能的整合發展軟體,除了可以整合、 編譯使用者的專案程式(包含C語言及組合語言)外,更可以利用DSP/BIOS的設定來加速整 個專案程式的發展。CCS功能綜整如下: 1. 2. 3. 4. 5. 6.. 整合發展環境 (Code Composer) 包括了編輯器、除錯器、檔案管理、剖面圖 (profile)、探查點及其他。 C編譯器、組譯最佳化及鏈結器(程式產生工具)。 指令集模擬器。 即時軟體(DSP/BIOSTM)。 在Host端與目標端的資料即時交換(RTDXTM)。 即時分析及資料視覺化。. 下圖顯示在Code Composer Studio 的程式產生和除錯環境:. 24.

(34) 圖 4-2:CCS 整合環境示意圖 吾人可在PC端使用DSP/BIOS API來寫程式(以 C, C++ 或者是組合語言)。藉由結構 化工具(Configuration Tool)在程式中定義物件,然後編譯或組譯而後鏈結程式。DSP/BIOS 分析工具可以從Code Composer Studio偵測目標裝置,如CPU負載、時間、紀錄、執行緒 和其它。(執行緒可以使用來參考執行,諸如:硬體中斷、軟體中斷、工作(task)、idle函 式或者是週期函式)。. 4.2.2 DSP/BIOS簡介. DSP/BIOS為一可調整式的即時核心,可藉由將本核心內嵌於TI系列之DSP晶片中, 提供該晶片即時排程、同步控制、終端通訊以及建立即時監控介面等相關功能。 [22]DSP/BIOS也支援多執行緒的岔斷(preemptive)能力,DSP晶片相關參數的視覺化的物 件參數設定等工具。其特性簡述如下: 1、所有DSP/BIOS 物件可藉由結構化工具(Configuration Tool)來建立且整合於程式 執行影像檔中,有效降低程式的大小和最佳化內部資料結構。 2、模組化的API也可融入程式執行檔中。 3、將程式重新組譯成組合語言以實現最佳化的函式庫。 25.

(35) 4、DSP/BIOS 分析工具在背景工作下執行,並不會影響主要程式的排程。 由上述的特性可知,DSP/BIOS為一整合DSP晶片硬體特性之即時控制核心,不僅提 供了同步控制、終端通訊以及建立即時監控介面等功能,更有多執行緒即時排程及岔斷 的能力,可視其為DSP專屬之即時作業系統(Real-Time O.S.)。DSP/BIOS之結構化工具調 整介面如下圖4-3所示。. 圖 4-3:DSP/BIOS 之結構化工具調整介面 4.2.3 測試系統架構 本論文測試對照系統採用SMJ320C6701 DSP為其核心,配合Code Composer Studio軟 體開發平台,程式內容以C語言撰寫,並使用DSP/BIOS之多執行緒架構設計出一組飛行 控制平台。其中的控制律則採用本論文之穩定姿態保持比例加積分控制運算,最後以 J_TAG介面於Code Composer Studio平台上將參數各輸入及輸出值顯示出來,平台系統軟 體流程架構如圖4-3,4-4。. 26.

(36) External interface. External interface. Power. On. 開機 BOOT 記憶體檢查. 程式下載. Clock. DSP/BIOS. main. 中斷設定. Multi-thread process. SENSOR. 1. 2. 3. WatchDog. 圖 4-4:軟體流程架構圖. 27. IO.

(37) 1. 2. 3. 感應器處理. 資料鍊處理. 酬載處理. 姿態控制. End. End. 感應器值 輸入 姿態控制值 讀出 命令輸出. End 圖 4-5:軟體流程架構圖(續) 一組完整的飛行器控制要有幾個必要模組,感測器、控制器、命令輸出以及資料鍊 處理,而大多數的飛行器亦會外加些許的酬載物(Payload)。因此採用多工方式來實現飛 控系統是不可避免的,吾人採用三組執行緒多工方式來實現整個飛行器控制架構,配合 DSP內建之TIMER提供觸發時脈,各執行緒間以分享記憶體(Share memory)來作為資料傳 輸的方式。然而由於DSP/BIOS並無提供臨界區間(Critical Section)的同步化控管,因此採 用mailbox同步控管機制,藉由mailbox的同步化來保持各執行緒的即時執行。配合賦予各 執行緒高低不同的優先權,以避免在共享記憶體時發生資料危障的情形。. 28.

(38) 4.3 控制器測試驗證 在完成了驗證平台的設置之後,吾人即可進行容錯控制器的功能驗證。整個驗證過 程共分為三個階段,第一階段為浮點運算功能驗證,控制單元與驗證平台運算同一組的 姿態模擬數據,經由分析兩者的運算輸出值之間的容差,來驗證控制單元的浮點運算功 能是否正常。 第二階段執行系統容錯功能驗證,吾人將一組錯誤數據送給容錯控制器三組控制單 元中的其中一組,藉以檢視該容錯控制器是否可以藉由整體的邏輯判斷機制,運算出正 確的控制命令。 而在第三階段的驗證中,吾人將以相同的百萬筆隨機資料同時輸入給兩組系統,將 兩組系統的容差比較之結果加以統計分析,藉以判斷系統輸出穩定性暨正確性。 在第一階段中,由於控制單元內,各控制路徑的運算均採同步化架構設計,各控制 面彼此間沒有相依性的問題,因此在測試上可對三項控制路徑個別執行測試。在測試時, 分別將模擬數值依序輸入給控制單元。為了執行控制單元RTL碼的功能測試,吾人採用 由Model Technology(TM)公司設計之ModelSim(R)這套電腦輔助設計工具配合測試平台 檔的撰寫來完成模擬數值的輸入。 測試平台(TestBench)檔是指使用Verilog的敘述撰寫,用來產生測試設計好的模組 (module)所需要的訊號值(simulus)及時序(timing),然後再觀察該模組之訊號輸出結果 (output)與所預期之輸出結果是否吻合之測試用檔案。[23] 各控制面之模擬數值如表4-1、4-2、4-3。 控制命令. 初始預設值. 1. 2. 3. 4. θ cmd. 0 (0x 00000000). 5 (0x40A00000). 10 (0x41200000). 15 (0x41700000). 20 (0x41A00000). θ. 0 (0x 00000000). 0 (0x 00000000). 4 (0x40800000). 10 (0x41200000). 16 (0x41800000). q. 0 (0x 00000000). 0 (0x 00000000). 5 (0x40A00000). 4 (0x40800000). 10 (0x41200000). 其餘 控制命令. 0 (0x 00000000). 0 (0x 00000000). 0 (0x 00000000). 0 (0x 00000000). 0 (0x 00000000). 表 4-1:升降舵測試之感應器模擬數據. 29.

(39) 初始預設值 0 (0x 00000000). 1 5 (0x40A00000). 2 10 (0x41200000). 3 15 (0x41700000). 4 20 (0x41A00000). Φ. 0 (0x 00000000). 0 (0x 00000000). 4 (0x40800000). 10 (0x41200000). 16 (0x41800000). p. 0 (0x 00000000). 0 (0x 00000000). 5 (0x40A00000). 4 (0x40800000). 10 (0x41200000). 其餘 控制命令. 0 (0x 00000000). 0 (0x 00000000). 0 (0x 00000000). 0 (0x 00000000). 0 (0x 00000000). 控制命令. Φ cmd. 表 4-2:副翼測試之感應器模擬數據. 控制命令 r 其餘 控制命令. 初始預設值 0 (0x 00000000) 0 (0x 00000000). 1 5 (0x40A00000) 0 (0x 00000000). 2 10 (0x41200000) 0 (0x 00000000). 3 15 (0x41700000) 0 (0x 00000000). 4 20 (0x41A00000) 0 (0x 00000000). 表 4-3:方向舵測試之感應器模擬數據 而在第二階段的測試中,吾人撰寫一測試平台檔,模擬兩組不同的訊號來源,而將 其分別輸入給容錯控制器中三個控制單元,模擬某控制單元遭受訊號干擾之現象。藉由 整體控制器之輸出是否正常,來驗證其容錯之功能。輸入之模擬數值如表 4-4。. Pitch_CMD 正常值 (Pitch_CMD 異常值 ) Pitch_ANGLE 正常值 (Pitch_ANGLE 異常值) Pitch_RATE 正常值 (Pitch_RATE 異常值) Bank_CMD 正常值 (Bank_CMD 異常值 ) Roll_ANGLE 正常值 (Roll_ANGLE 異常值) Roll_RATE 正常值 (Roll_RATE 異常值) Yaw_RATE 正常值 (Yaw_RATE 異常值). 初始預設值. 1. 2. 3. 0x00000000 (0x00000000) 0x00000000 (0x00000000) 0x00000000 (0x00000000). 0x41A00000 (0x41A00000) 0x41200000 (0x41200000) 0x40800000 (0x40800000). 0x41200000 (0x00000000) 0x40A00000 (0x00000000) 0x40000000 (0x00000000). 0x41700000 (0x41200000) 0x40000000 (0x40A00000) 0x40A00000 (0x40000000). 0x00000000 (0x00000000). 0x41A00000 (0x41A00000). 0x41200000 (0x00000000). 0x41700000 (0x41200000). 0x00000000 (0x00000000). 0x41200000 (0x41200000). 0x40A00000 (0x00000000). 0x40000000 (0x40A00000). 0x00000000 (0x00000000). 0x40800000 (0x40800000). 0x40000000 (0x00000000). 0x40A00000 (0x40000000). 0x00000000 (0x00000000). 0x41200000 (0x41200000). 0x40A00000 (0x00000000). 0x40000000 (0x40A00000). 表 4-4:控制器容錯測試之模擬數據. 30.

(40) 而在第三階段中,吾人則設計兩組百萬筆隨機資料,將一組資料當作錯誤數據送給 容錯控制器三組控制單元中的其中一組,而將另一組資料視為正確資料送給另外兩組控 制單元,同時也將正確資料送給驗證平台來執行運算。比較特別的是,為避免在整體驗 證上可能出現邏輯盲點,吾人將驗證平台運算出來的百萬筆資料,隨機替換其中的十組 結果,換言之,在最後的容差比較上,驗證平台與容錯控制器所運算出來的結果,應會 出現十筆的錯誤,藉由此機制來避免設計上的邏輯盲點。整體的驗證示意圖如下圖 4-6。. 百 萬 筆 資 料 1. 百 萬 筆 資 料 1. 百 萬 筆 資 料 1. 百 萬 筆 資 料 2. C ontrol U nit (控 制 單 元 ) 1. C ontrol U nit (控 制 單 元 ) 2. C ontrol U nit (控 制 單 元 ) 3. 驗證 平台 O uput B uffer 1. ☆:隨機替換 十筆資料. O uput B uffer 2. O uput B uffer 3. 判斷邏輯. O uput B uffer 1. O uput B uffer 2. O uput B uffer 3. 判斷邏輯 OR. 容差 比較. OUTPUT. 圖 4-6:系統輸出耐久性暨正確性驗證示意圖. 31. O uput B uffer 1. O uput B uffer 2. 判斷邏輯. O uput B uffer 3.

(41) 4.3.1 第一階段測試結果及分析 第一階段測試結果如下所示,由於ModelSim的輸出顯示會配合時間變化,因此在顯 示部分將輸入訊號及輸出訊號以兩畫面分別顯示。. 圖 4-7:控制單元升降舵測試訊號輸入畫面. 圖 4-8:控制單元升降舵測試訊號輸出畫面 而在 DSP 驗證平台方面,吾人以 Code Composer Studio 平台,將感應器模擬值輸入, 於姿態控制值讀出處設定程式中斷點,並配合 J-Tag 介面於 PC 端顯示。 32.

(42) 圖 4-9:驗證平台升降舵測試結果 由圖4-7、4-8、4-9可比較得知兩平台之升降舵測試結果,由於ModelSim顯示畫面為 將IEEE754單精度格式直接以32-bit顯示,為方便觀察,吾人將ModelSim輸出結果換算為 十進位,結果如下表4-5所示: 控制單元輸出 (IEEE754格式) 控制單元輸出 (十進位浮點) 驗證平台輸出. 0x40F19931. 0x40D6183A. 0x40B9AC27. 0x3FBFD7AC. 7.5499501. 6.6904573. 5.8022646. 1.4987692. 7.54995 6.690457 5.802264 1.498769 表 4-5:控制單元與驗證平台升降舵測試之結果比較. 而另外兩組翼面之輸入、輸出及比較結果如下各圖、表所示。. 圖 4-10:控制單元副翼測試訊號輸入畫面 33.

(43) 圖 4-11:控制單元副翼測試訊號輸出畫面. 圖 4-12:驗證平台副翼測試結果. 控制單元輸出 (IEEE754格式) 控制單元輸出 (十進位浮點) 驗證平台輸出. 0x40A08866. 0x40A12C13. 0x40881ADE. 0x4004432C. 5.0166501. 5.0366301. 4.2532796. 2.0665998. 5.01665 5.03663 4.25328 2.0666 表 4-6:控制單元與驗證平台副翼測試之結果比較. 34.

(44) 圖 4-12:控制單元方向舵測試訊號輸入畫面. 圖 4-13:控制單元方向舵測試訊號輸出畫面. 圖 4-14:驗證平台方向舵測試結果 35.

(45) 控制單元輸出 (IEEE754格式) 控制單元輸出 (十進位浮點) 驗證平台輸出. 0xC01AD7FD. 0xC0985940. 0xC0E0DC5B. 0xC113849E. -2.4194328. -4.7608947. -7.0268988. -9.2198772. -2.419433 -4.760895 -7.026899 -9.219877 表 4-7:控制單元與驗證平台方向舵測試之結果比較. 由表4-5、4-6、4-7之結果比較可得知,採用浮點運算器所組成之控制單元,與具有 浮點運算功能之DSP6701驗證平台所運算之結果,誤差範圍在小數點第六位以下。因此 該浮點控制單元之運算輸出為可信賴之數據。 4.3.2 第二階段測試結果及分析. 圖 4-15:控制器容錯測試訊號輸入畫面. 36.

(46) 圖 4-16:控制器容錯測試訊號輸出畫面 由圖4-15與圖4-16觀察可得知,原本三組控制單元均輸入相同之模擬數據值,但在第 二週期時,吾人將錯誤數據輸入至第一組控制單元,可發現系統也由第一組單元改為第 二組單元輸出,可知系統容錯架構正常運作,且輸出之頻率可達1M Hz。 4.3.3 第三階段測試結果及分析 第三階段測試結果統計如下圖4-17,吾人分別對三組翼面各模擬了百萬筆的測試資 料加以輸入測試,由圖中可知精進式容錯系統之容錯功能有效的運行,並成功的於容差 比較時將主系統隨機替換的十筆錯誤結果比對出來,可證明本精進式容錯系統擁有相當 程度的正確性及穩定性。 12 累積錯誤次數. 10. 升降舵 (Elevator). 8. 副翼 (Aileron). 6 4. 方向舵 (Rudder). 2 0 1. 2. 3. 4. 5. 6. 十萬筆資料. 7. 8. 9. 10. 圖 4-17:系統輸出耐久性暨正確性驗證結果統計 37.

(47) 第五章 結論與未來展望 在本篇論文中,吾人使用Verilog硬體描述語言,以可合成之RTL語法實現一組三階 式的浮點數處理單元,配合定翼飛行器之穩定姿態保持比例加積分控制律,設計出一組 以硬體描述語言組成的控制單元。 此外,對常見三組態容錯系統做了些許的改良,取消了投票器的架構。藉由三組控 制單元彼此協調,以交握式的傳遞資訊,在規劃的時間內達到即時輸出的要求。同時也 避免了若投票器發生異常時,造成全系統無輸出訊號之可能性。 之後以德儀之TMS320C67晶片配合Code Composer Studio軟體發展平台與DSP/BIOS 即時核心發展出一套多執行緒的飛行控制模組,藉由DSP的浮點能力配合J-Tag將結果於 PC上顯示,與ModelSim模擬出的結果來做比較,藉以驗證該系統的浮點運算結果之正確 性。 經多重驗證後,確認所設計之容錯架構之容錯能力,並可套用於不同之控制律,加 強整體系統之容錯能力。近年來數位電腦的大量應用,使得容錯即時系統的存在益趨重 要。而本文中設計之容錯架構,恰可以作為發展更可靠而有效率的控制系統平台。亦可 以略經修改,而擴展至其它的應用領域上。. 本論文未來尚可朝下列方向精進之:. 1、對泛用型三階式浮點數處理單元內部架構做最佳化處理,或是將四則運算器 各自獨立,進一步提高系統的單位時間產出量,藉以加強系統的即時輸出能力。 2、整合嵌入式系統及ASIC系統,並加強監控機制,將容錯、錯誤排除或錯誤 預知等觀念導入系統層面,大幅提升系統的穩定性,提高全系統之容錯能力。. 38.

(48) 參考文獻 [1]維基百科, http://zh.wikipedia.org/w/index.php?title=%E7%9C%8B%E9%96%80%E7%8B%97%E8 %A8%88%E6%99%82%E5%99%A8&variant=zh-tw [2] Bob Witwer, “Systems Integration of The 777 Airplane Information Management System (AIMS): A Honeywell Perspective”, IEEE/AIAA 14th DASC Conference, 1995, pp. 389-393. [3] Y. C. (Bob) Yeh, Boeing Commercial Airplane Group, “Triple-Triple Redundant 777 Primary Flight Computer,” IEEE Aerospace Application Conference Proceedings, Vol. 1, 1996, pp. 293-307. [4] 駱建中, 「電腦容錯原理」, 全華科技圖書, 1994. [5] Jan Roskam, Airplane Flight Dynamics And Automatic Flight Controls, 1979 [6] Charles, L. Phillips, and H. Troy, Nagle, Jr., Digital Control System analysis and Design, 1st ed., Prentic-Hall, 1984, pp. 257 [7] Rolf, Isermann, Digital Control Systems, 2nd ed., Vol. 1, Springer Verlag, 1989, pp. 116-121. [8] 吳朝棟,「應用DSP及FPGA實現無人飛行載具之自動駕駛系統」, 成功大學, 2002. [9] Robert, C. Nelson, Flight Stability and Automatic Control, 1st ed., McGRAW -HILL,1989, pp. 20, 89, 112-175. [10] IEEE, IEEE-754-1985 Standard for binary floating-point arithmetic. [11] Stuart Oberman, “Design Issues in High Performance Floating-Point Arithmetic Units”, Stanford University Technical report. [12] Mani Sudha Yalamanchi , Rajendar Koltur , “Single Precision Floating Point Unit”, http://web.cecs.pdx.edu/~mperkows/CLASS_VHDL/VHDL_CLASS_2001/Floating/projreport .html [13] Harold Klee,” CONTINUOUS SYSTEM SIMULATION”, http://classes.cecs.ucf.edu/eel5891/klee/Sim_Text/Chap3/Chap3_Sec3.pdf, University of Central Florida [14]王錦明,「線性系統解析」,超級科技圖書,1989. [15] 林傳生, 李佩謙,「數位訊號處理器(DSP)簡介與應用」, 全華科技圖書, 1996. 39.

(49) [16] 王逸如、陳信宏, 「數位信號處理的新利器TMS320C6X」,全華科技圖書,2000 [17] Texas Instrument, “SMJ320C6701FLOATING-POINT DIGITAL SIGNAL PROCESSOR”, Texas Instruments Incorporated, 2000 [18] Texas Instrument “TMS320C6x User’s Guide”, Texas Instruments Incorporated, 2001 [19] Texas Instrument, “Code Composer Studio Getting Started Guide”, Texas Instruments Incorporated, 2001 [20] Texas Instrument, “Code Composer Studio IDE Quick Start”, Texas Instruments Incorporated, 2001 [21] Texas Instrument, “DSP/BIOS Quick Start Reference Guide”, Texas Instruments Incorporated, 2001 [22] Texas Instrument, “TMS320 DSP/BIOS User's Guide”, Texas Instruments Incorporated, 2001 [23] 鄭信源,「Verilog 硬體描述語言數位電路設計實務」, 儒林圖書公司, 2006. [24] 張弘毅, 「以FPGA 晶片結合加速度計訊號實現遙控直昇機之姿態模糊控制器」,成 功大學, 2005. [25] 朱世強, 「高可靠度嵌入式系統核心之研製」, 台灣科技大學 ,2003. [26] 王富平, 「以數位訊號處理晶片為基礎之容錯飛行控制系統的設計與實作」,台灣大 學 , 1999.. 40.

(50)

數據

圖 3-2:飛機外觀三視圖
圖 3-8:方程式積分之尤拉法近似結果  換言之,吾人可將積分式 ∫ u )(t dt 近似為 ∑ u ( n ) x Δt 。而若以數位系統而言,則可表 示為 。其中 O(T)為系統目前之輸出,I(T)為系統目前之輸入值, 而 O(T-1)則為系統前一單位時間之輸出值。 1)-O(TTI(T)xO(T)=Δ+         而本系統以尤拉法實現之積分器架構如圖 3-9。  Input FPU (Mul)∆T FPU (Add) Output BUFFER (TIME  DELAY)CLK RST 圖 3
圖 3-10:高通濾波器架構
圖 3-12:控制器架構圖          而容錯控制器與主系統所組成之精進式容錯系統架構則如圖 3-13 所示。感測器將姿 態值傳送給主系統與容錯系統,兩系統將運算結果加以容差比較,若主系統之運算值為 在容差範圍內之合理結果時,以主系統之運算值加以輸出。若主系統之運算值超過容差 範圍時,則容錯系統會重置主系統,而在主系統重置過程中,全系統則以容錯系統之運 算結果加以輸出,以保持系統之穩定運作。  20
+7

參考文獻

相關文件

„ Complex Instruction Set Computers (CISC). „ complicated

最後特別提出說明,本研究用戶端作業系統為 Win 2000 Professional,伺服 器端作業系統為 Windows 2000 Server 並啟動 Active Directory

林銘波編著 --- 全華科技圖書公司.

之意,此指依照命令動作的意義。所謂伺服 系統,就是依照指示命令動作所構成的控制

本書立足中華文化大背景,較為深入系統地分析研究了回族傳統法文化的形成基礎、發展歷

資訊和通訊科技 物料和結構 營運和製造 策略和管理 系統和控制

此塊控制電路主要在控制,當一個新的 IP 進來的同時,利用 lookup_change 這根 信號,先送至 Change Table,如圖 3.4.2-1,裡查詢此組 IP 是否已存在 Table

Wi-Fi 定位即利用無線網路來傳遞信號,根據各種網路參數和算法可以找出使用