李 俊,張曉濛,黃 凱,嚴曉浪
(浙江大學超大規模集成電路設計研究所,杭州310027)
多標準通信協議的可配置外設控制器設計
李 俊,張曉濛,黃 凱,嚴曉浪
(浙江大學超大規模集成電路設計研究所,杭州310027)
針對目前片上系統(SoC)低功耗低成本與接口協議多樣化的特點,分析多種常用外設接口協議,提出一種多標準通信協議的可配置接口控制器架構。該架構設計支持硬件重構和軟件配置,通過可配置狀態機實現多標準通信協議。在SoC設計中控制器可取代多個外設接口,從而減少芯片面積和功耗,降低整體成本。實驗結果表明,該控制器架構能兼容I2C,SPI,UART等常用外設接口,與I2C,SPI,UART三者總和相比,面積節省65.2%,功耗節省67.8%。
片上系統;面積;功耗;通信協議;控制器
DO I:10.3969/j.issn.1000-3428.2015.10.004
隨著集成電路制造工藝的不斷進步與嵌入式應用的快速發展,片上系統(System on Chip,SoC)芯片在嵌入式領域的應用日益廣泛[1]。標準化通信接口(I/O)作為設備之間信息交流的主要通道,是SoC芯片不可或缺的部分。為滿足不同速度不同功能的通信需求,工業界和學術界均提出了眾多接口協議,包括I2C,UART,SPI,PWM等。為了能夠兼容多種接口協議從而擴大SoC的應用領域,SoC設計者通常在芯片中集成多個符合不同接口協議的IP模塊,但這樣明顯增加芯片面積、功耗和封裝引腳數,導致芯片成本的上升。因此,如何利用有限的面積、功耗和引腳數目兼容多種接口標準已成為嵌入式SoC產品開發的困難與挑戰之一。
為了減少封裝引腳,SoC設計者往往采用引腳復用技術[2],通過軟件配置來實現不同接口之間的切換,在實際使用中每個時刻僅有一個外設接口處于工作狀態,其余的冗余接口導致面積和功耗的浪費。文獻[3]提出了一種兼容I2C和SPI的設計架
構。該架構通過軟件配置,支持2種協議的寬頻帶通信以及協議之間的轉換。文獻[4]提出了一種兼容UART和SPI的架構,該架構能夠同時兼容異步和同步傳輸。在一定程度上,這種設計能在兼容2種協議情況下有效減少SoC面積與功耗。但如果SoC需要與多種外設接口通信時,該設計無法提供有效的支持,在靈活性上有所欠缺。
針對目前SoC設計中通信接口的設計缺點,本文提出一種靈活可配置多標準通信接口設計架構。該架構通過硬件資源復用和引腳復用技術,由用戶軟件配置使單個IP模塊能兼容多種接口協議(如UART,SPI,I2C,PWM等)。
目前工業界通信接口協議具有多樣化、復雜化和異構化的特點:通信協議按照時鐘類型分為同步模式(Synchronous)和異步模式(Asynchronous),如SPI和UART;按照數據信息的傳輸方向分為雙工、半雙工和單工通信過程;按照傳輸設備的相互關系分為主從(M aster-Slave)模式和對等模式;按照通信速度可分為高速接口(USB2.0)和低速接口(I2C)。為了使一個接口IP模塊在兼容多個通信標準同時盡量減少面積、功耗和引腳的開銷,通信協議在以上幾個方面必須具有相似性。下文通過不同協議的特點,從工作模式、通信數據格式等多方面來分析多種協議的特性與控制器支持的協議格式。
表1列舉了常用接口IP協議包含的特性,根據應用協議,在接口的工作模式(1)下,協議可支持下述(2)~(6)等不同的特點。工作模式不但規范了協議特點,而且也確定了引腳復用,如圖1所示。

表1 常用接口IP特性

圖1 引腳復用
外設接口在不同的工作模式下需要不同的引腳,如同步工作模式下引腳需要有時鐘信號而異步工作模式下引腳則無需時鐘信號。因此,在定義可配置接口時需要考慮最大的引腳數目。在具體某種工作模式下,由于只有部分的引腳有作用,因此對引腳進行復用即可。具體的引腳復用情況需視接口的工作模式而定。參考I2C,SPI,UART,PWM等常用的外設接口,發現它們具有很大的共性,只要設計的IP模塊支持以下功能就能兼容這些協議:(1)接口工作在主從模式或對等模式[5];(2)協議支持大端或小端;(3)協議支持同步模式或異步模式;(4)通信過程中支持雙工,半雙工或單工傳輸模式;(5)通信的波特率[6];(6)發送/接收緩存區(TX/RX FIFO)。
不同開關的組合可以確定不同的接口引腳,表2列舉了兼容常用接口 IP時的開關組合情況。在多標準接口IP設計中,除了能夠兼容各種接口的傳輸模式和引腳以外,還必須考慮傳輸的數據格式。通過傳輸數據格式的重構,實現可配置外設接口協議[7]。通過對幾種常用接口協議的數據格式進行分析可知,數據格式可以拆分為3個基本組成部分:數據位,地址位,控制位。控制位根據需要可以具有多樣性,主要包括:協議起始位和終止位,校驗位,響應位等。由于某些應用場合對協議要求的特殊性以及協議控制位的多樣性,可配置接口控制器為兼容常用標準及非標準協議增加了通用控制位。通用控制位的位寬及電平均可配置。因此,通過以上分析,本文中所提出的可配置接口控制器的協議需由4個部分組成:數據位,地址位,一般控制位,通用控制位,如圖2所示。控制器在協議層對各協議各部分進行組合,從而可以兼容多種外設接口協議標準。

表2 引腳復用的應用情況

圖2 控制器協議
根據上述分析,控制器若要兼容多種常用外設接口,則信號發生器必須能根據應用隨時更改協議。信號發生器由狀態機控制,故需要可配置狀態機[8]來控制可配置協議。
控制器需要支持多種外設接口協議,則可配置性是關鍵。硬件配置可以根據應用需求刪除不必要的模式和實現邏輯,節省面積功耗;軟件配置可以提高控制器的靈活性,達到兼容多種外設接口協議的目的。本文從硬件配置和軟件配置2個部分考慮設計架構,如圖3所示。控制器主要分成3個部分:控制器接口部分,主要是與AMBA總線,DMA控制器等通信的接口控制信號;狀態機部分,包括可配置狀態機和常用狀態機,可配置狀態機用于實現靈活可配置的協議,常用狀態機用于實現常用外設接口協議,如I2C,SPI,UART等;信號發生器部分,由狀態機控制的協議層信號部分,包括數據流的發送或接收、同步時鐘信號等。實際使用過程中通過軟硬件的協同配合能夠達到兼容多種外設接口協議的目的。

圖3 控制器設計架構
3.1 可配置硬件
外設接口的應用場合不同,則需實現的硬件模塊也不相同,例如異步通信過程無需接口頂層的低頻時鐘來進行同步。因此,控制器設計需根據不同的應用場合實現不同的硬件模塊,去掉不必要的硬件邏輯,減少面積功耗。如圖3設計架構所示,控制器按照硬件可配置性主要可分為2個部分:(1)設計實現的基本框架,例如保存通信信息的狀態寄存器等,該部分由確定的硬件邏輯實現;(2)與可配置協議相關的控制邏輯與狀態轉換邏輯,該部分邏輯的硬件實現由實際應用決定[9]。其中,硬件可配置部分主要包括狀態機實現,控制器頂層低頻時鐘信號發生模塊,發送/接收緩沖區深度,DMA控制接口等。
狀態機實現主要包括可配置狀態機和常用接口狀態機兩部分。應用過程中需選擇一種狀態機兼容接口協議。其中可配置狀態機為軟件可配置,該狀態機控制信號發生器兼容常用的外設接口標準協議與非標準協議,通過引腳分時復用實現與多種外設接口的通信;常用接口狀態機主要是針對應用較多的外設接口,如I2C,SPI,UART,PWM等,此時控制器只能兼容特定的外設接口協議。通過2種狀態機的劃分以及實現,該控制器能夠很好地兼顧靈活性并減少面積功耗。另外,此設計還可以根據通信協議支持同步或異步來確定是否實現頂層的低頻時鐘信號,根據應用場合確定發送/接收緩沖區深度,以及根據需求確定是否實現DMA控制接口。硬件可配置能夠最大限度地利用硬件資源,減少不必要的資源浪費。
3.2 可配置軟件
在硬件架構的基礎上,使用者通過軟件配置能夠更好地操作控制器兼容多種外設接口協議。傳統的狀態機有確定的輸入輸出,確定的狀態以及狀態轉換關系[10]。而可配置狀態機則可通過軟件配置確定不同的狀態以及各狀態間的轉換關系,實現狀態機多樣化,兼容多種接口協議。如圖4所示,可配置狀態機的實現主要由兩部分組成:狀態轉換邏輯和輸入控制邏輯[11]。狀態轉換邏輯確定可配置狀態機的狀態以及狀態之間的跳變關系;而輸入控制邏輯直接控制狀態的跳變時刻。

圖4 可配置狀態機
圖中通過I2C舉例說明了可配置狀態機的工作原理。狀態轉換邏輯確定兼容I2C協議時包含的狀態及狀態機之間跳變關系。在當前狀態根據轉換邏輯編碼獲取下一狀態。圖中JUMP-4和JUMP-8狀態可根據當前收到數據不同而指定不同的下一狀
態,下一狀態可以是狀態轉換邏輯中的任意一個狀態;而其余的狀態均是對I2C協議進行數據處理的狀態。狀態機跳變的時刻由寄存器存儲的計數器控制,計數器達到特定的數值則狀態發生跳變。狀態轉換邏輯本質上是一個查找表(Look Up Table)[12]。查找表中存儲了狀態機信息,每個狀態信息由轉換邏輯編碼。查找表中存儲的狀態包括兩部分:數據處理狀態和跳變狀態。在數據處理狀態,控制器處理協議中的相關信息,包括發送/接收數據或者檢測數據流。協議信息處理完之后,狀態機的下一個狀態由查找表的下一個狀態決定。與之對應,跳變狀態并不處理數據,而是確定當前狀態的下一狀態,下一狀態可以是查找表中的任意一個狀態。跳變狀態能夠很好的拓展協議的靈活性,使控制器能夠兼容更多地標準/非標準接口協議。
輸入控制邏輯主要由兩部分組成:寄存器(register)和計數器(counter)。與單一協議不同,控制器需要支持多種協議,因此其必須存在多個計數器以確定協議各部分的長度。每個計數器與狀態機一一對應,在特定的狀態下,相應的計數器才有效。寄存器存儲了多個計數器的值,同時也存儲了一些協議的基本信息,例如,協議支持大端還是小端,是否支持奇偶校驗等。寄存器和計數器共同作用,增加了控制器的靈活性。
可配置控制器根據不同的應用實現不同的硬件設計。基于杭州朔天微系統平臺,選取 CK803[13]作為主控處理器,本文介紹了不同配置情況下控制器的實現方式。
如圖5所示,根據用戶配置產生IP與SoC的過程:(1)在GUI界面中用戶規范整個SoC設計,包括添加的IP模塊、各IP模塊的配置、模塊之間的互聯等;(2)design parser工具對GUI界面進行解析,并將獲得信息存儲在 design.xm l文件中。(3)將design.xm l文件備份后,根據該文件配置SoC平臺并從IP庫中拷貝IP原始代碼。(4)IP-GEN工具根據每個IP的配置對IP原始代碼進行修改,修改后的IP掛載于AMBA2.0總線上[14]。根據上述過程可以快速獲得不同配置下的IP設計與SoC系統設計。
在不同配置下實現的控制器面積功耗也不相同。表3列出了控制器模式下的面積功耗及其比較結果,其中,pclk=50 MHz。在SM IC13工藝,內置的發送和接收緩沖區深度為16的前提條件下,本文將可配置外設接口控制器與Syposysy DesignWare的接口IP進行面積和功耗對比。與單一的外設接口相比,控制器的面積功耗均有增加,但考慮到控制器能夠兼容多種外設,其整體的面積功耗與 I2C,SPI,UART之和相比分別減少了65.2%和67.8%,在SoC應用中能夠達到更高的能效比。

圖5 控制器實現方式

表3 面積功耗比較
本文描述一種可配置外設接口控制器的ASIC實現方法,并將其集成于 SoC中進行性能分析。該控制器能夠支持常用的外設接口協議,并可由用戶配置。在相同條件下,將本文提出的控制器和其他外設接口的面積功耗相比較,本文控制器架構都具有較大優勢。因此,在SoC中用可配置控制器代替外設接口,可以減少整體的芯片面積和功耗。
[1] Blaner B,Czenkusch D,Devins R,et al.An Em bedded Pow er PCTMSoC for Test and Measurement Applications[C]//Proceedings of the 13th Annual IEEE International on ASIC/SOC Conference.Arlington,USA:IEEE Press,2000:204-208.
[2] Integrated M.MAX14850 Six-channel Digital Isolator[EB/OL].(2014-12-08).http://datasheets.maximintegr ated.com/en/ds/MAX14850.pdf?utm-source=eefocus &utm-medium=banner&utm-content=Q115AFE Solutions &utm-campaign=Minisite&utm-term=MAX14850.
[3] Bacciarelli L,Lucia G,Saponara S,et al.Design,Testing and Prototyping of a Software Programmable I2C/SPI IP on AMBA Bus[C]//Proceedings of the 2nd IEEE Microelectronics and Electronics Conference.Otranto,Italy:IEEE Press,2006:201-209.
[4] Blessington T P,Murthy B B,Ganesh G V,et al. Optimal Implementation of UART-SPI Interface in SoC[C]//Proceedings of 2012 International Conference on Devices,Circuits and System s.Coimbatore,India:IEEE Press,2012:673-677.
[5] Yeung M K H,Yu K K.Energy Efficient Media Streaming Inwireless Hybrid Peer-to-Peer Systems[C]// Proceedings of IEEE International Symposium on Parallel and Distributed Processing.Miami,USA:IEEE Press,2008:1-11.
[6] 孫令明,張愛春,孫曉東,等.通信信號波特率的盲估計[J].長春理工大學學報:自然科學版,2010,33(3):75-79.
[7] Yun Chang-Yu,Jhang Kyoung-Son.An Interface Protocol Component Modeling Language[C]// Proceedings of the IEEE AISC/SOC’02.Rochester,USA:IEEE Press,2002:456-460.
[8] Angelov U,Ke Xu,Guo Yu,et al.Reconfigurable State Machine Component for Em bedded Applications[C]// Proceedings of the 34 th Euromicro Conference on Software Engineering and Advanced Applications. Parma,Spain:IEEE Press,2008:51-58.
[9] 陳 超,曾曉洋,章倩苓,等.一種新型硬件可配置公鑰制密碼協處理器的VLSI實現[J].通信學報,2005,26(1):11-16.
[10] Rietsche G.State Assignment for Finite State Machine Using T Flip-flops[C]//Proceedings of Design Automation Conference with EURO-VHDL.Ham burg,Germany:IEEE Press,1993:396-401.
[11] Carlos J,Ramos P,Verhelst M,et al.Flexible,Ultra-low Power Sensor Nodes Through Configurable Finite State Machines[C]//Proceedings of the 8th International Workshop on Reconfigurable and Communication-centric System s-on-Chip.Darmstadt,Germany:IEEE Press,2013:1-7.
[12] Mitkas P A,Irakliotis L J,Beyette F R,et al. Optoelectronic Look-up Table Using VCSEL-based Logic[C]//Proceedings of Laser and Electro-Optics Society Annual Meeting.San Jose,USA:IEEE Press,1993:71-72.
[13] Zhou Hang.CK803 Introduction[EB/OL].(2012-12-08).http://www.c-sky.com/product.php?typeid=84.
[14] AMBA Specification Rev 2.0[EB/OL].(2012-12-08).http://infocenter.arm.com/help/index.jsp?topic=/ com.arm.doc.set.amba/index.htm l.
編輯索書志
Design of Reconfigurable Peripheral Controller with Multiple Standard Communication Protocol
LI Jun,ZHANG Xiaomeng,HUANG Kai,YAN Xiaolang
(Institute of VLSI Design,Zhejiang University,Hangzhou 310027,China)
Aiming at design features of System on Chip(SoC)with low power consumption,low cost and variety of the interface protocol,multiple commonly used peripheral interface protocols are analyzed,and an architecture of the reconfigurable peripheral controller with flexible multiple communication protocols is proposed.The design supports hardware reconfiguration and software configuration.Multiple standard communication protocols are supported with the configurable finite state machine.The controller can replace multiple peripheral interfaces in the design of SoC,which results in less area and power consumption and reduces the overall cost of the chip.Experimental results show that the architecture of controller is compatible with the commonly used peripheral interface such as I2C,SPI,UART,etc.It achieves 65.2%of area occupation savings and 67.8%of power consumption savings when com pared with the combination of I2C,SPI and UART.
System on Chip(SoC);area;power consumption;communication protocol;controller
李 俊,張曉濛,黃 凱,等.多標準通信協議的可配置外設控制器設計[J].計算機工程,2015,41(10):14-19.
英文引用格式:Li Jun,Zhang Xiaomeng,Huang Kai,et al.Design of Reconfigurable Peripheral Controller with Multiple Standard Communication Protocol[J].Computer Engineering,2015,41(10):14-19.
1000-3428(2015)10-0014-06
A
TP391
國家自然科學基金資助項目(61100074);國家電網智能電網研究院基金資助項目“新一代智能電網片上系統芯片關鍵技術研究”(SGRI-WD-71-13-014)。
李 俊(1990-),男,碩士研究生,主研方向:ASIC芯片設計,片上系統設計;張曉濛,博士;黃 凱,副教授;嚴曉浪,教授、博士生導師。
2014-11-06
2014-12-09E-m ail:lijunzjdy@126.com