《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 高性能主從模式動態可重構的SPI IP核設計
高性能主從模式動態可重構的SPI IP核設計
2018年電子技術應用第3期
魏朋博1,2,張存德1,2,黃 翔1,2,虞致國1,2,顧曉峰1,2
1.物聯網技術應用教育部工程研究中心,江蘇 無錫214122;2.江南大學 電子工程系,江蘇 無錫214122
摘要: 為滿足系統芯片(SoC)中的串行外設接口(SPI)靈活配置的要求,設計了一種既可作為主機又可作為從機、支持4種數據傳輸模式、允許7種時鐘傳輸速率的SPI IP核。該SPI IP核通過狀態機來控制數據傳輸模塊端口的方向,以此來解決主從模式下數據傳輸方向相反的問題,通過對移位寄存器的復用減少了邏輯資源消耗,利用時鐘分頻模塊來實現不同傳輸速率下的數據交換,設計了配置數據傳輸模式的時鐘極性和時鐘相位等端口,方便了對SPI IP核的操作。結果表明:該SPI IP核符合SPI總線協議,在0.13 μm工藝下消耗1 062個邏輯門,在系統工作頻率80 MHz下的功耗約為0.395 7 mW。
中圖分類號: TN492
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.172838
中文引用格式: 魏朋博,張存德,黃翔,等. 高性能主從模式動態可重構的SPI IP核設計[J].電子技術應用,2018,44(3):15-18.
英文引用格式: Wei Pengbo,Zhang Cunde,Huang Xiang,et al. Design of a high-performance and dynamic reconfigurable SPI IP core with master and slave mode[J]. Application of Electronic Technique,2018,44(3):15-18.
Design of a high-performance and dynamic reconfigurable SPI IP core with master and slave mode
Wei Pengbo1,2,Zhang Cunde1,2,Huang Xiang1,2,Yu Zhiguo1,2,GU Xiaofeng1,2
1.Engineering Research Center of IoT Technology Applications(Ministry of Education),Wuxi 214122,China; 2.Department of Electronic Engineering,Jiangnan University,Wuxi 214122,China
Abstract: To meet the flexible configuration requirements of serial peripheral interface(SPI) in the System-on-a-Chip(SoC), the SPI IP core which can be configured as a master or slave with four date transfer modes and seven clock transmission rates is designed. The SPI IP core through the state machine controls the port direction of data transmission module, which solves the problem of the opposite direction of data transmission in master and slave mode. The SPI IP core also multiplexes the shift register to reduce logic resource consumption. The clock frequency division module is designed to realize the data exchange with different transmission rates. In order to facilitate the operation of the SPI IP core, the ports including cpol and cpha that can configure the data transfer modes are designed. The results show that the SPI IP core is in good agreement with the SPI bus protocol. In addition, the circuit scale contains 1 062 logic gates under the 0.13 μm technology and the power consumption is 0.395 7 mW at a system operating frequency of 80 MHz.
Key words : high-performance;master and slave mode;dynamic reconfigurable;serial peripheral interface(SPI);IP core

0 引言

    隨著集成電路設計的快速發展,系統芯片(System-on-a-Chip,SoC)的集成度越來越高,從而對信號之間交流的要求也變高[1-2]。由于串行外設接口(Serial Peripheral Interface,SPI)總線協議具有全雙工模式、占用I/O端口少、協議靈活等優點,在實時時鐘、AD轉換器、數字信號處理器和數字信號解碼器之間得到了廣泛應用[3-4]

    目前,SPI IP核已經成為SoC的標準配置,相關人員也做了很多研究。例如,周雪榮等人面向AD9222設計的一款SPI模塊[5],可以配置為主機模式且符合AD9222芯片的接口時序;汪永琳等人設計的SPI接口[6],實現了SPI主從機之間數據的雙向傳輸且滿足三線半全工工作方式;李大江等人基于FPGA的SPI總線設計[7],分別設計了主機和從機。上述SPI設計可以適用于不同的應用場合,但是在SoC中進行通信時,不具有主從模式動態可重構的能力。因此,本文根據SPI總線協議,設計了一種主從模式動態可重構,支持四線全雙工,允許七種時鐘傳輸速率的SPI IP核,并對其邏輯資源消耗和功耗問題進行了優化。

1 SPI工作原理

    SPI總線協議是由Motorola公司首先提出的,主要應用于單片機系統中短程通信的同步串行通信接口規范[8]。SPI總線協議規定,它以主機或從機方式工作,主從機之間的數據傳輸存在4種數據傳輸模式并由cpol(時鐘極性)和cpha(時鐘相位)來控制,如表1所示。當cpol=0時,sclk的空閑電平為0;當cpol=1時,sclk的空閑電平為1。當cpha=0時,在空閑狀態到有效狀態邊沿采集數據;當cpha=1時,在有效狀態到空閑狀態邊沿采集數據[9]

wdz3-b1.gif

    在SoC中SPI IP核的傳統連接方式如圖1所示。通信過程中,SPI通過片上總線將CPU核傳輸的并行數據轉換為串行數據,與從機進行數據交換;并把從機傳輸的串行數據轉換成并行數據,通過片上總線發送給CPU核[10]。對SPI從機來說,它會在被主機選中的情況下與主機進行數據的傳輸[11]

wdz3-t1.gif

2 SPI IP核設計

2.1 模塊劃分和接口定義

2.1.1 模塊劃分

    根據SPI功能的不同,將所設計的SPI IP核劃分為如圖2所示的3個模塊:寄存器配置塊(Register Configuration Block,RCB)、數據傳輸塊(Data Transfer Block,DTB)和錯誤中斷塊(Fault Interrupt Block,FIB)。RCB由CPU核對其進行配置,如主從模式、時鐘極性和時鐘相位等;DTB根據配置的信息來進行主從機間的數據傳輸;FIB在出現模式錯誤(例如當SPI配置為主機時,從機選擇端口被拉低)、讀寫沖突等問題時會向CPU核發出中斷請求。

wdz3-t2.gif

2.1.2 端口定義

    nwr和nrd分別是寫使能和讀使能端口;addr是地址端口;idata和odata分別是數據輸入和輸出端口。當地址有效時,數據輸入和輸出端口根據讀寫使能的配置來進行數據的輸入和輸出操作。spen、mstr、cpol和cpha 4個端口依次是SPI使能端、主從機配置端、時鐘極性和時鐘相位端,使得對SPI IP核進行配置更加直接和方便。

    misoo、misotri和misoi 3個端口與一個三態緩沖器連接,以提供一個外部雙向端口miso,外部雙向端口mosi和sclk原理相同。這些雙向端口在有限狀態機模塊的控制下被配置為不同的傳輸方向,以此來解決主機模式和從機模式下數據傳輸端口傳輸方向相反的問題。miso在從機模式下發送數據,在主機模式下接收數據;mosi在主機模式下發送數據,在從機模式下接收數據;sclk在主機模式下發送時鐘,在從機模式下接收時鐘。同時,SPI IP核通過復用一個移位寄存器就可以完成主機和從機模式下的數據傳輸,實現了主從模式可配置的能力并節省了芯片面積。ssn是從機選擇端口,配置為從機時才使用,低電平有效。

    int是中斷控制端口,當數據傳輸完成或SPI被配置為主機而ssn(從機選擇)端口為低電平等情況時,FIB模塊就會產生中斷請求。

2.2 電路設計

2.2.1 SPI可重構電路狀態機的設計

    SPI可重構電路狀態機的設計,如圖3所示。當復位信號有效或者SPI使能端口spen被配置為低電平無效狀態時,可重構電路狀態機就會處于空閑狀態。此時,可向主機模式或從機模式進行轉移。

wdz3-t3.gif

    轉移為主機模式時,首先需要把mstr端口配置為1。然后,有兩種情況可以轉移到主機模式:(1)配置從機選擇端口無效位ssdis為高電平有效狀態;(2)配置ssn端口為高電平無效狀態。

    轉移為從機模式時,首先需要把mstr配置為0。然后,有3種情況可以轉移到從機模式:(1)當配置cpha為高電平時,并配置ssdis位為有效狀態,此種情況適用于只有一個從機下的數據傳輸;(2)當配置cpha為高電平時,檢測到ssn端口為低電平;(3)當配置cpha為低電平時,檢測到ssn端口的下降沿。

    當狀態機從空閑狀態已經過渡到主機或者從機模式時,就會判斷數據的傳輸是否完成,當傳輸未完成時,就會保持在當前狀態;當傳輸已完成時,就會轉移到空閑狀態。此外,當前模式出現錯誤時,也會轉移到空閑狀態。SPI可重構電路狀態機如圖3所示。

    由狀態轉移圖可知,此SPI IP核可實現空閑狀態、主機模式和從機模式之間的狀態轉換,具有在線動態可重構的特性。

2.2.2 時鐘分頻

    主機模式下的串行時鐘由7位計數器、數據選擇器和D觸發器組成的時鐘分頻模塊產生,如圖4所示。

wdz3-t4.gif

    輸出時鐘sclko取決于CPU核對控制寄存器的配置,當對控制器寄存器相應的三位配置都為1時,sclko的值為cpol的值,不產生時鐘,其他情況均對時鐘有分頻作用。因此,此時鐘分頻模塊可對系統時鐘產生7種分頻,如表2所示。

wdz3-b2.gif

3 仿真與驗證

3.1 仿真平臺搭建

    為了方便驗證此SPI IP核的正確性,設計了模擬CPU核功能的發送接收模塊、驗證IP核(Verification IP,VIP)模塊和數據比較模塊等。發送接收模塊產生指令和數據對SPI IP核和VIP模塊進行配置。配置完成后,SPI IP核和VIP模塊進行主從機之間數據的傳輸;傳輸完成后,發送接收模塊分別讀取SPI IP核和VIP模塊傳輸的數據。最后,比較模塊從CPU核讀取所傳輸的數據并驗證數據的正確性。仿真原理如圖5所示。

wdz3-t5.gif

3.2 仿真及結果分析

    最后,使用NC-Verilog對其進行仿真驗證,主從模式下的仿真時序如圖6所示。首先,通過發送接收模塊對SPI IP核的控制寄存器依次寫入h’10和h’50(配置SPI為主機模式,SPI接口有效)。同時,配置VIP模塊為從機。然后,設置主機要發送的數據為h’aa,從機要發送的數據為h’55,在sclko(對clk時鐘2分頻)時鐘頻率下,主機的mosio(主機輸出,從機輸入)端口串行發送數據h’aa,misoi(主機輸入,從機輸出)端口串行接收數據h’55,傳輸完成后讀取狀態寄存器的值為h’80(傳輸完成),讀取數據寄存器的值為h’55(傳輸成功)。然后,對控制寄存器寫入h’40(配置SPI為從機,SPI接口有效)。同時,配置VIP模塊為主機,ssn(從機選擇端口)變為低電平有效狀態。在sclki(對clk時鐘4分頻)時鐘頻率下,從機的miso(從機輸出,主機輸入)端口串行發送數據h’55,mosii(從機輸入,主機輸出)端口串行接收數據h’aa,傳輸完成后讀取狀態寄存器的值為h’80(傳輸完成),讀取數據寄存器的值為h’aa(傳輸成功)。

wdz3-t6.gif

    主機模式下不同時鐘速率下的數據傳輸如圖7所示。圖中給出了對clk時鐘2分頻時,主機發送數據為h’aa,接收數據為h’55;對clk時鐘4分頻時,主機發送數據為h’55,接收數據為h’aa;對clk時鐘8分頻時,主機發送數據為h’aa,接收數據為h’55等情況下的數據傳輸情況。在不同分頻模式下,數據傳輸能正常傳輸且結果正確。

wdz3-t7.gif

    仿真結果表明:此SPI IP核符合SPI總線協議并且滿足設計規范的要求。綜合結果顯示:在0.13 μm工藝下消耗1 062個邏輯門,在系統工作頻率80 MHz下的功耗約為0.395 7 mW。

4 結論

    本文根據SPI總線協議設計了一種高性能主從模式動態可重構的SPI IP核,并對該IP核的模塊劃分、接口定義和可重構電路狀態機等進行了詳細描述。結果顯示,此設計符合SPI總線協議,實現了7種時鐘分頻,支持4種數據傳輸模式;在保證功能和性能情況下,邏輯資源消耗更少、功耗更低。

參考文獻

[1] 李安新,周祖成.SoC新技術——可編程邏輯IP核[J].半導體技術,2001,26(12):17-19,27.

[2] 尉曉龍.X-DSP SPI模塊及其AMBA接口的設計[D].長沙:國防科學技術大學,2014.

[3] TIAN X C,LI J,FAN Y B,et al.Design and implementation of SPI communication based-on FPGA[J].Advanced Materials Research,2011,291-294:2658-2661.

[4] 楊曉,李戰明.面向系統級芯片的串行外設接口模塊設計[J].計算機應用,2015,35(12):3607-3610.

[5] 周雪榮,葉凡,任俊彥.面向AD9222的SPI模塊設計[J].固體電子學研究與進展,2015(3):284-288,295.

[6] 汪永琳,丁一.一種3線制半雙工SPI接口設計[J].半導體技術,2010,35(5):482-484.

[7] 李大江,崔建明.一種基于FPGA的可配置SPI Master接口設計實現[J].電子技術應用,2010,36(10):60-62.

[8] 孫永琦,李曉明.基于DW8051的SPI控制器設計[J].電子器件,2012,35(3):339-343.

[9] 辛曉寧,孫文強.全功能SPI接口的設計與實現[J].電子設計工程,2012,20(23):153-156.

[10] 劉敏,陳金鷹,唐偉,等.基于FPGA的并行數據轉SPI接口設計[J].電視技術,2012,36(5):31-32,60.

[11] 白光澤,邢燕.基于Verilog HDL的SPI IP核的設計及仿真實現[J].制造業自動化,2010,32(15):113-115.



作者信息:

魏朋博1,2,張存德1,2,黃  翔1,2,虞致國1,2,顧曉峰1,2

(1.物聯網技術應用教育部工程研究中心,江蘇 無錫214122;2.江南大學 電子工程系,江蘇 無錫214122)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲在线观看免费视频| 欧美高清不卡在线| 亚洲精品三级| 午夜电影亚洲| 亚洲综合色激情五月| 中文一区二区| 一区二区三区欧美激情| 日韩一级片网址| 日韩午夜在线| 一本色道久久综合亚洲91| 亚洲乱码久久| 日韩午夜在线电影| 一区二区三区视频在线| 99热在线精品观看| 在线亚洲精品福利网址导航| 99精品国产在热久久婷婷| 99视频超级精品| 亚洲视频成人| 亚洲综合色在线| 先锋影院在线亚洲| 久久9热精品视频| 亚洲国产合集| 99精品国产高清一区二区| 99国产精品久久久久久久久久| 亚洲三级网站| 99精品黄色片免费大全| 一区二区三区免费网站| 亚洲少妇在线| 亚洲欧美日韩区| 亚洲一区二区三区影院| 亚洲一区二区黄色| 欧美在线不卡视频| 久久亚洲精品欧美| 欧美第一黄色网| 欧美日韩午夜在线| 国产精品免费观看视频| 国产日韩欧美精品在线| 国内精品视频一区| 亚洲国产mv| 99国产精品自拍| 亚洲欧美日韩中文视频| 亚洲国产精品欧美一二99| 一本大道久久a久久综合婷婷| 亚洲中午字幕| 久久久视频精品| 欧美日本精品在线| 国产伦精品一区| 亚洲福利视频专区| 亚洲性色视频| 亚洲国产精品综合| 亚洲视频在线观看一区| 欧美综合国产| 欧美高清成人| 国产精品一区在线观看| 有码中文亚洲精品| 国产精品99久久不卡二区| 久久不射2019中文字幕| 一本一本久久| 久久精品免视看| 欧美日韩国产成人| 国模叶桐国产精品一区| 亚洲免费观看高清完整版在线观看熊| 亚洲女女做受ⅹxx高潮| 亚洲人成网站999久久久综合| 亚洲欧美国产高清va在线播| 久久深夜福利| 欧美色欧美亚洲另类七区| 国产一区二区久久| 日韩午夜免费| 亚洲国产精品国自产拍av秋霞| 亚洲午夜在线观看| 鲁大师成人一区二区三区| 国产精品不卡在线| 亚洲高清不卡一区| 亚洲欧美日韩视频二区| aa级大片欧美三级| 久久中文在线| 国产美女扒开尿口久久久| 亚洲三级免费电影| 久久精品视频在线观看| 亚洲欧美日韩一区在线观看| 欧美国产视频一区二区| 国产亚洲精品久久久久久| 日韩亚洲欧美中文三级| 亚洲国产视频直播| 欧美专区第一页| 欧美午夜激情小视频| 伊人久久亚洲热| 亚洲欧美不卡| 亚洲一本大道在线| 欧美激情黄色片| 激情综合色综合久久综合| 亚洲欧美日韩一区| 亚洲综合色在线| 欧美日韩高清在线| 亚洲激情av在线| 久久精品成人欧美大片古装| 性亚洲最疯狂xxxx高清| 欧美日韩专区在线| 91久久精品久久国产性色也91| 欧美资源在线| 欧美综合国产精品久久丁香| 国产精品红桃| 99视频在线观看一区三区| 日韩视频在线一区二区| 模特精品在线| 一区二区在线视频观看| 久久激情五月激情| 久久久久成人精品| 国产香蕉久久精品综合网| 亚洲尤物在线| 性欧美video另类hd性玩具| 国产精品久久二区二区| 一本久道综合久久精品| 一区二区三区精品国产| 欧美日韩精品免费观看视一区二区 | 国产精品高清在线| 亚洲精品久久久久久一区二区| 久久精品72免费观看| 久久精品二区三区| 国产在线不卡| 亚洲电影免费观看高清| 久久久精品动漫| 激情久久综合| 亚洲激情图片小说视频| 欧美成人黑人xx视频免费观看| 在线日韩av片| 99精品热视频| 欧美三级在线播放| 中文国产成人精品久久一| 午夜精品久久久久久99热| 国产精品日韩精品欧美在线| 亚洲欧美日韩精品久久奇米色影视| 校园春色综合网| 国产亚洲一二三区| 亚洲高清在线观看一区| 欧美大片在线影院| 99成人在线| 亚洲欧美中日韩| 国产日韩亚洲| 91久久精品国产91性色tv| 欧美国产一区二区在线观看| 日韩一级裸体免费视频| 亚洲欧美日韩精品一区二区| 国产日韩欧美三区| 亚洲国内精品| 欧美色中文字幕| 亚洲欧美在线x视频| 老巨人导航500精品| 亚洲精品免费电影| 亚洲欧美日韩网| 狠狠色丁香婷婷综合久久片| 亚洲国产精品成人一区二区 | 国产精品亚洲一区| 久久精品亚洲热| 欧美日韩国产麻豆| 亚洲欧美国产三级| 久久综合亚洲社区| 日韩视频久久| 久久精品中文字幕一区二区三区| 亚洲大胆视频| 亚洲一区二区三区久久| 国产一区二区中文| 一本久道久久综合中文字幕 | 久久精品国产综合精品| 欧美激情五月| 亚洲资源av| 免费一级欧美片在线播放| 亚洲美女黄网| 久久久91精品国产| 亚洲精品久久久久久久久久久久| 午夜精品久久久久久久蜜桃app | 日韩视频一区二区| 国产精品一区二区欧美| 亚洲激情社区| 国产精品女主播一区二区三区| 亚洲丰满在线| 国产精品日韩欧美一区二区三区| 亚洲国产日韩一区二区| 国产精品久久久久久久浪潮网站| 亚洲国产精品久久久| 国产精品高清免费在线观看| 亚洲二区精品| 国产精品日韩欧美综合| 亚洲精品国久久99热| 国产欧美一区视频| 在线亚洲国产精品网站| 一区在线影院| 欧美一区二区三区日韩视频| 亚洲激情在线观看| 久久人91精品久久久久久不卡| 日韩香蕉视频| 欧美成人一区二区三区| 欧美一区二区三区四区夜夜大片| 欧美日韩中文字幕日韩欧美| 亚洲精品久久久一区二区三区| 国产欧美日韩在线播放| 正在播放欧美视频| 1000精品久久久久久久久| 久久精品视频在线免费观看|