Xilinx FPGA的Fast Startup
系統分區
本文引用地址:http://dyxdggzs.com/article/125814.htm對于這種情形,系統分區是顯而易見(jiàn)的。我們把我們ECU設計分成作為高優(yōu)先級分區的系統處理器部分和作為低優(yōu)先級分區的應用處理部分。
這種設計與Virtex-6設計存在很多相似之處,但不同的是,我們用SPI取代BPI作為外置閃存的接口,因此必須用CAN控制器取代TFT控制器。上電后,系統控制器只有有限的時(shí)間引導并準備好處理第一個(gè)通信數據。由于ECU使用CAN總線(xiàn)用于通信,這個(gè)引導時(shí)間一般限制為100毫秒。按照傳統配置方法,使用帶低成本配置接口(如SPI或Quad-SPI)的大型Spartan-6很難達到如此嚴格的時(shí)序要求。而使用速度更快、更加昂貴的配置接口在汽車(chē)領(lǐng)域中是無(wú)法接受的。
測量裝置
對于SP605汽車(chē)ECU演示來(lái)說(shuō),我們在實(shí)驗室中進(jìn)行了測量,圖6給出了測量裝置。圖中左側是一個(gè)基于Spartan-3的X1500汽車(chē)平臺,它實(shí)現了針對CAN總線(xiàn)的網(wǎng)絡(luò )發(fā)包器,該發(fā)生器能夠收發(fā)CAN消息并使用硬件計時(shí)器測量CAN消息之間的時(shí)間。右側為目標平臺,它沒(méi)有直接與CAN總線(xiàn)相連,而是使用來(lái)自額外的定制電路板的CAN收發(fā)器。除了提供一個(gè)CAN PHY之外,這個(gè)定制電路板還要控制目標電路板的電源。

圖6 – 汽車(chē)ECU的測量裝置
測量配置時(shí)間的程序從網(wǎng)絡(luò )發(fā)包器處于空轉(空檔)狀態(tài)下開(kāi)始,此時(shí)CAN PHY電路板上的CAN收發(fā)器也處于睡眠模式,SP605也與電源斷開(kāi)。接著(zhù),網(wǎng)絡(luò )發(fā)包器啟動(dòng)一個(gè)硬件計時(shí)器并發(fā)送一條CAN消息。識別CAN總線(xiàn)上的事件后,CAN PHY被喚醒并重新讓SP605接通電源。然后FPGA開(kāi)始載入來(lái)自SPI閃存的初始比特流。
由于沒(méi)有接收器確認由網(wǎng)絡(luò )發(fā)包器發(fā)送的消息,這條消息立刻重復發(fā)送,直至FPGA已經(jīng)完成其配置并用有效的波特率配置了CAN內核。一旦Spartan-6設計的CAN內核確認了這條消息,網(wǎng)絡(luò )發(fā)包器的CAN內核將觸發(fā)一個(gè)中斷,由這個(gè)中斷停止硬件計時(shí)器。該計時(shí)器現在保存著(zhù)SP605設計的引導時(shí)間。測量結果包括SP605設計內一個(gè)額外的硬件計時(shí)器,此結果表明,當執行該軟件來(lái)配置內置BRAM內存的CAN內核時(shí),軟件啟動(dòng)時(shí)間可以忽略不計。
表3表示每個(gè)分區的FPGA資源消耗。百分比信息是用來(lái)表示使用的XC6S45LXT器件的有效資源的總數量。

表3 – Spartan-6設計中占用的FPGA資源

表4 – 測得的Spartan-6配置時(shí)間
評論