汽車制造商收到了這樣一張通知,被告知投資多年開發的,原本計劃還將生產10年的微控制器將要停產,而自己還正在使用這款器件,沒有什么比這再糟糕的事了。在過去幾年里,半導體供應商在整合和削減產品線時,有幾款曾經流行一時的微控制器和微處理器已被要求停產。
在過去,受到影響的制造商有兩個選擇:要么停產前一次性購買;要么重新設計產品。一次性購買會造成資金積壓的問題。至于重新設計,如果只是單純的線路板布局調整來支持不同的部件還算簡單,但要選擇一個新的微控制器系列則需要花費大量的軟件編寫和測試時間。
選擇不同的微控制器系列時,軟件兼容性是主要的障礙。大多數公司在軟件的開發,測試和驗證方面已經做了大量的投入。因此,將設計切換到一個新的架構時,通常需要復雜并且代價高昂的軟件移植。如果這個切換是在產品的生命周期中做出的話,為了確保硬件平臺之間沒有兼容性問題,生產商必須特別小心。
案例研究:尋求第三種選擇方案
一個發動機控制系統的制造商最近發現自己面臨著元件停產狀況。該制造商發現如果將沿用了15年的舊代碼移植到一個新的結構中, 并進行全面的功能測試的話, 需要花很多個人力年時間。而且由于之前的軟件團隊已經在做其他的項目,將不得不聘用另外的人員來做這項工作。在對這種架構變化做了時間和經費的評估之后,制造商開始尋找代碼和功能能與現有系統兼容的解決方案。
“第三種選擇”的解決方案是采用基于非易失性的FPGA ,諸如LatticeXP2 再加上與現有微控制器兼容的第三方知識產權(IP)核。萊迪思的合作伙伴Digital Core Design(DCD) 有一個與制造商要求非常相似的微控制器核。DCD提議修改現有的核,使其與停產器件的外圍設置相匹配(圖1) 。
圖1:DCD 微控制器的方塊圖。
制造商堅持要求新的解決方案必須與原系統的工作情況完全一致。外部和內部的時序,處理器的功能,甚至相同的二進制代碼無需修改就可以運行。這種兼容性的要求包括嵌入在原處理器代碼中的所有的 軟件定時循環。在硬件方面,這個解決方案必須與原來的微控制器在電路板上有相同的腳位,能連接到相同的接口。此外,還有防止未經授權修改配置的高安全性要求。
系統解決方案
非易失性的LatticeXP2 FPGA組合了SRAM和閃存技術,并將它們集成在同一塊芯片上。上電時,FPGA的配置以并行的方式從Flash復制到SRAM,從而初始化該器件并在不到2毫秒的時間就可以進入正常工作狀態(圖2) 。
圖2:LatticeXP2 功能一覽。
快速啟動功能使非易失FPGA輕而易舉地取代了ASSP微控制器,因為應用程序不必等待從外部存儲器加載FPGA配置的這樣一個過程。基于閃存的FPGA還包括在其邏輯內的一些安全特性,以防止未經授權的讀回或修改內部存儲器配置。這樣就保證不會發生任何未經授權的復制或篡改內部閃存配置的情況。
替代的硬件確定之后,最后一步就是讓軟件功能與原有的微控制器相匹配。DCD通過從自己容量巨大的庫中調用現有的已經測試和驗證的外設核,能夠滿足這種需求。然而,對于少量新的外設,在滿足原來微控制器的要求時需要特別小心。
設計者遇到的最大挑戰是數字FPGA沒有模擬轉換器,而原來的微控制器擁有8個模數轉換器通道。DCD編寫了IP以應對這一挑戰,用相同的軟件(控制和數據寄存器)接口至內部總線,而且可與各種外部串行和并行的ADC相連接。然后,只要選擇一個與原來微控制器具有相同轉換時序和精度的ADC即可。
圖3:夾層卡的設計。
制造商最后使用的解決方案是一個小的子板(圖3) ,其中有LatticeXP2 FPGA、ADC器件和時鐘發生器。PLCC可與制造商的PCD直接連接,并用引腳對引腳的方式直接替換了原來的微控制器。由于芯片內含有引導存儲器,因此減少了電路板上器件的數量,提供了一個較少器件的最終解決方案。
本文小結
產品淘汰的情況在汽車制造市場還將繼續發生,但是我們已經有了使用FPGA加上微控制器IP這樣的替代方案。具有快速啟動特性的LatticeXP2 FPGA為汽車制造業提供了一種安全小尺寸, 并且滿足長生命周期的解決方案。使用DCD的微控制器IP是一種快速且低成本高效益的方法來取代現有的微控制器,同時又保持了與原來系統完全相同的軟件兼容性。管腳兼容的解決方案使制造商可以集中精力驗證FPGA內的IP核,而不是對硬件和軟件進行全面的重新設計和驗證。