跳到內容

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

來自華夏公益教科書
華夏公益教科書的


嵌入式控制系統設計


本章透過一個具體的例子:一個自動化的自動人行道,說明了嵌入式系統設計的各個步驟。

新加坡輕軌上的龐巴迪 CX-100自動人行道。

為了理解嵌入式控制系統設計中涉及的內容,闡述一個這樣的系統示例很有幫助。所選示例來自一個眾所周知的應用領域,以便所有讀者都能快速理解設計的複雜性和所需的功能。同時,該示例足夠現實,涵蓋了所有相關方面(經濟、技術、人力資源等),這些方面在嵌入式控制系統的設計和生命週期的各個階段中都會出現。一個(自動)自動人行道的示例滿足了這些要求。本章被設想為一個虛構公司(People Move Company)如何處理設計一個新的自動人行道的決定的故事;這種故事方式可以說明在產品設計和生命週期的不同階段中變得相關的不同設計標準。

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

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

  • 第一步,在需求分析中,公司首席工程師與(代表)CEO 共同編寫了一份產品需求檔案,其中公司表達了對客戶需求的看法。如果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 Company 在招標中成功中標,現在獲得了客戶的資金來進行更詳細的高階設計,其中所有與客戶相關的技術細節都需要解釋。上述需求清單滿足了客戶的總體需求,但對於公司設計師來說還不夠具體,無法對專案的可行性和成本進行完整分析。這些人還必須考慮People Move Company自身利益的需求,無論客戶的要求如何。例如,由於People Mover Company 想要接受的專案僅限於符合其長期產品組合願景且能夠支援數十年的專案,因此設計師必須考慮有助於元件重複使用和維護人行道產品的功能。這些努力將降低售後服務成本以及該公司希望推向市場的後期類似產品的成本。為了完成需求清單,公司的設計團隊有一份其設計師始終要牢記的設計標準 列表。對於人行道產品,這些設計標準是

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

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

如上所述,People Move Company可以透過包含有利於售後服務的特性來節省資金。這可以透過“遠端維護”系統來實現。

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

一些設計標準會相互影響。例如,使用者介面與安全性有關。系統設計必須預料到使用者的疏忽。可能會有人在車門即將關閉時進入人行道產品。檢測到這種危險行為的感測器可以防止事故。此外,設計標準使用壽命、穩健性和成本之間也會相互影響。設計人員必須瞭解系統需要使用多長時間。較長的使用壽命要求使用更高質量的穩健元件。當然,這對價格有影響。

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

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

  • 交通指令系統
  • 控制指令系統
  • 車輛指令系統

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

現在,People Move Company 的高層決定誰負責哪個部分的工作。在某些情況下,與分包商合作是有益的。該公司還可以聘請具有相關經驗的專家。透過將系統劃分為子系統,不同的團隊可以同時工作以實現這些不同的子系統。這被稱為並行工程。良好的跨團隊溝通,例如在每日或每週會議中,可以使團隊彼此協調。子系統的最佳劃分可以最大限度地減少子系統之間的通訊並最大限度地提高子系統之間的獨立性。之後,子系統被組裝成一個完全可操作的系統。將劃分策略應用於自動人行道產品會導致七個子系統。圖 3 說明了自動人行道產品車輛系統的子系統。最後兩個子系統未在此插圖中顯示,因為它們與設計的嵌入式方面無關。因此,它們不會在本文的其餘部分中討論。

  • 一個"無線通訊" 子系統實現資訊從控制塔到列車的傳輸,反之亦然。
  • 子系統"CPU" 充當列車的“大腦”。在此子系統中,所有資訊都集中起來,然後分配給不同的子系統。
  • 子系統"電源" 負責構建電機。
  • 子系統"控制環" 構成驅動器的控制環。
  • 當然,人行道產品需要有關環境的資訊。子系統"感測器" 收集有關鐵路彎道、終點站、外部光線強度的資訊,並檢測控制室的無線電訊號。
  • 由於人行道產品是一個物理物體,因此必須有一個子系統來處理“機械設計”。
  • 外觀也很重要,特別是如果 People Move Company 想給公眾留下深刻印象。因此,有一個子系統負責“美學設計”。

當然,這些子系統不能獨立執行。不同子系統之間的互動是不可避免的。People Move Company 指定了一個“整合者”來協調有關如何實現子團隊之間資訊傳遞的討論。圖 4 顯示了哪些子系統需要相互通訊。機械和美學設計團隊沒有繪製出來,因為它們必須與所有其他團隊保持聯絡。例如,“CPU" 需要知道何時控制室想要接管控制。該資訊可以無線傳輸到人行道產品。“感測器" 可以提供來自信標的資訊,這些信標指示所需的速率。這是"控制環" 子系統所需的輸入。

詳細設計

[edit | edit source]

再次歡呼!People Mover Company 贏得了比賽,並簽訂了在 36 個月內交付 100 輛人行道產品的合同。因此,設計團隊與人力資源經理、首席技術官和首席財務官一起,將高階設計文件轉換為詳細設計文件,該文件將用於規劃和指導該新專案中的所有活動。

架構

[edit | edit source]
圖 5:詳細架構

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

此外,子系統還就資訊傳遞的形式達成一致。這可以是模擬訊號或數字訊號。位或位元組的特定數量與每個訊號的確切含義一起指定。如果在流程的後期階段發現任何這些約定不自然,則相關子系統必須再次坐在一起修改約定。如前所述,一個“整合者”協調這些會議。

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

無線通訊

[edit | edit source]

控制塔透過無線方式向自動扶梯傳送指令。這組指令是有限的。每個指令對應一個由一和零組成的序列,即二進位制碼字。一種將二進位制碼字分配給每個指令的方法是使用霍夫曼編碼。然後需要使用調製電磁波將這個由一和零組成的序列傳輸到自動扶梯。

執行調製和逆運算解調的裝置被稱為調變解調器。自動扶梯必須配備天線和調變解調器。有關通訊的更多資訊,請參閱華夏公益教科書通訊系統和華夏公益教科書資料編碼理論。系統設計師的任務是選擇調製方法、程式碼和硬體(天線調變解調器)。

感測器

[edit | edit source]

產品需求文件中已經清楚地表明,自動扶梯將需要感測器。因此,系統設計師必須選擇合適的感測器,確定放置位置,並確保感測器資訊最終到達正確的位置。對於每種型別的感測器,設計師都必須尋找不同的需求。

實際上,自動扶梯需要能夠檢測到外部變暗的感測器。一個明顯的解決方案是使用帶有光電電池的光感測器。當然,這類感測器有很多。最終使用哪種感測器由設計師決定。確定感測器的位置也很重要。光感測器的最佳位置可能是車輛的屋頂。

與控制室的通訊也需要感測器。這裡可以考慮用於無線電檢測的感測器。自動扶梯將使用的環境在這裡非常重要,因為控制塔必須始終能夠與自動扶梯取得聯絡,即使車輛在隧道中也是如此。

設計師必須選擇信標的工作方式。乍一看,光學感測器似乎很有意思。信標甚至可以傳送出編碼訊號。然而,這種選擇肯定會帶來困難,因為環境非常“惡劣”。一片樹葉或其他自然物體很容易干擾訊號。因此,需要更可靠的解決方案。一種選擇是將信標磁化。然後,自動扶梯中的感測器可以檢測到這個磁場。

此外,自動扶梯還需要配備速度感測器和重量感測器,以檢測超載。這個子團隊的輸出被髮送到 CPU,並將導致一個動作。

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

中央處理器 (CPU) 處理傳入的資訊。首先,這些資訊來自磁性信標,但控制室可以接管。可能的指令是

圖 6:CPU 的可能實現
  • 目標速度 = 最高速度
  • 目標速度 = 最高速度的 0.8 倍
  • 目標速度 = 最高速度的 0.6 倍
  • 目標速度 = 最高速度的 0.4 倍
  • 目標速度 = 最高速度的 0.2 倍
  • 停止
  • 目標速度 = 另一個方向上最高速度的 0.2 倍
  • 目標速度 = 另一個方向上最高速度的 0.4 倍
  • 目標速度 = 另一個方向上最高速度的 0.6 倍
  • 目標速度 = 另一個方向上最高速度的 0.8 倍
  • 目標速度 = 另一個方向上最高速度
  • 重置計數器
  • 燈光開啟
  • 燈光關閉

每次輪子從軌道上感應到磁性訊號時,計數器都會增加一個單位。這樣,每個信標都有一個對應的計數器輸出。一個邏輯電路對這個計數器輸出進行解碼。一個可程式設計邏輯控制器 (PLC) 提供了一個可靠的實現。圖 6 顯示了 CPU 的一種可能的實現。對於具有十六個信標的軌跡,4 位計數器就足夠了。解碼器包含每次接收到信標訊號時發出正確指令所需的資訊。一個速度訊號傳送到控制迴路子系統,或者一個訊號傳送到燈光控制器。

控制迴路

[edit | edit source]
圖 7:驅動器控制迴路的實現

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

這個子系統接收 CPU 團隊的目標速度和電源團隊的測量速度。這些是數字訊號。為了將它們轉換為模擬訊號,輸入被髮送到數模轉換器。考慮到魯棒性的設計標準,明智的做法是在這裡包括低通濾波器。這會提高信噪比。對所得訊號的比較必須產生一個電壓訊號,用於控制電機。相關控制器是 PI 速度控制器。

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

第二個控制器是電流控制器,它可以快速控制電機。實際上,這兩個 PI 控制器處於主從配置。主 PI 透過調整請求電流來控制速度,而從控制器透過控制電機電壓來控制電流。

經過所有討論的處理後,控制迴路在輸出端提供一個電壓訊號。這個訊號傳送到電源團隊。

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

電源

[edit | edit source]
圖 8:PWM 變頻器的示意圖

自動扶梯由一個電動機驅動。實踐中使用不同的實現方法。

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

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

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

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

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

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

測試

[edit | edit source]

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

實現和生產

[編輯 | 編輯原始碼]

當所有設計步驟都通過後,People Move Company 可以開始實施和生產人員搬運系統。這些任務再次需要結構化的方法。不過,它們不會在本華夏公益教科書中討論。

嵌入式控制系統設計

華夏公益教科書