CAN是汽車產業中得到廣泛應用的數據與控制通信網絡,汽車環境中有許多應用要求極高的可靠性和容錯能力,本文介紹如何運用Specman Elite的強大功能為含有控制器局域網絡或CAN接口的待測設計提供全面的驗證。
當今采用HDL原始程序代碼的先進驗證工具廣泛采納了系統工程知識,并與代替專門測試裝置的可再使用驗證組件整合在一起,為設計師提供了豐富的支持能力。Cadence公司的Specman Elite驗證工具就是這樣一款驗證技術工具,它能提供可配置、可再使用和可擴展的驗證組件,這些組件被稱為eVC。這些組件采用驗證語言e編寫,能夠產生足夠多的測試激勵訊號,并能對設計行為與預期結果進行檢查確認。eVC可以極大地縮短驗證時間和提高產品品質。具有互通性的eVC套件可以透過第三方程式或取得授權,可用來測試算法模塊或總線接口等常見的電路功能。這種方法的突出優點是eVC的成熟性、可移植性和可再使用性,使eVC具有與被測IP模塊設計同等的價值。
CAN是一種汽車產業中得到廣泛使用的數據與控制通信網絡,是一種極具強韌性的電氣規范和協議,專門設計用于轎車或卡車中危險、常常無法預料的惡劣環境,而這種環境中有許多應用需要極高的可靠性和容錯能力。CAN總線初是由Robert Bosch GmbH建構的。現在的汽車設計通常包含50個以上的微處理器,每個處理器都各自負責相應的應用,如引擎管理、牽引或剎車控制、安全氣囊等乘客安全裝置、氣溫控制、燈光等。這些處理器透過多級CAN總線互連和通信,接收驅動器發出的命令,并將數據發送給儀器設備。可靠性的增強、成本的降低、重量和空間的節省都源自對每個組件的簡單饋電和差分CAN線對代替復雜布線機制的結果。
總線上的每個CAN組件都分配有一個軟件賦值的ID。總線在邏輯上等效于線與功能,可以被任意一個試圖發送數據的組件拉低。發送時脈是由發送組件產生的,因此所有接收組件必須重建時脈和數據位。組件之間傳送的數據遵循標準的CAN訊框格式,其中包括目的組件ID、控制和數據訊息負荷以及CRC。終指定的接收器將把總線拉低以確認收到一個完整的、CRC正確的訊框,然后釋放總線使之回到空閑狀態。每個試圖發送的組件在發送之前首先要檢查總線是否處于空閑狀態。如果出現多個組件試圖同時發送的情況,并且總線上數據出錯時它們必須相互偵聽,先后退一段時間然后再嘗試發送。CAN的執行速度可達1Mbps,該總線簡單且高效,極具強韌性,可以滿足汽車工業的成本約束要求。
YOGITECH提供的CAN eVC兼容博世公司定義的v2.0A/B CAN標準,允許用戶例化與待測設計(DUT)具有收發關系的不同CAN組件。
應用層測試時采用的eVC可以建構預先確定的CAN訊框數據,然后根據預先確定的響應監視特定結果。YOGITECH eVC可以建構任何類型的訊框序列。因此測試人員可以定義完整的循環,以用于所有可能應用相關總線環境下的CAN組件訓練器。用戶可以瀏覽高度仿真執行期間收集到的數據,或者仿真裝置一直自由執行直到它捕捉到錯誤狀態。CAN eVC能夠在從訊框到時間量分辨率范圍內的不同抽象層檢查收集到的數據。Specman Elite的數據瀏覽器提供了跨越各個抽象層的導航功能。
然而,YOGITECH的CAN eVC遠不止提供功能和協議測試,它還能完全控制訊框和位時序,并仿真公共CAN總線噪音和其它干擾。在硅芯片投產之前,測試電路在這些額外條件下的響應顯得特別有用,可以很快顯示設計中的任何強韌性欠缺。更重要的是,這種系統知識融合進了eVC程序代碼中,可以供其它設計師在后序項目中繼續使用。
可以被YOGITECH eVC仿真的CAN總線活動和狀態有:
數據和REMOTE訊框
錯誤的產生和處理
過載的隨機產生和處理
多個CAN代理可以用不同行為實例化
確認處理
總線監視
DUT錯誤計數器追蹤
時脈飄移和同步
發送時增加抖動
噪音注入(見下文)
在訊框中注入錯誤
不良CRC
遠程響應的產生
產生每個都含CAN復訊框的序列
總線業務的覆蓋
透過記錄和追蹤機制報告總線狀態
數據一致性和協議時序的自動自檢
特殊訊框的處理,如喚醒
總線仲裁,也就是多個組件發送引起的沖突
總線噪音:CAN總線仿真器建構于能夠生成噪音位的更高頻率仿真,因此數據樣本的測試在接收端進行CAN組件應該可以解決這些類型的錯誤,必要的話可進行重傳直至成功。同時它們在重傳時不應由于故障或冗余設計造成總線阻塞,而且在硅芯片投產前必須對這些情況加以確認。
YOGITECH eVC設計人員可以確保他們的eVC能夠對送往DUT和來自DUT的位時序提供嚴格控制,結果eVC應該可以將各種脈沖注入進DUT以驗證抗噪音性能,否則很小的脈沖寬度都可能喚醒處于休眠狀態的CAN組件。雖然引擎工作時能夠提供足夠的功率,但節省電力在汽車設計中仍占非常重要的地位。當汽車停開一周時很容易耗光電池電量,因此CAN組件設計師和測試人員應該非常小心,確保組件功耗小化,并且不對組件作不必要的喚醒。
用于Specman Elite的YOGITECH CAN eVC能幫助設計人員對他們的系統功能進行嚴格建模,并預測和驗證DUT的行為。的驗證挑戰之一是對CAN控制器系統側的建模。大多數已有的CAN控制器都具有豐富的包括中斷標志在內的配置和狀態位,因此很難預測組件的行為。此時必須采用精確的參考模型才能完成組件周期的完整測試。因此eVC需要提供諸如事件和狀態標志之類的大量建模行為,并提供全面的總線狀態報告以及DUT正確仲裁、確認和報告錯誤的能力。
此外,使用Specman Elite擴展性能可以使eVC很容易滿足用戶特殊的驗證需求。在可維護方面,這些擴展特性不具有擴散性,因此能夠確保eVC的作業穩定性始終不受影響。
這些性能使得采用Specman Elite的eVC進行建模和驗證的能力比傳統的C語言模型強很多。
汽車系統驗證小組可以采用這些技術在實際環境中開發和除錯CAN總線作業的模型,并透過再使用eVC在各項目間分享這些經驗。在CAN總線受到高壓電線產生的干擾時,引擎管理系統必須不發生故障,因此在引擎管理系統的開發中這種能力是無價的。即使這種問題在現場還是出現了,這些問題也很容易得到建模,并被增加進eVC仿真,這樣可確保不發生同樣的錯誤。涉及到乘客安全、氣囊等更重要的問題,經驗顯示:如果現場沒有發現的潛在設計缺陷就可能需要付出數百萬的代價!這就是目前汽車工業有必要進行嚴格驗證的嚴峻形勢。
另外一個重要功能是方便重新設計,這是因為現場發現問題時需要在設計實驗室進行建模。這種故障情形通常很難用標準測試平臺或C模型進行再現,因為它們包含復雜的極端案例。
通常來自現場的報告只提供了故障的粗略描述,設計小組需要用很大的精力并在新技術幫助下才能確定根本原因。透過使用Specman Elite和YOGITECK eVC,設計師可以快速擴展明確的仿真領域,從而能夠完整檢查和理解像所有CAN組件同時存取總線時造成總線不明原因死鎖之類條件下的行為。
,針對CAN協議各個方面的整合,功能覆蓋定義提供了實際驗證狀態的詳細報告。根據Specman Elite的功能覆蓋引擎,設計人員能夠清晰地了解驗證工作已經完成了多少,協議的哪些方面功能還需要測試。為了分析組件的品質和當前驗證狀態,eVC的這種功能覆蓋性能甚至可以被整合進已有的測試平臺中。
傳統CAN存在的問題之一是延遲,這是因為如果總線已經處于忙狀態,那么組件在發送之前會產生不可預測的時延。業界已開發出一種被稱為時間觸發的CAN或TTCAN的新型總線,這種總線的頻寬是預先在時分再使用時隙內給組件分配好的。YOGITECH將很快推出適合這種類型總線的eVC。
現代汽車將透過使用更多的整合復雜度更高的電子組件提供更好的舒適性、成本效益和功能。在各種汽車模型間整合所有這些系統將導致成百個CAN組件的組合。為了確保消費者享受完美的系統,很有必要采用驗證工具,而Cadence的Specman Elite工具正是其中之一。
如何運用Specman Elite實現汽車CAN總線的全面驗證
更新時間: 2006-04-24 17:38:27來源: 粵嵌教育瀏覽量:1139