跳轉到內容

嵌入式控制系統設計/設計示例 2

來自 Wikibooks,開放世界中的開放書籍
的 Wikibook


嵌入式控制系統設計


本章透過一個具體示例:自動旅客運輸系統,說明了嵌入式系統設計的各個步驟。

新加坡輕軌交通系統中的龐巴迪 CX-100旅客運輸系統。

為了理解設計嵌入式控制系統所涉及的內容,闡述一個此類系統的示例非常有用。所選示例來自一個廣為人知的應用領域,以便所有讀者都能快速掌握設計的複雜性和所需功能。同時,該示例足夠真實,涵蓋了在嵌入式控制系統的階段設計和生命週期中出現的(經濟、技術、人力資源等)所有相關方面。(自動)旅客運輸系統的示例滿足了這些要求。本章被構思為一個故事,講述一家虛擬公司(People Move Company)如何應對設計新型旅客運輸系統的決策;這種故事方法可以說明在產品設計和生命週期的不同階段變得相關的不同設計標準。

旅客運輸系統是一種無人駕駛列車。第一輛旅客運輸系統於 1967 年投入運營,作為加利福尼亞州迪斯尼樂園明日世界的景點。(有關旅客運輸系統歷史和部署的更多詳細資訊,請參閱維基百科文章。)如今,旅客運輸系統被用作世界各地的交通系統。

正如People Move Company的員工所知,設計嵌入式控制系統是一項相當大的工作。許多人必須共同努力才能實現一個執行的整體。從People Move Company決定參與新型旅客運輸系統專案的招標那一刻起,該公司就試圖以結構化的方式運營。它將設計工作細分為三個部分。

  • 第一步,需求分析,公司首席工程師與(客戶代表)執行長一起編寫產品需求文件,其中公司表達了其對客戶需求的看法。如果People Move Company董事會決定公司可以在競標中進行現實的競爭——而這個決定本身並非易事!——則需求列表將用於制定報價
  • 其次,如果公司被允許參與競標,它將在內部進入高階設計階段,在此期間,它將客戶和產品需求列表與公司出於內部利益而強加的需求一起完成。元件重用、售後服務和維護等設計標準在此階段受到關注,因為這些因素會對公司的財務狀況產生重大影響。此外,專案的負責人會制定一個計劃,說明他們哪些員工可以處理工作的哪些部分。
  • 然後,所有參與的員工都可以實施旅客運輸系統的詳細設計

在這些設計任務之後,旅客運輸系統必須進行生產、服務和維護。生產過程在此處將不再詳細討論。

需求分析

[編輯 | 編輯原始碼]

People Move Company希望設計一種用於公共交通的完全自動化的車輛。專案的負責人制定了一份技術、商業和實踐需求清單,系統必須滿足這些需求才能符合客戶的招標要求。該結果是使用通俗易懂的語言編寫的產品需求文件。由於該文件表達了客戶的需求,因此People Move Company希望與客戶進行對話來制定產品需求。在一次這樣的會議上,客戶解釋說,他已經擁有旅客運輸系統將行駛的軌道。People Move Company獲取了這些軌道的規格以及客戶所在國家/地區適用的客運標準。這帶來了一些設計約束,例如關於最大速度、加速度曲線、重量、能耗等方面的約束。反過來,People Move Company也利用與客戶的互動來解釋公司的競爭優勢(技術和經濟方面),以及公司出於內部技術和經濟原因希望遵守的一些產品約束。在客戶和公司之間發生訴訟時,明確這些約束確實非常重要。

與客戶的互動使People Move Company得出了最終的產品需求文件,該文件將提交給招標。在內部,同一份文件將作為公司自身設計團隊的第一個輸入。雖然不能打算以完整的技術細節指定所有需求,但它描述了以下不能省略的重要需求列表。細節與高階需求之間,以及重要需求與低優先順序需求之間的界限在哪裡,通常很難解釋或教授;尤其因為這涉及如此多的公司特定方面:可用的人力和專業知識、現有產品的哪些設計可以(部分)重新用於新產品等。公司的經濟成功將在很大程度上取決於設計需求團隊在建立切實可行且具有競爭力的需求文件方面的工作能力。

由於其產品組合中已有產品,因此公司決定設計一種由機車和一輛或多輛客車組成的旅客運輸系統。該車輛由電動機驅動,並從軌道上獲取電力。旅客運輸系統只能在配備信標的特殊鐵路線上執行。這些信標沿鐵路放置,並向旅客運輸系統的控制系統指示所需的速度變化。在車輛可以在此鐵路線上行駛之前,必須將鐵路圖以及每個信標的含義載入到旅客運輸系統控制器的記憶體中。車輛上的感測器檢測信標並根據地圖上的指示做出反應。可能的反應是

  • 以一定量加速。
    備註:為了實現使用者友好的旅客運輸系統,速度和加速度限制在指定的最大值,並根據指定的平滑曲線。此類曲線是許多現有鐵路標準的一部分。
  • 以一定量減速。
    備註:減速限制在某個最大值。
  • 以指定的減速度停止。

例如,軌道彎道前的信標指示旅客運輸系統必須減速到指定速度。在軌道上指示終點站的位置,車輛會停下來。車輛靜止的位置由客戶指定,與地圖上指示的位置最多相差一米。車門在停止後至少 0.1 秒,最多 0.5 秒開啟。車門開啟 30 秒後,警告訊號響起一秒鐘,車門關閉。警告訊號發出後至少 1 秒,最多 2 秒,車輛繼續行駛。

當變暗時,旅客運輸系統的車頭燈和車廂內的照明必須開啟。燈光具有客戶指定的最小強度。

當鐵路被任何障礙物阻擋時,公司不承擔責任。

雖然旅客運輸系統是全自動的,但控制塔可以決定旅客運輸系統的動作。車輛的速度和位置(精確到一定程度)可以在控制塔的顯示器上看到。

高階設計

[編輯 | 編輯原始碼]

萬歲!People Mover公司在招標中勝出,現在獲得了客戶的資金來進行更詳細的高階設計,其中所有與客戶相關的技術細節都必須得到解釋。上面提到的需求列表滿足了客戶的總體需求,但對於公司設計師來說,其具體程度不足以進行專案可行性和成本的完整分析。這些人還必須考慮People Mover公司自身利益的需求,而不管客戶的意願如何。例如,由於People Mover公司希望只接受符合其長期產品組合願景並且可以支援數十年的工作,因此設計師必須考慮有助於元件重用和人員運輸產品維護的功能。這些努力將降低售後服務成本以及公司希望推向市場的後續類似產品的成本。為了完善需求列表,公司設計團隊有一份其設計師始終必須牢記的設計標準。對於人員運輸系統,這些設計標準是

  • 功能性:人員運輸系統首要功能是能夠以全自動的方式運輸人員。
  • 安全性:必須在設計的各個層面都融入安全性。包括故障模式和新增冗餘是常見的安全預防措施。
  • 魯棒性:設計應具有一定的裕度,以便在超出客戶要求的條件下也能正常執行。
  • 成本:價格仍然必須具有競爭力。
  • 能耗:公司希望提升其在低能耗車輛方面的形象。
  • 對不同環境條件(溼度、溫度和振動)的不敏感性
  • 可控性:人員運輸系統必須能夠從控制室進行控制。
  • 空間和重量限制
  • 可生產性
  • 認證和標準化
  • 使用者介面
  • 使用壽命
  • 維護
  • 售後服務
圖1:全域性架構
圖2:全域性架構(改進版)
圖3:自動化人員運輸系統車輛系統的子系統
圖4:子系統之間的通訊

現在,所有設計標準都必須轉換為可以新增到產品需求中的需求。因此,額外的需求確保所有設計標準都將融入最終的人員運輸系統中。一些示例說明了如何做到這一點。

如上所述,People Mover公司可以透過包含有助於售後服務的功能來節省資金。這可以透過“遠端維護”系統來實現。

節省資金和時間的另一種方法是重用人員運輸系統先前型號的基礎設施和元件。安全性需求已透過指定控制塔必須能夠接管所有命令的方式部分包含在產品需求中。但這還不夠,因為安全性必須融入所有設計層面。例如,在設計巡航控制功能時,設計師必須確保電機的電流永遠不會超過限值。當車輛試圖在斜坡上行駛過快時,可能會發生這種情況。

一些設計標準相互干擾。例如,使用者介面與安全性有關。系統設計必須預料到使用者的疏忽。可能會有人在門已開始關閉時進入人員運輸系統。檢測此危險行為的感測器可以防止事故發生。此外,設計標準使用壽命、魯棒性和成本也會相互影響。設計師必須瞭解系統需要使用多長時間。較長的使用壽命需要更高質量的魯棒元件。當然,這對價格有影響。

在高階設計中,需求被轉換為規範,這意味著將諸如成本、使用壽命、維護、售後服務和能耗等模糊的需求表達得更精確。預期使用壽命、成本和能耗由特定數字定義。

在理解了設計標準之後,People Mover公司手中就有了產品需求的擴充套件版本。利用這些需求,系統工程師或系統架構師建立了一套更正式的功能規範。它們構成了全域性系統架構。該方案將系統劃分為三個主要部分

  • a 交通指揮系統
  • b 控制指揮系統
  • c 車輛指揮系統

每個部分都有一些輸入和輸出,在圖1中用箭頭表示。例如,交通指揮系統從沿鐵路放置的信標和斜坡本身獲取資訊。這些信標指示人員運輸系統的速度變化。在車輛可以在鐵路線上行駛之前,必須將鐵路地圖以及每個信標的含義載入到人員運輸系統的記憶體中。車輛上的感測器檢測信標並根據地圖上的指示做出反應。斜坡會導致一定的負載扭矩。其他部分的輸入和輸出在圖1中顯示。圖2更詳細地描述了每個部分的內容。

現在,People Mover公司的管理層決定誰將負責工作的哪一部分。在某些情況下,與分包商合作非常有用。公司還可以聘用具有相關經驗的專家。透過將系統劃分為子系統,不同的團隊可以同時工作以實現這些不同的子系統。這稱為並行工程。良好的團隊間溝通,例如在每日或每週會議中,可以使團隊之間相互協調。子系統的最佳劃分最大程度地減少了子系統之間的通訊並最大程度地提高了子系統的獨立性。之後,子系統被組裝成一個完全可操作的系統。將劃分策略應用於自動化人員運輸系統會產生七個子系統。圖3說明了自動化人員運輸系統車輛系統的子系統。圖中省略了最後兩個子系統,因為它們與設計的嵌入式方面沒有真正的關係。因此,在本文件的其餘部分將不會討論它們。

  • 無線通訊”子系統實現了從控制塔到列車以及反向的資訊傳輸。
  • CPU”子系統充當列車的“大腦”。在這個子系統中,所有資訊都集中起來,然後分配到不同的子系統。
  • 電源”子系統負責電機部分的構建。
  • 控制迴路”子系統構建驅動器的控制迴路。
  • 當然,人員運輸系統需要環境資訊。“感測器”子系統收集鐵路彎道、終點站、外部光線強度資訊,並檢測控制室的無線電訊號。
  • 由於人員運輸系統是一個物理物件,因此需要一個子系統來負責“機械設計”。
  • 外觀也很重要,尤其是在People Mover公司希望給公眾留下深刻印象的情況下。因此,一個子系統負責“美學設計”。

當然,這些子系統不能各自獨立地工作。不同子系統之間的互動是不可避免的。People Mover公司指定了一位“整合商”,他將協調關於如何在子團隊之間實現資訊傳輸的討論。圖4顯示了哪些子系統需要相互通訊。機械和美學設計團隊沒有畫出來,因為它們必須與所有其他團隊保持聯絡。例如,“CPU”需要知道控制室何時想要接管控制權。此資訊可以透過無線方式傳輸到人員運輸系統。“感測器”可以提供來自信標的資訊,這些信標指示所需的速度。這是“控制迴路”子系統所需的輸入。

詳細設計

[編輯 | 編輯原始碼]

再次萬歲!People Mover公司贏得了競標,並獲得了在未來36個月內交付100臺人員運輸系統的合同。因此,設計團隊與人力資源經理、首席技術官和首席財務官一起,將高階設計文件轉換為詳細設計文件,該文件將用於計劃和指導此新專案中的所有活動。

圖5:詳細架構

詳細設計的起點是具有子系統劃分的全域性架構。在第一步中,每個子系統必須找出其需要的元件。頭腦風暴會議在這裡可以提供很大的幫助。此過程的結果是人員運輸系統的架構,如圖5所示。

此外,子系統就資訊通訊的形式達成一致。這可以是模擬訊號或數字訊號。位或位元組的具體數量以及每個訊號的確切含義都將被指定。如果這些約定中的任何一個在過程的後期階段被證明不自然,則相關的子系統必須再次坐在一起修改約定。如前所述,“整合商”將協調這些會議。

現在,不同的子團隊可以開始工作了。系統架構師避免(重新)設計每個元件。已經存在的元件是智慧財產權(IP)的一部分,可以使用而無需重新設計。在這裡,系統架構師做出“自制或購買”的決策。

無線通訊

[編輯 | 編輯原始碼]

控制塔透過無線方式向自動導向車傳送指令。這套指令是有限的。每個指令對應一個由1和0組成的序列,即二進位制碼字。一種為每個指令分配二進位制碼字的方法是使用霍夫曼編碼。現在,這個由1和0組成的序列需要使用調製電磁波傳輸到自動導向車。

執行調製和反向操作解調的裝置稱為調變解調器。自動導向車必須配備天線和調變解調器。有關通訊的更多資訊,可以在華夏公益教科書《通訊系統》和《資料編碼理論》中找到。系統設計人員的任務是選擇調製方法、編碼方式和硬體(天線調變解調器)。

感測器

[編輯 | 編輯原始碼]

產品需求文件中,已經明確了自動導向車將需要感測器。因此,系統設計人員必須選擇合適的感測器,確定感測器放置的位置,並確保感測器資訊傳送到正確的地址。對於每種型別的感測器,設計人員都必須考慮不同的需求。

事實上,自動導向車需要能夠檢測到外部環境變暗的感測器。一個明顯的解決方案是使用帶有光伏電池的光感測器。當然,此類感測器有很多。最終使用哪種感測器由設計人員決定。確定感測器的放置位置也很重要。光感測器的最佳放置位置可能是車輛的頂部。

此外,與控制室的通訊也需要感測器。這裡可以考慮使用射頻檢測感測器。自動導向車的使用環境在這裡非常重要,因為即使車輛在隧道中,控制塔也必須能夠與自動導向車保持聯絡。

設計人員必須選擇信標的工作方式。乍一看,光感測器似乎非常有趣。信標甚至可以發出編碼訊號。但是,這種選擇肯定會帶來困難,因為環境非常“惡劣”。一片樹葉或其他自然物體很容易干擾訊號。因此,需要更穩健的解決方案。一種選擇是使信標具有磁性。然後,自動導向車中的感測器可以檢測到這個磁場。

此外,自動導向車需要配備速度感測器和重量感測器來檢測超載。這個子團隊的輸出將傳送到CPU,並導致相應的動作。

一般來說,感測器相當昂貴。因此,在選擇合適的感測器時,必須考慮成本設計標準。

中央處理器 (CPU) 處理傳入的資訊。最初,這些資訊來自磁性信標,但控制室也可以接管。可能的指令包括:

圖 6:CPU 的可能實現
  • 期望速度 = 最大速度
  • 期望速度 = 0.8 * 最大速度
  • 期望速度 = 0.6 * 最大速度
  • 期望速度 = 0.4 * 最大速度
  • 期望速度 = 0.2 * 最大速度
  • 停止
  • 期望速度 = 0.2 * 反方向最大速度
  • 期望速度 = 0.4 * 反方向最大速度
  • 期望速度 = 0.6 * 反方向最大速度
  • 期望速度 = 0.8 * 反方向最大速度
  • 期望速度 = 反方向最大速度
  • 重置計數器
  • 燈光開啟
  • 燈光關閉

每次車輪感應到來自鐵軌的磁性訊號時,計數器就會加 1。這樣,每個信標都有一個對應的計數器輸出。邏輯電路對該計數器輸出進行解碼。一個可程式設計邏輯控制器 (PLC) 提供了一種穩健的實現方案。圖 6 顯示了 CPU 的一種可能實現。對於具有 16 個信標的軌跡,4 位計數器就足夠了。解碼器包含必要的資訊,以便在每次收到信標訊號時發出正確的指令。速度訊號傳送到控制迴路子系統,或者傳送訊號到燈光控制器。

控制迴路

[編輯 | 編輯原始碼]
圖 7:驅動控制迴路的實現

其中一個團隊負責驅動控制迴路。該團隊實施的過程如圖 7 所示。

該子系統接收來自 CPU 團隊的期望速度和來自電源團隊的測量速度。這些都是數字訊號。為了將它們轉換為模擬訊號,輸入訊號將透過數模轉換器。考慮到穩健性設計標準,明智的做法是在此處包含低通濾波器。這提高了信噪比。對所得訊號的比較必須產生一個控制電機的電壓訊號。相關的控制器是 PI 速度控制器。

如高階設計中所示,出於安全原因,必須限制電機中的電流。可以使用限幅器來實現這一點。

第二個控制器是電流控制器,它允許快速控制電機。實際上,這兩個 PI 控制器處於主從配置。主 PI 透過調整所需的電流來控制速度,而從 PI 透過操縱電機電壓來控制電流。

經過所有討論的操作後,控制迴路在輸出端給出電壓訊號。此訊號傳送到電源團隊。

因此,圖 7 的概念方案由數模轉換器 (DAC1 和 DAC2)、低通濾波器 (LPF)、PI 控制器 (PI vel 和 PI curr)、放大器 (A) 和限幅器組成。這些元件可以使用一系列電阻、電容和其他簡單的電子元件來實現。

圖 8:PWM 變頻器的示意圖

自動導向車由電動機驅動。在實踐中使用了不同的實現方式。

如今,大多數列車都由變頻驅動器驅動。變頻驅動器 (VFD) 是一種透過控制供給電機的電力的頻率來控制交流電動機轉速的系統。VFD 系統中使用的電機通常是三相感應電機。交流輸入電源首先使用整流橋轉換為直流中間電源。然後,使用逆變器開關電路將直流中間電源轉換為準正弦交流電源。VFD 控制電路如圖 8 所示。

由於控制迴路子系統控制電源子系統,因此這兩個子系統必須進行通訊。控制迴路的控制訊號(稱為 PWM)在其頻率中攜帶資訊。將此訊號與頻率高得多的三角波進行比較。比較器的輸出控制一個相位的 2 個開關。結果,每個相位都具有與控制迴路的控制訊號相同頻率的準正弦波形。電源子系統還需執行其他功能,例如測量電機電流和電機速度。同樣,有多種實現方式。這裡只描述其中一種。

控制迴路子系統限制期望加速度以避免電機電流過大。因此,控制迴路子系統需要一個與電機電流成正比的輸入訊號。可以透過在電機串聯連線一個小電阻來測量電流。該小電阻上的電壓與電機電流成正比。使用差分放大器將其轉換為範圍為 [-5V, 5V] 的電壓訊號。

在電源子系統本身中,也內建了一個電流限制器。在各種應用中,都使用冗餘來提高安全性。這對構建一個穩健且安全的系統非常重要。

自動扶梯的實際速度是子系統控制迴路控制速度的必要資訊。可以透過安裝在輪軸上的旋轉編碼器來測量速度。編碼器的輸出作為微控制器的輸入,微控制器向子系統CPU和子系統控制迴路傳送一個8位數字訊號。

電源子系統必須實現的另一個重要功能是緊急制動。當子系統CPU將停止訊號置為高電平(5V)時,電機必須立即停止。此功能可以透過多種方式實現。最明顯的方法是將停止訊號與脈衝寬度調製的脈衝進行或運算。

設計中不可或缺的一部分是測試。所有子團隊都必須測試自己的系統。此外,不同的子系統必須以較小的群體進行測試。當然,最後一步是測試整體。例如,更多關於軟體測試的資訊可以在軟體測試中找到。

實施和生產

[編輯 | 編輯原始碼]

當所有設計步驟都通過後,People Move公司就可以開始實施和生產自動扶梯。這些任務再次需要結構化的方法。不過,這些內容在本華夏公益教科書中未作討論。

嵌入式控制系統設計

華夏公益教科書