<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 利用FPGA新特性實(shí)現高可靠性汽車(chē)系統設計

利用FPGA新特性實(shí)現高可靠性汽車(chē)系統設計

作者: 時(shí)間:2009-02-19 來(lái)源:網(wǎng)絡(luò ) 收藏

目前,中使用的復雜電子系統越來(lái)越多,而系統的任何故障都會(huì )置乘客于險境,這就要求設計出具有“高度”的系統。同時(shí),由于能夠集成和實(shí)現復雜的功能,因而系統設計人員往往傾向于在這些系統中采用 。不過(guò),將用于系統時(shí)需要關(guān)注兩個(gè)主要問(wèn)題:確保用于FPGA初始化的配置代碼正確無(wú)誤;防止器件工作時(shí)SRAM的內容遭到損壞。只有這些問(wèn)題得到徹底解決,FPGA才能成為高度可靠汽車(chē)系統的組成部分。幸運的是,目前通過(guò)AEC-Q100認證的FPGA已加入先進(jìn)的特性,能夠有效解決上述問(wèn)題。本文介紹的幾個(gè)方案可用于解決保護初始化配置和防止潛在的SRAM內容損壞的問(wèn)題。

本文引用地址:http://dyxdggzs.com/article/192163.htm

保護FPGA的配置


隨著(zhù)系統上電,基于SRAM的FPGA將從外部源加載其配置。引導源可以是存儲器件,如串行EEPROM或Flash ,也可以是智能器件,如微控制器。針對初始化位流,所有的FPGA都具有某種類(lèi)型的循環(huán)冗余校驗(CRC),在啟動(dòng)結束時(shí)進(jìn)行測試,檢驗傳送是否完整。如果在位流中檢測到一個(gè)差錯,FPGA將無(wú)法初始化。這可以防止系統產(chǎn)生錯誤的(也可能是危險的)操作。大多數的FPGA將通過(guò)對一個(gè)外部引腳置位,來(lái)告知系統控制器初始化失敗,請求另一個(gè)初始化序列,以期取得配置成功。在遇到以下幾種情況時(shí),會(huì )發(fā)生初始化位流的損壞情況:

* 引導存儲器的硬件故障

* 存儲器內容保存的問(wèn)題

* 蓄意篡改

* 存儲器內容被擦除

* 電氣噪聲


利用FPGA設計高的汽車(chē)系統時(shí),為了正確處理這些情況,必須遵循以下四個(gè)基本步驟:


第一步是使用具有片上閃存的非易失性SRAM FPGA。這改變了從外部存儲器引導配置載入FPGA內部的方式。采用將引導源移入同一塊芯片的方法消除了許多常見(jiàn)的初始化失敗模式。這種類(lèi)型的集成設計還提升了初始化速度,可在即時(shí)啟動(dòng)系統中使用這種FPGA。


第二步是添加一個(gè)可靠的外部自行引導器件(圖1) 。FPGA的一個(gè)主要特點(diǎn)是能夠現場(chǎng)重復編程。對汽車(chē)系統而言,這一特性允許下載新的程序,用于授權的現場(chǎng)更新,修復設計錯誤或添加額外的功能。不過(guò),在傳輸和對存儲器編程期間,數據流可能被損壞,而且損壞的數據流會(huì )阻止正確的FPGA初始化。為了應對更新過(guò)程中的損壞,在外部存儲器件中已復制了初始化代碼,稱(chēng)為“golden”的廠(chǎng)家備份。即便有任何問(wèn)題,存儲在內部存儲器的配置代碼都可以使該系統得到恢復。通過(guò)添加第二個(gè)引導器件,就能夠保證廠(chǎng)家備份,或至少可以具有“間接恢復”系統的功能。

圖1 FPGA雙引導系統


第三步是保護存儲在外部存儲器件中的位流備份,采用位流加密來(lái)保護引導配置代碼(圖2)。許多車(chē)用FPGA系列支持128位AES位流加密,以防止逆向工程和未經(jīng)授權地對設計進(jìn)行更改。在外部引導器件中存儲著(zhù)加密的配置代碼,可以在初始化時(shí)譯碼,然后再移入SRAM單元。同樣的加密機制也可以用來(lái)將一個(gè)新的配置代碼載入內部閃存。

圖2 外部引導的AEC譯碼或Flash編程位流。

第四個(gè)也是最后一個(gè)步驟是“鎖定”FPGA,以防止未經(jīng)許可進(jìn)入存儲配置。用非易失性FPGA內部的可編程寄存器控制對內部配置存儲器的訪(fǎng)問(wèn)??赡艿慕M合情況如下:1)解鎖。 2)可解密鎖定-通過(guò)編程接口提供的128位密鑰能夠使器件解鎖。3)永久鎖定-器件被永久鎖定。

為了進(jìn)一步加強器件的安全性,可用一次性可編程(OTP)模式。一旦器件設置成這個(gè)模式,就不可能擦除閃存的內容或對器件再次編程。

選擇車(chē)用級的通過(guò)AEC - Q100認證的非易失性FPGA時(shí),審查制造商的非易失閃存的耐久性和數據保存指標是很重要的,這將確保車(chē)輛運行時(shí)和處于貯藏溫度時(shí)FPGA都能正確保存其存儲器內容。例如,LatticeXP2是唯一非易失性的通過(guò)AEC - Q100認證的SRAM /Flash FPGA,它能滿(mǎn)足所有這些系統的要求。LatticeXP2的片上閃存允許大范圍地對整個(gè)器件進(jìn)行存儲器測試,確保即使器件在最高溫度下連續工作,至少10年內存儲器的內容都不會(huì )丟失。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA 新特性 可靠性 汽車(chē)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>