999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于APB總線的SPI控制器的設計

2012-06-01 06:58:10東南大學集成電路學院符宏利
電子世界 2012年3期
關鍵詞:設計

東南大學集成電路學院 符宏利 田 茜 吳 金

基于APB總線的SPI控制器的設計

東南大學集成電路學院 符宏利 田 茜 吳 金

隨著以IP核復用為基礎的SoC設計技術的發展,SoC的規模不斷擴大,片上各個模塊之間的通信問題越來越突出。本文描述了一個可用于傳感器網絡核心芯片中的SPI接口模塊的設計。該設計可靈活配置為主從機模式,同時配置主機時可以支持對基帶控制器的操作;最后,通過詳細的功能驗證表明,該設計能滿足SPI通信協議,性能可靠。

基帶;SPI;接口模塊;IP

1.引言

隨著以IP核復用為基礎的SoC設計技術的發展以及對SoC設計越來越高的功能要求,SoC的規模不斷擴大,集成的IP模塊不斷增多,使得片上各個模塊之間的通信問題越來越突出,許多通信協議出現了[1]。然而,隨著處理器需要的外設越來越多,這時串行總線相比于并行總線用的接口線數較少的優點就逐漸顯現出來了。當我們需要在集成模塊,比如微控制器和一些低速外設之間通信時,是沒有必要用過于復雜的協議的[2];此時,SPI(Serial Peripheral Interface,串行外圍設備)將是很好的選擇。它具有電路結構簡單(只有四根接口線),通信可靠等優點,比較適合在集成模塊和片上外設以中低速傳輸數據的。實現SPI協議的IP核已經成為業界的設計熱點之一[3-7]。本文中,我們將介紹一種可靈活配置為主從機模式,并在配置主機時可以支持對基帶控制器的操作的SPI接口的設計。

2.SPI協議分析(SPI工作原理)

SPI有兩種工作模式[8]:主模式和從模式;工作在主模式的為Master,工作在從模式的為Slave。SPI接口信號在兩種工作模式下的作用是不一樣的。

只有Master可以發起數據傳輸。可以通過對Master的數據寄存器執行寫操作啟動數據傳輸。數據

圖1 SPI數據傳輸時序(CPHA=0)

圖2 SPI數據傳輸時序(CPHA=1)

圖3 寫基帶控制器的時序

在具體應用中,要想完成一次操作,比如讀基帶控制器,一次需要傳輸多個比特的數據,包括讀寫命令、地址、數據等,具體內容與從設備有關。在讀寫基帶寄存器時,在開始每次操作之前將來自APB總線的信號進行組幀。采用加一個頭字節的方式,其中,bit[7]代表讀寫操作,bit[0]~bit[3]為讀寫地址,依次從MOSI串行輸出。若為寫操作,則后面緊接著將要寫的數據。如寫基帶控制器的時序如下圖3所示,此時CPOL=1’b0,CPHA=1’b0。

相應的Slave將采樣Master的MOSI結果分別寫入讀寫指示、地址線、輸入數據對應的寄存器;并將寄存器中的數據置入發送移位寄存器通過其MISO輸出。

圖4 SPI接口模塊結構框圖

圖5 主機FSM轉態轉移圖

表1 tx_loaddata的值與數據傳輸模式關系

表2 Data和Head態時,phase_cnt值與數據位寬的關系

3.SPI接口模塊的設計

像很多IP模塊的設計一樣,我們采用先定義了關鍵特性和規范,明確設計目標;將目標分解為各個子模塊分別實現并集成的自頂而下的方法,之后進行了全面地功能仿真。

3.1 接口模塊頂層設計

由我們設計的SPI Controller是一個基于AMBA的APB總線的外設類接口模塊,Master Host通過APB總線對模塊進行操作;同時另一端通過SPI總線與外部設備相連。根據功能定義和SPI工作原理,可以得出SPI接口模塊結構框圖如圖4所示。

SPI接口模塊上除了四個中斷信號外,還需要14個I/O端口,主要由APB總線信號和SPI總線信號組成。其中,APB信號是主從模式通用的,對于APB總線信號定義,詳見參考文獻[9]。對于SPI信號而言,為了滿足SPI可配置不同工作模式的需要,在模塊內部,需要設計比SPI協議要求更多的接口信號。其中,txd在主模式時,相當于MOSI,從模式時相當于MISO;rxd在主模式時相當于MOSI,從模式時相當于MISO。

3.2 主模式設計實現

本接口模塊支持可編程的數據幀格式(數據寬度為4/8/16/32 bit),還支持可編程四種傳輸模式:讀寫基帶寄存器,發送又接收,只發送,只接收。現將各個組成模塊介紹如下:

APB Slave主要負責地址譯碼,實現接口模塊與ARM的APB總線相連接。通過該模塊,ARM可以對相應控制寄存器以及Data FIFO嚴格按照APB總線協議進行讀寫,從而實現對本模塊和外設的控制。

寄存器模塊(Registers)則包含各控制寄存器,狀態寄存器。在模塊使能(spe=1)后,模塊才可以開始正常工作。分頻邏輯用于在主機模式時通過一個邏輯分頻變量實現對pclk信號的分頻控制。該分頻變量在內部減法計數器為零且SPI處于工作狀態時有效(置1),且包含在狀態機(FSM)控制邏輯和端口控制邏輯(Port Control Logic)中。

中斷邏輯則用于實現中斷控制,使ARM可以對SPI進行適當操作,比如讀寫Data FIFO。如圖4所示,本模塊可產生spi_txe_intr,spi_txo_intr,spi_rxf_intr,spi_rxo_intr四個獨立可屏蔽中斷。

Data FIFO用于緩存數據,有RxFIFO和TxFIFO兩個FIFO,并且在每一個工作模式下,都相應有兩個移位寄存器(Shift Registers)進行串并轉換。除此之外,還設置了一個中間變量tx_loaddata。在每次數據傳輸之前,將tx_loaddata加載到移位寄存器中。tx_loaddata的值與數據傳輸模式有關。如表1所示。

FSM則控制了SPI模塊的數據傳輸過程,從而完成對SPI傳輸時序的實現控制。該FSM只用于主模式。其狀態轉移圖如圖5所示。

我們采用了兩個計數變量:data_num和phase_cnt來控制數據的傳輸。其中,data_num大致產生邏輯為:當為只接收模式時,data_num初始值由控制寄存器讀入,否則每對Tx FIFO寫一次,數目就加1;每傳輸一個數據后該數目減1。而phase_cnt則由FSM的狀態和配置的數據幀寬度格式決定,只有phase_cnt為零時,FSM狀態才轉移。當處于Data和Head時,其關系如表2所示。其中,dfs

圖6 主模式SPI寫基帶控制器的波形

圖7 主模式SPI發送又接收時的波形

在開始傳輸之前,若傳輸模式為只發送或即發送又接收,則應保證TxFIFO中不為空。我們設置了一個計數器counter對Sclk_in的上升沿進行計數。當計數到閾值cnt_threshold時則表明一個完整數據傳輸完成,根據需要決定是否寫Rx和加載新的數據到Txshift_reg,之后計數器再歸零;cnt_threshold的值由配置的數據幀寬度格式決定。

這樣,從機在輸入的SPI信號控制下,完成相應數據的傳輸工作。為控制寄存器SPCR0中的數據位寬控制位。

當一整個數據傳輸結束時則按照傳輸模式決定是否將接收移位寄存器的數據寫入RxFIFO或寄存器中。起始狀態為Idle,當數據傳輸請求產生時,根據傳輸模式分別轉入Head和Data(僅讀寫基帶寄存器時進入Head)。Head在將數據幀頭傳輸結束后進入Data。在處于Head或Data時,通過一個對pclk分頻后的時鐘的計數值phase_cnt進行發送和接收狀態的轉換:當為偶數時為發送狀態,SCLK等于CPOL^CPHA;為奇數時為接收狀態,SCLK等于!CPOL^CPHA;SS亦由FSM狀態和phase_cnt值進行確定,以保證傳輸時序。必須考慮到scpha=1時,可連續進行數據傳輸而SS無須拉高,而scpha=0時,連續傳輸之間SS需要拉高的情況對兩者在開始傳輸以及連續傳輸之間進行不同的處理。End和Start可以用于確定在初始傳輸之前的SS值。

3.3 從模式設計實現

當配置為從機時,FSM和分頻部分不工作;它相應的傳輸控制邏輯包含在Port Control Logic中。它根據接收的SPI信號進行控制以完成數據的接收和發送。其余組成部分的功能與主機相似。

我們將SCLK_in轉化成SCLK_s,以使得從SPI模塊總是在SCLK_s的上升沿傳送數據,下降沿采樣數據。其換算邏輯為:

4.SPI接口模塊的仿真驗證

為了保證設計的正確性,我們進行了詳細的功能仿真。首先進行VCS進行RTL級仿真。RTL級仿真是將代碼文件調入硬件描述語言的仿真軟件進行功能仿真,檢查邏輯功能是否正確。根據模塊的功能,我們先分解出了詳細的測試點,并通過搭建不同的測試平臺輸入不同的激勵依次進行仿真。覆蓋了包括SPI的主模式下讀寫基帶寄存器模式,主從模式下其他各種傳輸模式下各種長度的數據幀的數據情形。其中,主模式SPI寫基帶控制器仿真波形如圖6。

首先將SPI模塊的SPCR0和SPBRR分別配置為32’h0x603c和16’h0x02,同時各進行一次讀操作;之后寫SPCR1,同時將啟動一次數據傳輸操作。類似的,圖7為主模式SPI發送又接收時的波形。

首先將兩SPI模塊相應的SPI接口信號連接起來,并進行一次復位,之后分別配置為主從模式。其中Master的SPCR0和SPBRR分別配置為32’h0602d和16’h0x02,Slave的SPCR0為32’h0402d。之后同時各進行一次讀操作確認寄存器的值;再先后分別往從機和主機的SPDR1(TxFIFO)中寫入數據32’h12345678和32’h55551432。同時將啟動一次數據傳輸。傳輸完成后分別讀主、從機的SPDR1(RxFIFO),得到從機傳來的數據32’h12345678以及主機傳來的32’h55551432。

由圖6、7可知,SPI能正確完成對應的操作。

此外,通過將SPI接在基于APB總線的SoC系統中,該系統包含ARM內核,ROM,AHB,APB以及相連的Bridge,將系統代碼修改并移植到FPGA中,完成了FPGA原型驗證平臺的搭建。通過在該驗證平臺運行C驗證代碼驗證了其功能的正確性。

5.總結語

本文先比較了現有的接口協議,指出了SPI串行總線接口的優點,以及應用場合。在討論了SPI接口協議的特點后,基于SPI的多方面應用,完成了一個SPI接口模塊的設計,并通過了驗證。其設計過程采用了典型的自頂向下方法。本設計可以靈活用于基于AMBA APB的典型SoC系統中。在IP核復用為基礎的SoC快速發展的今天,對IP設計的研究具有普遍的實際意義。

[1]田澤,張怡浩,于敦山,等.SoC片上總線綜述[J].趨勢與展望,2003.

[2]A.K,Oudjida,M.L,Berrandjia,A,Liacha,etc,De sign and Test of General-Purpose SPI Master/Slave IPs on OPB Bus,International Muti-Conference on Systems,Signals and Devices,2010.

[3]趙杰.基于AMBA總線的SPI協議IP核的實現與驗證[D].中國科技大學碩士學位論文,2009.

[4]李躍峰.基于Verilog HDL的SPI可復用IP核的設計與實現[D].西南交通大學碩士學位論文,2008.

[5]趙彧,張楚.多媒體處理器中SPI接口的設計[J].電子測量技術,2007,30(6):126-129.

[6]曹儐,王祥,程野,等.SPI控制器的ASIC設計與實現[J].數字通信,2010,2:94-96.

[7]喻小虎,咸德勇,陳華明.專用SPI從設備接口電路設計[J].微處理機,2009,5:28-30.[8]Motorola,Inc,SPI Block Guide V04.01,2004.[9]ARM.AMBATMSpecif i cation(Rev 2.0),1999.

符宏利(1985—),男,湖南瀘溪人,碩士研究生,主要研究方向:數字集成電路設計與驗證。

田茜(1980—),女,江蘇徐州人,博士,東南大學教師,研究方向:無線傳感網。

吳金(1965—),男,四川樂山人,工學博士,教授,研究方向:數模混合集成電路設計。

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 欧美精品v欧洲精品| 精品久久久久久成人AV| 无码丝袜人妻| 乱人伦视频中文字幕在线| 亚洲最新地址| 亚洲国产亚综合在线区| 蜜芽国产尤物av尤物在线看| 国产精品分类视频分类一区| 亚洲精品大秀视频| 欧美h在线观看| 中文字幕亚洲乱码熟女1区2区| 国产成人91精品免费网址在线| 国产一在线| 青青青国产视频| 欧美国产三级| 亚洲成人精品| 亚洲成人网在线观看| 国产日韩AV高潮在线| 欧美成a人片在线观看| 久久国产免费观看| 国产精品入口麻豆| 免费一级毛片不卡在线播放| 国产超碰在线观看| 国产成人精品一区二区| 香蕉视频国产精品人| 亚洲日韩精品综合在线一区二区| 无码啪啪精品天堂浪潮av| 亚洲无码高清一区| 伊人成人在线| 欧美午夜在线观看| 亚洲第一天堂无码专区| 88av在线| 亚洲永久免费网站| 久久人人爽人人爽人人片aV东京热 | 日本成人在线不卡视频| 欧美不卡视频一区发布| 亚洲另类第一页| 久久动漫精品| 永久天堂网Av| 日韩高清欧美| 国产精品视频导航| 一级毛片免费不卡在线 | 54pao国产成人免费视频| 精品自窥自偷在线看| 青草视频免费在线观看| 精品国产自在现线看久久| 综合久久久久久久综合网| 欧类av怡春院| 69国产精品视频免费| 成人无码区免费视频网站蜜臀| 久久黄色视频影| 欧美日韩国产精品va| 欧美国产精品不卡在线观看| 色欲综合久久中文字幕网| 久久先锋资源| 精品欧美日韩国产日漫一区不卡| 国产亚洲高清在线精品99| 日韩a在线观看免费观看| 亚洲精品手机在线| 99久久性生片| 日韩欧美国产中文| 国产女人在线| 久久久波多野结衣av一区二区| 五月天综合网亚洲综合天堂网| 久久精品无码专区免费| 亚洲乱强伦| 日韩高清无码免费| 免费一看一级毛片| 六月婷婷激情综合| 国产视频你懂得| 久久国产成人精品国产成人亚洲| 亚洲有无码中文网| 国产成年女人特黄特色毛片免| 天天色天天综合| 91色老久久精品偷偷蜜臀| 色天天综合久久久久综合片| 国产黄视频网站| 久久美女精品| 欧美三级视频网站| 国产精品专区第1页| 思思热在线视频精品| 美女潮喷出白浆在线观看视频|