深圳大學信息工程學院 徐 淵 關則昂 劉 柳
深圳市振華微電子有限公司 張建國 邱紅燕
基于FPGA的1553B總線IP核低功耗設計
深圳大學信息工程學院 徐 淵 關則昂 劉 柳
深圳市振華微電子有限公司 張建國 邱紅燕
MIL-STD-1553B(以下簡稱1553B)總線控制器軟核主要描述了MIL-STD-1553B協議物理層和數據鏈路層的數字邏輯特性。功能包含總線控制器(BC)、遠程終端(RT)、總線監控器(BM)三種。用戶通過簡單的邏輯接口即可以在三種功能之間進行切換。在IP核RTL代碼設計中重點引入了低功耗設計中的門控時鐘技術和時序調整技術,大大降低了IP核的動態功耗。整個系統架構的設計與驗證是基于Xilinx公司的XC6SLX45T-3FGG484 FPGA芯片。IP核功耗分析工具采用Xilinx公司提供的XPower Analyzer軟件。通過對比測試,該IP核方案在滿足性能可靠的前提下能有效降低功耗。
MIL-STD-1553B總線;軟核;FPGA;低功耗
MIL-STD-1553B總線最早是由美國軍方專為軍用航天飛機、戰斗機定制的一種標準通信協議。該協議采用數字命令/響應式時分制多路傳輸數據總線,速度達到1Mbps,具有雙向輸出特性,實時性和可靠性高等諸多優點。因此廣泛應用在當代的各類型航天、航空設備。
由于1553B協議總線特殊的應用場合,使得1553B總線控制器需要滿足很高的穩定性和可靠性,同時對于功耗的要求非常苛刻[1]。因此研究開發一款既能滿足性能要求,同時具有較低功耗的1553B總線控制器,具有十分重要的意義。
論文分四部分。首先介紹1553B總線相關原理,然后結合原理介紹1553B總線IP核工作流程,第三部分結合軟核結構來分析介紹IP核低功耗技術,第四部分總結論文。
1553B協議:
1553B總線網絡拓撲結構如圖1所示,主要包括總線控制器(BC)、遠程終端(RT)和總線監控器(BM)三部分[2]。

圖1 網絡拓撲結構
總線控制器(BC)主要用于管理和調度總線上的信息傳遞。在任何時刻,總線上只有一個總線控制器。遠程終端(RT)主要用于外掛子設備,接收和反饋BC的命令信息。在協議中RT最多只能外掛31個子設備,并且每個子設備都分配唯一的地址。總線監控器(BM)主要用于監控總線信息,記錄總線上信息的傳遞,它不影響總線上其他設備之間的交互,同時它也不會應答BC的指令。
2.1 1553B軟核架構
1553B軟核支持BC、RT和BM三種功能模塊,兼容MILSTD-1553B標準,同時支持自動重傳功能、大容量數據緩存、動態總線控制功能、內部自檢電路功能、中斷方式可配置、支持總線重試與消息重試等功能[3][4]。針對不同的功能,通過狀態機之間的跳轉來實現。
1553B軟核的結構框圖如圖2,軟核結構主要分為用戶接口、寄存器模塊、功能切換模塊、高速緩存模塊、校驗模塊和編解碼模塊六部分[5]。

圖2 lP核結構框圖
IP核的用戶控制端口,包括時鐘與復位信號、讀寫使能、地址數據有效信號、片選信號、地址數據復用總線信號、中斷、輸入輸出串行數據信號。如圖3和4,分別為用戶接口讀寫時序,利用數據總線和地址總線共用,能有效降低整個軟核管教數量。用戶通過地址譯碼方式,可以配置IP的波特率、中斷使能、復位等,同時也可以將數據存入緩沖區。

圖3 寫時序簡圖

圖4 讀時序簡圖
鏈路層主要負責生成幀結構、數據緩存、功能切換以及握手應答機制。其中握手應答機制如圖5。對于發送端,幀緩存主要用于存儲當前幀,當應答出錯或者應答時間t超過了等待時間tm時,從幀緩存區讀出之前發送數據,重新傳輸。當應答正確且在等待時間tm內時,則繼續從大容量緩沖區讀取數據,并編碼發送。對于接收端,解碼接收到的數據,在檢驗的同時,緩存當前幀,當校驗無誤時,將緩存的有效數據存入大容量緩存區,并且將應答幀延時時間td后發送,如果校驗錯誤,停止將數據存入大容量緩存區,同時將帶有錯誤標示符的應答幀延時時間td后發送。

圖5 握手應答機制

圖6 功能切換單元
功能切換模塊提供三種不同的邏輯功能,根據用戶需要在總線控制器、遠程終端、總線監控器之間切換。如圖6所示,通過用戶接口來配置用戶模式選擇寄存器,根據寄存器位信息選擇BC、RT或者BM。在運行過程中, BC可以通過方式代碼來發送動態總線控制命令切換當前狀態,將目標RT轉變為BC,同時自身變為RT。
物理層主要負責校驗和編解碼[6]。
校驗模塊主要完成對發送和接收的數據進行校驗。1553B總線采用奇偶檢驗方式。
編解碼模塊主要完成對1553BIP核的數據字、指令字、和狀態字進行編解碼。根據協議,物理層采用曼切斯特II型編碼,信號以串行數字脈沖編碼調制(PCM)形式在數據總線上傳輸。
2.2 BC設計
總線控制器BC負責發送指令,參與數據字的傳輸,以及接收遠程終端發送的狀態信息。任何時刻總線上只有一個總線控制器在執行總線控制功能。
圖7為BC電路框圖,主要分為緩沖區狀態檢測、數據緩存、提取屬性值、狀態跳轉和應答五部分。緩沖區狀態檢查和數據緩存模塊主要實現自動讀取用戶輸入數據。讀取數據個數由提取屬性值模塊決定。提取屬性值模塊完成提取關于傳輸方向、子地址/方式以及數據字計數或者方式代碼等信息。狀態跳轉模塊會根據提取屬性值模塊提供的信息,進行功能模塊之間的跳轉。譬如當需要完成動態總線控制功能時,狀態機會自動跳轉到實現動態總線控制功能的狀態機,完成相應的功能。當功能完成時則進入應答模塊,應答模塊會等待RT的應答信息,根據應答來判斷功能跳轉。應答模塊工作原理可以參考握手應答機制。

圖7 BC電路框圖
BC流程圖如圖8,整個流程分為三部分,分別為狀態檢測、發送控制和接收控制。

圖8 BC流程圖
2.3 RT設計
RT主要對總線控制器發送的有效指令做出響應,并且按照有效指令字規定的功能進行操作。
圖9為RT電路框圖,其中地址檢測模塊主要完成目標地址與RT本地地址檢測,當目標地址與RT地址一致時,或者目標地址為廣播地址時,開始接收總線數據,當不一致時則不接收。緩存和校驗模塊主要完成有效數據的存儲和校驗,其中緩存數據個數由提取屬性值模塊決定。提取屬性值模塊和BC電路框圖中的提取屬性值模塊功能一致,用于提取指令字中有效的屬性信息。狀態跳轉模塊根據提取屬性值模塊提供的信息做相應的功能跳轉。延時應答負責完成整個應答過程。

圖9 RT電路框圖
RT工作流程如圖10所示,流程圖主要分為信息識別狀態、接收處理數據狀態和應答狀態。

圖10 RT流程圖
2.4 BM設計
BM功能比較簡單,主要用于存儲總線上所有有效數據信息,包括總線控制器發送的指令和數據,以及遠程終端發送的應答和數據。
BM的電路框圖如圖11所示,分為解碼模塊和大容量緩存。當總線上有數據或者指令傳輸時,通過解碼模塊,將所有數據存入大容量緩存區。

圖11 BM電路框圖
圖12為BM流程圖,包括兩個狀態,idle和bm_data狀態。Idle空閑狀態主要負責檢測1553B總線信息,當檢測到有效的信息字(包括指令字、數據字和狀態字)時,在bm_data狀態將有效信號保存在緩沖區中。在BM中檢測總線信號時,不會考慮信號類型和信號ID。

圖12 BM流程圖
2.5 1553B總線控制器軟核功能仿真
為了驗證1553B控制器軟核的邏輯功能,在modelsim環境下搭建合適的測試平臺。在測試過程中,測試BC向RT發送數據和接收數據、RT向RT發送數據等。經過一些列測試之后,結果表明本文設計的1553B軟核邏輯功能符合協議要求。BC向RT發送數據仿真結果如圖13。

圖13 1553B功能仿真
1553B軟核設計中,很多地方都考慮到低功耗的設計方法。主要體現在門控時鐘技術、時序調整技術以及預計算技術等。通過低功耗的設計方法,能有效降低整個軟核的功耗。
3.1 低功耗設計技術
在IC設計時,功耗是繼頻率和面積之后又一關鍵參數,它直接影響到IC的工作性能和適用領域。通常IC功耗來源有三種,分別是動態功耗(又稱跳變功耗)、直通功耗(又稱短路功耗)和靜態功耗(又稱漏電流功耗)[7][8][9]。

從公式二可以看出對于動態功耗,可以采取降低工作電壓和頻率、減小負載電容以及跳變因子來實現;對于直通功耗一般采取改善電路工藝、降低工作電壓來實現;對于靜態功耗可以通過降低CMOS管W/L尺寸、減小閾值電壓實現。
在數字邏輯電路設計中,一般采取降低時鐘頻率、減小平均翻轉比例以及縮小電路規模三種方法來實現[10]。
3.2 門控時鐘技術
在IC動態功耗中,因為信號翻轉而導致的功耗在整個動態功耗中占有很大比例。翻轉功耗是由CMOS器件的輸出端的負載電容因為經常充放電而導致的。通常,在IC工作時,很大一部分的信號翻轉來自時鐘信號,而且時鐘網絡在IC內部分布廣泛,因此降低時鐘信號的平均翻轉比例在IC低功耗設計中具有十分重要的意義。門控制時鐘技術是減小平均翻轉比例的有效途徑。
通常,時鐘信號直接連接到觸發器的時鐘端口,當觸發器檢測到時鐘信號邊沿跳變時,將輸入信號輸出。但是當輸入信號不發生變化或者處于無效信號時,此時時鐘信號依然在工作,這樣會導致翻轉功耗。門控時鐘是通過邏輯電路來控制時鐘的跳變。如圖14,觸發器的時鐘端口是通過邏輯控制,當輸入信號有效時,開啟時鐘信號,當時鐘信號無效時,通過邏輯控制來關閉時鐘信號,這樣能有效減小平均翻轉比例,降低動態功耗。

圖14 門控制原理
在1553B軟核中,物理層編碼采用了門控時鐘技術。用于發送數據的時鐘受到系統邏輯控制,當需要發送數據的時候,才產生時鐘信號,不需要發送時,時鐘停止。
如圖15所示,tx_clk時鐘信號受輸入信號控制。當需要輸出有效數據時,tx_clk時鐘信號正常工作,否則停止工作。

圖15 1553B門控邏輯仿真
3.3 時序調整技術
時序調整技術主要是采用多種時鐘域,根據邏輯電路的需要合理劃分時鐘的一種方法。該方法能有效降低整體系統的時鐘頻率,減少門的翻轉頻率,從而減小系統動態功耗。
在1553B軟核設計中采用了時序調整技術。由于1553B的串行數據總線波特率最大為1Mbps,因此在系統物理層邏輯設計時采用了較低的時鐘頻率,而為了提高IP核用戶接口與其他控制邏輯接口之間的傳輸性能,在用戶端口電路設計時采用較高的時鐘頻率。通過時序調整技術,使IP核物理層邏輯電路處于較低的頻率,這樣降低了系統動態功耗。如圖16為系統時鐘域設計,圖中core_clk為用戶接口時鐘,clk_en_de為解碼器時鐘, clk_en_e為編碼器時鐘。

圖16 1553B時鐘信號仿真
時序調整技術面臨的最主要難題是亞穩態問題,通常解決亞穩態有同步緩存鏈、頻率展寬、握手、異步fifo等,在本IP核設計時采用異步fifo來實現,具體電路框圖如圖17所示。
通過異步FIFO將用戶端時鐘域core_clk與編碼時鐘域clk_en_e和解碼時鐘域clk_en_de隔離開,有效避免了亞穩態問題,使整個系統運行更穩定。
3.4 并行隔離技術
并行隔離技術實際上是通過將不同功能的邏輯單元分離開,減小各個功能模塊之間的關聯。當運行其中某項功能時,其它功能模塊不工作,這樣通過減小整個系統的有效工作面積,達到降低功耗的目的。

圖17 1553B跨時鐘域框圖
1553B軟核包含三種功能,分別為BC、RT和BM。三種功能沒有很強的依賴關系,這樣在邏輯代碼開發時,將三種不同的邏輯功能分離開,當用戶選擇其中某一功能模塊時,另外兩個功能模塊處于休眠的模式。當BC啟動動態總線控制命令可以激活IP核進入RT工作模式,此時充當總線控制器的功能模塊由激活狀態進入休眠狀態,從而達到降低功耗的目的。如圖18在系統中主要完成功能切換,通過接口單元,用戶可以選擇三種不同的功能,其中控制邏輯單元是為了實現總線控制器和遠程終端之間實現動態總線控制功能。

圖18 1553B并行隔離技術框圖
3.5 1553B低功耗設計結果與分析
本論文主要側重于1553B控制器軟核開發,由于軟核具有可移植性,導致在不同的硬件平臺功耗不同。本論文設計是基于Xilinx公司的XC6SLX45T-3FGG484芯片,該芯片采用金屬銅45nm低功耗設計工藝,屬于目前比較成熟的設計工藝。該芯片價格低廉、應用廣泛,具有較高的代表性。功耗設計軟件采用Xilinx公司提供的XPower Analyzer軟件,該軟件可以對可編程邏輯器件的功耗進行分析。軟件主要輸出文件為PWR文件,即功耗報告文件,該文件主要從靜態功耗和動態功耗兩個角度對系統進行分析。

表1 功耗對比分析(25℃,mW)
由表1可知,經過低功耗設計之后,優化后動態功耗下降了26%,說明通過三種低功耗設計方法,能有效降低系統的動態功耗。
由于靜態功耗主要由晶體管的漏電流和FPGA的偏置電流引起,它與工藝和晶體管的特性有關,這些與FPGA本身決定,與邏輯代碼設計無關,因此圖中靜態功耗值優化前后相同。
表2是1553B軟核基于XXC6SLX45T-3FGG484芯片整體功耗和目前主流1553B協議芯片功耗對比。從表中可以明顯看出,本文設計的1553B控制器方案,相比目前芯片在功耗方面具有明顯的優勢。

表2 同類產品功耗分析
本文在介紹了1553B總線相關協議及工作原理之后,采用自頂向下的設計流程,設計并實現了符合1553B標準協議的軟核。在軟核開發過程中使用了一系列的設計方法來降低功耗,包括門控時鐘技術、跨時鐘域技術以及并行隔離技術等來,通過這些方法有效的降低了1553B控制器功耗。
[1]張偉功,段青亞.航天器總線管理系統的SOC設計與研究[J].宇航學報,2005,05.
[2]Microsemi.Core1553BRM v4.0 Handbook .2014,01.
[3]王冬偉,孫越強,杜起飛,等.基于BU-61580與USB的MILSTD-1553B總線控制卡的設計[J].科學技術與工程,2012,12(11).
[4]周密,金惠華,尚利宏,李化云.1553B總線協議IP核設計與實現[J].電子器件,2007,39(1).
[5]申志永,胡昌華,何華鋒,等.MIL-STD-1553B總線發送器IP核設計[J].現代電子技術,2011,34(12).
[6]高飛,初曉軍.USB接口USB的MIL-STD-1553B轉換器的應用研究[J].計算機與數字工程,2008,223.
[7]謝鶯.CAN控制器的低功耗設計[J].電子測量技術, 2010,33(10).
[8]梁允萍,章成旻,李燁.數字IC低功耗設計綜述[J].電子科學,2009.
[9]鐘濤,王豪才.CMOS集成電路的功耗優化和低功耗設計技術[J].微電子學,2000,30(2):106-112.
[10]萬娟,武杰,孔陽.低功耗FPGA電子系統優化方法[J].電子技術應用,2010,12.

圖4 觸面屏畫面結構
本設計以Atmega128單片機為主控核心,利用其強大的處理能力和較豐富的外圍接口,合理的選用內部豐富的資源來滿足整個系統設計的要求。故障檢修裝置系統模塊已測試正常,能實現以下功能:通過觸摸屏設置故障訓練三種模式、各個單元模塊均能得到合理控制、控制系統電源模塊穩定輸出、各個單元板電路都能正常設置和取消故障點。通過系統聯機調試,故障檢修裝置能實現基本的功能要求,達到了預期的控制效果。
參考文獻
[1]黃繼昌,申冰冰.電子元件故障與檢測[M].中國電力出版社.
[2]張連飛.電子技術基礎與技能[M].人民郵電出版社.
[3]諸林裕.電子技術基礎[M].中國勞動社會保障出版社.
[4]劉法治.維修電工實訓技術[M].清華大學出版社.
[5]胡斌.電子電路從識圖到檢修[M].人民郵電出版社.
[6]馬潮.高檔8位單片機ATmega128原理與開發應用指南[M].北京航空航天大學出版社.
徐淵(1978—),男,博士,講師,主要研究方向為集成電路設計、數字系統設計。
關則昂(1988—),男,碩士,主要研究方向為數字系統設計。
劉柳(1987—),男,碩士,主要研究方向為數字系統設計。
張建國(1961—),男,資深工程師,主要從事電子通訊行業工作,主要研究方向為電子通訊、圖像處理及電子電源系統。
邱紅燕(1968—),女,資深工程師,從事電子產品行業,主要研究方向:各種電子產品技術發展與質量檢測和管控,以及體系認證。
深圳市科技創新委員(JCYJ20120613104353889)。