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