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

全功能SPI接口的設計與實現

2012-01-18 12:03:30辛曉寧孫文強
電子設計工程 2012年23期
關鍵詞:設計

辛曉寧,孫文強

(沈陽工業大學 研究生學院,遼寧 沈陽 110870)

SPI串行通信接口是一種常用的標準接口,由于其使用簡單方便且節省系統資源,很多芯片都支持該接口,應用相當廣泛[1]。但是現有文獻和設計多數僅實現了SPI接口的基本發送和接收功能,對SPI接口的時序控制沒有進行深入的研究。全功能SPI接口應具有四種不同的時鐘模式,以適應具有不同時序要求的從控制器。文中主要研究SPI接口的時鐘時序,并用具體電路實現具有4種不同極性和相位的時鐘,最后通過仿真驗證和FPGA驗證[2]。

1 SPI控制器典型結構

SPI模塊中的典型結構是用于通信的主從2個控制器之間的連接,如圖1所示。由串行時鐘線(SPICLK)、主機輸入從機輸出線(SPISOMI)、主機輸出從機輸入線(SPISIMO)、SPI選通線(SPISTE)4條線組成[3]。當CPU通過譯碼向主控制器寫入要傳輸的數據時,主控制器通過串行時鐘線來啟動數據傳輸,將會在串行時鐘線的一個邊沿將數據移出移位寄存器,而在串行時鐘的另一個邊沿將數據鎖存在移位寄存器中。SPI選通線是SPI控制器的使能端,可以選擇多個從機,實現一主多從的結構,只要SPI選通信號將要選的從機處的選通信號變為低電平就能夠連接成功。

圖1 SPI主從連接Fig.1 Master-slave link

2 全功能SPI控制器設計

2.1 SPI控制器內部結構

SPI控制器的原理框圖如圖2所示,其中主要包括:

1)SPI控制器的內部寄存器

圖2 SPI控制器原理框圖Fig.2 Functional block diagram of SPI module

SPI操作控制寄存器(SPICTL),SPI狀態寄存器(SPISTS),SPI波特率設計寄存器 (SPIBRR),SPI接收緩沖寄存器(SPIRXBUF),SPI發送緩沖寄存器 (SPITXBUF),SPI串行數據寄存器(SPIDAT),SPI中斷優先級控制寄存器(SPIPRI)。

2)SPI控制器內的功能模塊

時鐘分頻模塊 (Frequency Divider),內部時鐘產生電路(Clk_Occur), 狀 態 控 制 機 (State Control), 中 斷 控 制 (Int Control),測試模塊(Test),輸出控制模塊(Dateout Control)。

2.2 SPI控制器工作原理

圖2給出了SPI控制器的基本原理框圖。SPI控制器可工作在主模式和從模式下,由于在主模式下需要提供相應的時鐘給從控制器,較從模式下工作更為復雜,所以將用工作在主模式下的SPI控制器描述內部工作原理。

在開始傳送數據前,需將SPI控制器進行配置,設定時鐘波特率(SPIBPR),時鐘相位和極性,需要傳送的字符位數(SPICCR)。基本配置結束后,向 SPITXBUF和SPIDAT 2個寄存器內寫入要傳送的數據時,將會起動一次發送和接收操作。如果有正在傳送的數據,向SPITXBUF內寫入數據,新的數據將在當前數據傳送結束后自動進行發送和接收操作。

寫入SPICRR寄存器里的Char0~Char3位將會配置SPI狀態控制模塊里的計數器。狀態控制是系統的核心部分,為了使系統結構化,設計了狀態機,如圖3所示,分為3種狀態,分別是空閑狀態、發送命令狀態(配置SPI各個寄存器)、數據狀態。其中數據狀態包括數據的傳送和讀取[4]。

作為全功能SPI接口,在設計時加入了測試模塊。使能相關地址譯碼,將使系統內部關鍵節點通過輸出控制模塊傳送到數據總線。

圖3 SPI控制器狀態機Fig.3 State machine of SPI module

2.3 全功能SPI控制器的時鐘設計

SPI控制器為了和外部數據進行交換,根據外設工作要求,其輸出串行同步時鐘極性和時鐘相位可以進行匹配。但時鐘極性對傳輸協議沒有重大影響。如圖4所示,全功能SPI控制器包括4種不同的時鐘模式:

無延時的上升沿:SPI在SPICLK信號上升沿發送數據,在SPICLK信號下降沿接

收數據;

無延時的下降沿:SPI在SPICLK信號下降沿發送數據,在SPICLK信號上升沿接收數據;

有延時的上升沿:SPI在SPICLK信號上升沿之前的半個周期發送數據,在SPICLK信號下降沿接收數據;

有延時的下降沿:SPI在SPICLK信號下降沿之前的半個周期發送數據,在SPICLK信號上升沿接收數據

圖4 與發送和接收相對應的4種時鐘模式Fig.4 Four different clocking schemes when sending and receiving

對于SPI控制器內部時鐘的產生,在對系統時鐘進行分頻之后,還要對生成的時鐘進行一定處理,因為分頻后的時鐘其高電平時間是幾個系統時鐘周期的和,控制移位寄存器的時鐘采用的是系統時鐘,為了在SPICLK的一個時鐘周期內只移位一位數據,必須要求內部時鐘的高電平時間為一個系統時鐘的周期,才能保證在SPICLK的一個時鐘周期內,只有一位數據的接收和發送。

圖5為實現上述功能的具體電路,即SPI控制器時鐘產生的電路結構。在圖5中,分頻后的時鐘為DICLK,作為與門的一個輸入端進入模塊后對其進行處理。節點Y1和Y2的輸出方程為:

分頻時鐘DICLK通過節點Y1和Y2后,其高電平時間僅為一個系統時鐘周期,且Y1較Y2延遲半個周期。MUX1的選擇端S來自配置寄存器的Phase端,選擇有延遲的Y1還是無延遲的Y2通過。分頻后的時鐘將被用于兩個用途,一是產生SPICLK作為從控制器的輸入時鐘。二是作為主控制器的內部時鐘,被用于計數器的計數脈沖和用于控制串行移位寄存器SPIDAT。

當分頻時鐘用于產生SPICLK時,異或門XOR1的一個輸入端來自配置寄存器的Polarity端,用于控制時鐘極性。節點Y3作為D觸發器MTN1的輸出端,輸出方程為:

同時D觸發器MTN1的S0端的輸入方程為:

S0為0,D觸發器上升沿觸發。S0為1,D觸發器保持原狀態。通過MTN1后的分頻時鐘,其高電平時間和低電平時間相等或相差一個系統時鐘周期,這個時鐘即為主模式下產生的SPICLK,通過Phase和Polarity端的選擇將會有四種不同時鐘模式。

當分頻時鐘用于產生SPI控制器的內部時鐘時,MUX2的選擇端S來自配置寄存器的主/從模式選擇端,選擇內部時鐘還是外部時鐘通過。輸出端LANCLK用于SPI控制器的數據輸入/輸出鎖存時鐘。其方程為:

這里的DICLKn為通過MUX2后的分頻時鐘。由于時鐘極性對傳輸協議沒有影響,所以上式將使四種時鐘模式轉變成2種,即上升沿無延遲和下降沿有延遲,而后在用于控制數據的輸入/輸出鎖存。通過節點Y2的分頻時鐘經過控制邏輯傳送到輸出端CNTCLK和DATCLK,這兩個時鐘分別用于SPI控制器內部計數器的計數時鐘和移位寄存器的控制時鐘。

以上分析均是在SPI控制器工作在主模式的情況,當SPI控制器工作在從模式時,外部時鐘來自與門AND1的一個輸入,通過控制邏輯分別到達CNTCLK和DATCLK端。

在時鐘生成模塊里同時具有相應控制功能:Reset引腳,模塊的復位端,低有效。SPISTE引腳,SPI控制器的使能端,低有效。Susp_free和Susp_soft引腳,決定了當仿真器突然中斷時SPI模塊將采取何種動作,在時鐘生成模塊里,Susp_free和Susp_soft被置為00時,將關斷SPICLK,使正在傳送的數據立即停止。

圖5 SPI控制器時鐘產生電路Fig.5 Clk generating circuit of SPImodule

3 SPI控制器的仿真實現

SPI控制器的仿真使用Mentor公司的ModelSim軟件,該軟件可在windows,Linux平臺上使用,支持VHDL或Verilog硬件描述語言(HDL)仿真。它支持所有器件的行為級仿真、VHDL或Verilog仿真激勵。為了測試設計的正確性,編寫了testbench模塊,包括產生時鐘信號,控制寄存器的配置,收發的數據,產生的中斷等[5]。

3.1 SPI控制器時鐘仿真驗證

當SPI工作在主模式下,全功能SPI控制器根據從控制器的時序要求會提供具有4種不同極性和相位的時鐘。圖6為SPI控制器內部時鐘生產模塊的仿真驗證,輸入DICLK為分頻后時鐘,其對系統時鐘進行了14分頻。時鐘生產模塊對DICLK進行處理,產生LANCLK,CNTCLK,DATCLK和4種不同極性和相位的SPICLK。

圖6 SPI控制器內部時鐘產生模塊的仿真結果Fig.6 Simulation results of CLK generating circuit

3.2 SPI控制器工作在主模式下的驗證測試

通過配置寄存器選擇SPI工作在主模式,此時主SPI通過引腳SPICLK提供整個串行網絡的串行時鐘。SPI波特率寄存器決定發送和接收的傳輸速率。發送數據時,主控制器先發送SPICLK信號,然后向SPIDAT和SPITXBUF寄存器寫入數據C00F和8FF,寫入這兩個寄存器都可以啟動SPISIMO引腳上的數據發送(先發送最高有效位)。同時從控制器通過引腳SPISIMO將接收到的數據移入SPIDAT的最低位,當選定量的位發送完時,整個數據發送完畢,數據按照右對齊的格式存入SPIRXBUF中,以備系統讀取(一般為cpu),同時中斷標志位被置為1,當系統發出指令,讀取存在SPITXBUF的數據時,SPI中斷標志位被清零,仿真結果如圖7所示。

圖7 SPI控制器工作在主模式下仿真結果Fig.7 The simulation results of master mode

4 結束語

文中提出了一種全功能硬件SPI接口設計方法,實現了4種具有不同極性和相位的時鐘,它吸取了傳統軟硬件的優點,具有速度快、結構簡單的特點,并已通過功能仿真和FPGA驗證,結果證明本設計是可靠的,可直接用于FPGA中或者作為硬件電路嵌入具體芯片內[6]。

[1]潘新民,王燕芳.微型計算機控制技術[M].北京電子工業出版社,2003.

[2]楊承富,徐志軍.SPI總線接口的FPGA設計與實現[J].軍事通信技術,2004,25(2):72-76.YANG Cheng-fu,XU Zhi-jun.Design and implement SPI bus interface with FPGA[J].Journal of Military Communication Technology,2004,25(2)72-76.

[3]劉樂善,葉濟忠,葉永堅.微型計算機接口技術原理及應用[M].武漢,華中理工大學出版社,1999.

[4]俞莉瓊,付宇卓.有限狀態機的verilog設計與研究[J].微電子學與計算機,2004,21(11):146-148.YU LI-qiong,FU Yu-zhuo.Verilog design and research of finite state machine[J].Microelectr-onics&Computer,2004,21(11):146-148.

[5]張亮.數字電路設計與VerilogHDL[M].北京:人民郵電出版社,2000.

[6]郭兵,沈艷,林永宏,等.SOC技術原理與應用[M].北京清華大學出版社,2006.

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(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
主站蜘蛛池模板: 72种姿势欧美久久久大黄蕉| 青青草国产在线视频| 毛片手机在线看| 欧美啪啪网| 国产精品网拍在线| 精品国产aⅴ一区二区三区| 午夜精品区| 毛片免费在线| 婷婷五月在线视频| 区国产精品搜索视频| 不卡无码网| 亚洲男人在线天堂| 99热这里只有免费国产精品| 国产亚洲欧美另类一区二区| 久久黄色小视频| 亚洲精品视频网| 日韩欧美国产精品| 中文字幕无码制服中字| 亚洲一道AV无码午夜福利| 日韩精品亚洲人旧成在线| 激情午夜婷婷| 中国一级特黄视频| 国产尤物jk自慰制服喷水| 国产综合网站| 在线国产你懂的| 免费va国产在线观看| 色综合日本| 国产成人91精品| 欧美成人综合在线| 欧美日韩成人在线观看| 亚洲欧美另类日本| 最新国产成人剧情在线播放| 国产精品永久不卡免费视频| 国产精品成人啪精品视频| 亚洲精品777| 久久精品国产电影| 中文字幕人妻av一区二区| 九九热这里只有国产精品| 国产欧美日本在线观看| 亚洲精品视频免费观看| 中文字幕啪啪| 亚洲成人播放| 99热国产这里只有精品9九| 乱人伦视频中文字幕在线| 亚洲精品无码专区在线观看 | 亚洲天堂网在线视频| 天堂在线视频精品| 国产国语一级毛片在线视频| 99资源在线| 亚洲毛片在线看| 国产福利免费视频| 日韩大片免费观看视频播放| 成人精品午夜福利在线播放| 一区二区理伦视频| 91在线国内在线播放老师| 国产美女免费网站| 精品综合久久久久久97超人| 97国内精品久久久久不卡| 这里只有精品在线| 国产成年女人特黄特色大片免费| 国产精品99久久久久久董美香| 毛片网站观看| 久久久久久高潮白浆| 亚洲网综合| 久久久久久高潮白浆| 内射人妻无套中出无码| 国产精品 欧美激情 在线播放| www精品久久| 国产香蕉在线视频| 蜜芽一区二区国产精品| 亚洲丝袜第一页| 欧美日本在线观看| 一级毛片基地| 午夜性爽视频男人的天堂| 国产免费a级片| 伊人精品成人久久综合| AV网站中文| 国产麻豆aⅴ精品无码| 露脸国产精品自产在线播| 欧美日本中文| 国产噜噜噜| 无码精品国产dvd在线观看9久|