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