亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SPI接口仿真設(shè)計(jì)與實(shí)現(xiàn)

        2022-09-26 05:46:54楊梓鶴彭秋雨李湛藝程曉迪
        科技與創(chuàng)新 2022年19期
        關(guān)鍵詞:發(fā)送數(shù)據(jù)寄存器電平

        楊梓鶴,彭秋雨,李湛藝,程曉迪

        (航天工程大學(xué)指揮學(xué)院,北京 101416)

        串行接口具有全雙工通信方式、信號(hào)線(xiàn)較少、協(xié)議簡(jiǎn)單、傳輸速度快等優(yōu)點(diǎn),使其成為傳輸接口發(fā)展比較常用的一種通信方式。在系統(tǒng)與各種外圍設(shè)備電路的通信接口中,由于SPI總線(xiàn)接口協(xié)議在數(shù)據(jù)傳輸速度可達(dá)幾兆比特每秒,其傳輸速率遠(yuǎn)遠(yuǎn)高于其他的串行接口,SPI總線(xiàn)接口協(xié)議較其他常用串行接口有很大優(yōu)勢(shì)。SPI總線(xiàn)被廣泛應(yīng)用在串口接口中,其中最典型的應(yīng)用是微處理器與外設(shè)之間的通信,比如在微處理器與存儲(chǔ)器、FLASH、時(shí)鐘、模數(shù)轉(zhuǎn)換器及各種傳感器等[1-5]。采用FPGA硬件方式來(lái)實(shí)現(xiàn)SPI接口,既簡(jiǎn)單,速度又很快,可以實(shí)現(xiàn)主從設(shè)備之間的高速串行通信。按照總線(xiàn)的電氣特性,本設(shè)計(jì)基于FPGA設(shè)計(jì)并實(shí)現(xiàn)了SPI總線(xiàn)接口,該總線(xiàn)接口具有數(shù)據(jù)傳輸快、易調(diào)試、配置靈活性好等優(yōu)點(diǎn)[6-7]。

        1 SPI總線(xiàn)簡(jiǎn)介

        SPI接口是一種全雙工、三線(xiàn)通信的系統(tǒng),是常用的工業(yè)標(biāo)準(zhǔn)同步串行接口,它允許主機(jī)處理器與各種外圍設(shè)備之間的通信方式是串行通信。在SPI接口中,主/從機(jī)之間數(shù)據(jù)的傳輸需要1個(gè)時(shí)鐘信號(hào)和2條數(shù)據(jù)線(xiàn),所以SPI總線(xiàn)區(qū)分主機(jī)(Master)和從機(jī)(Slave)2部分,結(jié)構(gòu)框圖如圖1所示。

        圖1 SPI總線(xiàn)結(jié)構(gòu)框圖

        主機(jī)和從機(jī)之間SPI總線(xiàn)由4根線(xiàn)構(gòu)成:①SCK。串行同步時(shí)鐘信號(hào),用來(lái)同步主機(jī)和從機(jī)的數(shù)據(jù)傳輸,由主機(jī)控制輸出,從機(jī)在SCK的邊沿接收或發(fā)送數(shù)據(jù)。②MOSI。主機(jī)輸出/從機(jī)輸入線(xiàn),主機(jī)在上升沿(或下降沿)通過(guò)該信號(hào)線(xiàn)發(fā)送數(shù)據(jù)給從機(jī),從機(jī)在下降沿(或上升沿)通過(guò)該信號(hào)線(xiàn)接收該數(shù)據(jù)。③MISO。主機(jī)輸入/從機(jī)輸出線(xiàn),從機(jī)在上升沿(或下降沿)通過(guò)該信號(hào)線(xiàn)發(fā)送數(shù)據(jù)給主機(jī),主機(jī)在下降沿(或上升沿)通過(guò)該信號(hào)線(xiàn)接收該數(shù)據(jù)。④SS。從機(jī)片選信號(hào)線(xiàn),它同樣是由主機(jī)控制輸出[8-9]。

        1.1 SPI總線(xiàn)工作原理

        當(dāng)沒(méi)有數(shù)據(jù)需要在主機(jī)和從機(jī)之間傳輸時(shí),主機(jī)控制SCK輸出空閑電平,片選信號(hào)SS輸出無(wú)效電平,SPI總線(xiàn)處于空閑狀態(tài);當(dāng)有數(shù)據(jù)需要傳輸時(shí),主機(jī)控制SS輸出有效電平,SCK輸出時(shí)鐘信號(hào),SPI總線(xiàn)處于工作狀態(tài);在某個(gè)時(shí)鐘邊沿,主機(jī)和從機(jī)同時(shí)發(fā)送數(shù)據(jù),將數(shù)據(jù)分別傳輸?shù)組OSI和MISO上;在下一個(gè)時(shí)鐘邊沿,主機(jī)和從機(jī)同時(shí)接收數(shù)據(jù),分別將MISO和MOSI上的數(shù)據(jù)接收并存儲(chǔ);當(dāng)數(shù)據(jù)全部傳輸完畢時(shí),主機(jī)控制SCK輸出空閑電平,片選信號(hào)SS輸出無(wú)效電平,SPI總線(xiàn)重新回到空閑狀態(tài)。

        1.2 SPI總線(xiàn)數(shù)據(jù)傳輸時(shí)序

        SPI總線(xiàn)中所有的數(shù)據(jù)傳輸由串行時(shí)鐘SCK來(lái)進(jìn)行同步,每個(gè)時(shí)鐘脈沖傳送1比特?cái)?shù)據(jù)。SCK由主機(jī)產(chǎn)生,是從機(jī)的一個(gè)輸入。時(shí)鐘的相位(CPHA)與極性(CPOL)可以用來(lái)控制數(shù)據(jù)的傳輸。CPOL是用來(lái)決定SCK時(shí)鐘信號(hào)空閑時(shí)的電平。CPOL為0時(shí),空閑電平為低;CPOL為1時(shí),空閑電平為高。時(shí)鐘相位(CPHA)用來(lái)決定采樣時(shí)刻,即可以用來(lái)選擇2種不同的數(shù)據(jù)傳輸模式,當(dāng)CPHA為0時(shí),數(shù)據(jù)在片選信號(hào)SS有效后的第一個(gè)SCK邊沿有效;而當(dāng)CPHA為1時(shí),數(shù)據(jù)在片選信號(hào)SS有效后的第二個(gè)SCK邊沿才有效,因此,主機(jī)與從機(jī)中總線(xiàn)設(shè)備的時(shí)鐘相位和極性必須要一致,主/從機(jī)之間才能進(jìn)行通信。圖2和圖3分別為不同相位(CPHA)與極性(CPOL)的時(shí)鐘控制下的數(shù)據(jù)傳輸模式時(shí)序圖。

        圖2 CPHA=0時(shí)SPI總線(xiàn)數(shù)據(jù)傳輸時(shí)序

        圖3 CPHA=1時(shí)SPI總線(xiàn)數(shù)據(jù)傳輸時(shí)序

        2 SPI總線(xiàn)接口設(shè)計(jì)原理

        設(shè)計(jì)使用Verilog HDL硬件描述語(yǔ)言描述SPI總線(xiàn)接口模塊,基于FPGA器件來(lái)實(shí)現(xiàn)[10-14]。

        2.1 設(shè)計(jì)SPI總線(xiàn)接口要求

        設(shè)計(jì)的SPI總線(xiàn)接口完成工作有:①將主機(jī)收到的16位并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并發(fā)送給從機(jī);②接收來(lái)自從機(jī)的串行數(shù)據(jù),將其轉(zhuǎn)換為并行數(shù)據(jù),通過(guò)并行端口輸出;③輸出從機(jī)所需要的輸入信號(hào)、時(shí)鐘信號(hào)SCK和片選信號(hào)SS。

        2.2 設(shè)計(jì)SPI接口模塊結(jié)構(gòu)

        本文設(shè)計(jì)的SPI總線(xiàn)接口主機(jī)模塊,為了對(duì)SPI接口模塊的控制,除了SS、SCK、MISO、MOSI這些基本信號(hào)之外,還需要控制使能信號(hào)。其中,clk為外部時(shí)鐘信號(hào),rst_n為復(fù)位信號(hào),data_wr為待發(fā)送數(shù)據(jù)的16位并行輸入端,data_rd為用于接收和發(fā)送數(shù)據(jù)的移位寄存器,CPHA為SPI工作在不同時(shí)序模式選擇,send_req為發(fā)送請(qǐng)求信號(hào),send_ack為發(fā)送應(yīng)答信號(hào),recv_req為接收請(qǐng)求信號(hào),recv_ack為接收應(yīng)答信號(hào)。SPI模塊框圖如圖4所示。

        圖4 SPI模塊框圖

        2.3 SPI接口的子模塊設(shè)計(jì)

        本設(shè)計(jì)采用TOP-DOWN設(shè)計(jì)方法,把系統(tǒng)劃分為幾個(gè)子模塊,包括通信模塊、控制模塊、FIFO模塊及數(shù)據(jù)收發(fā)模塊等。

        2.3.1 通信模塊

        通信模塊實(shí)現(xiàn)與微處理器之間的通信,接收微處理器的數(shù)據(jù)和指令,通過(guò)指令解析,發(fā)出控制信號(hào)。該模塊定義的寄存器包括:①發(fā)送數(shù)據(jù)寄存器。接收微處理器發(fā)送的數(shù)據(jù),而后暫存在緩沖存儲(chǔ)器中。②接收數(shù)據(jù)寄存器。當(dāng)收到“讀數(shù)據(jù)”指令時(shí),該寄存器將從緩沖寄存器中讀入數(shù)據(jù)且通過(guò)數(shù)據(jù)總線(xiàn)發(fā)送至微處理器。③指令寄存器。接收微處理器的指令,通過(guò)指令解析后,往其他模塊發(fā)出相應(yīng)的控制信號(hào),包括發(fā)送數(shù)據(jù)指令、讀數(shù)據(jù)指令、復(fù)位指令。④狀態(tài)寄存器??刂颇K將狀態(tài)機(jī)狀態(tài)寫(xiě)入該寄存器,供主機(jī)查詢(xún)SPI總線(xiàn)工作狀態(tài)。

        2.3.2 控制模塊

        控制模塊是設(shè)計(jì)的核心。與其他設(shè)計(jì)方案相比,狀態(tài)機(jī)有很大的優(yōu)越性,比如設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單、程序?qū)哟畏置鳌⑦\(yùn)行速度較快和可靠性高,因此控制模塊采用狀態(tài)機(jī)來(lái)實(shí)現(xiàn)。根據(jù)SPI總線(xiàn)的工作原理,可將總線(xiàn)分為4種狀態(tài),各狀態(tài)之間的關(guān)系如圖5所示。

        圖5 SPI控制模塊示意圖

        2.3.3 FIFO模塊

        由于微處理器的數(shù)據(jù)速率遠(yuǎn)大于串口輸出速率,所以必須先將數(shù)據(jù)保存于緩沖區(qū),F(xiàn)IFO模塊的設(shè)計(jì)中,容量應(yīng)根據(jù)通信數(shù)據(jù)量的大小來(lái)確定。設(shè)計(jì)中,通信數(shù)據(jù)量不大,設(shè)計(jì)為保證速度與功耗的最優(yōu),縮短開(kāi)發(fā)周期,可通過(guò)調(diào)用的Altera的FIFO IP核來(lái)實(shí)現(xiàn)。設(shè)置FIFO參數(shù):存儲(chǔ)的數(shù)據(jù)寬度、數(shù)據(jù)深度。FIFO模塊包括基準(zhǔn)時(shí)鐘線(xiàn)、數(shù)據(jù)總線(xiàn)、標(biāo)志信號(hào)線(xiàn)。

        2.3.4 數(shù)據(jù)收發(fā)模塊

        該子模塊實(shí)現(xiàn)與從設(shè)備之間數(shù)據(jù)通信。在主機(jī)模式下,將從微處理器的信號(hào)經(jīng)過(guò)data_wr讀到并行數(shù)據(jù)進(jìn)行并串變換處理,存入FIFO中,并發(fā)出驅(qū)動(dòng)時(shí)鐘和片選控制信號(hào),然后通過(guò)MOSI端口從機(jī)輸出數(shù)據(jù)。在從機(jī)模式下將串行輸入的數(shù)據(jù)接收,并對(duì)數(shù)據(jù)進(jìn)行串并變換處理后寫(xiě)入FIFO模塊中。

        3 設(shè)計(jì)的仿真、綜合與實(shí)現(xiàn)

        設(shè)計(jì)的SPI通過(guò)Quartus II軟件編譯后,編寫(xiě)設(shè)計(jì)測(cè)試代碼,并使用仿真工具M(jìn)odelsim SE-64 10.2c對(duì)所設(shè)計(jì)的SPI接口模塊進(jìn)行仿真測(cè)試,CPHA=0、CPHA=1收發(fā)16位數(shù)據(jù)的仿真結(jié)果如圖6、7所示。

        圖6 SPI模塊CPHA=0仿真波形

        如圖6所示,SPI模塊的工作模式是CPOL=1,CPHA=0。當(dāng)rst_n為0時(shí),總線(xiàn)處于空閑狀態(tài),總線(xiàn)處于復(fù)位狀態(tài)。當(dāng)rst_n為1時(shí),主機(jī)發(fā)出發(fā)送請(qǐng)求信號(hào)send_req后,等待發(fā)送數(shù)據(jù),從機(jī)等到接收應(yīng)答信號(hào)recv_ack狀態(tài)由0變?yōu)?,并做好接收數(shù)據(jù)準(zhǔn)備,發(fā)出SCK輸出時(shí)鐘信號(hào),總線(xiàn)數(shù)據(jù)傳輸開(kāi)始發(fā)送數(shù)據(jù)。將待發(fā)送的數(shù)據(jù)存放在寄存器里,寄存器里存入待發(fā)送數(shù)據(jù)為1010 0110 1100 0101,在第1個(gè)周期下升邊沿時(shí)刻,主機(jī)通過(guò)MOSI端口發(fā)送寄存器里最高位1至從機(jī)。在第1個(gè)周期上升邊沿時(shí)刻,總線(xiàn)讀到的數(shù)據(jù)data_rd左移一位,此刻多出一個(gè)空閑位,即data_rd[0],同理,后續(xù)的15個(gè)數(shù)據(jù)傳輸過(guò)程與此類(lèi)似。待16位數(shù)據(jù)全部傳輸完成之后,完整的總線(xiàn)傳輸過(guò)程便結(jié)束??梢钥闯?,data_wr中的數(shù)據(jù)被按bit的方式一位一位從主機(jī)發(fā)送到從機(jī),待16個(gè)周期完成之后,data_rd中存儲(chǔ)的數(shù)據(jù)正是從機(jī)發(fā)送的數(shù)據(jù)1010 0110 1100 0101。總線(xiàn)工作在CPHA=1模式下,如圖7所示,發(fā)送16位的數(shù)據(jù)為0101 0110 1011 1100,待16位數(shù)據(jù)全部傳輸完成之后,總線(xiàn)傳輸過(guò)程結(jié)束??梢园l(fā)現(xiàn),data_wr中的數(shù)據(jù)按bit的方式一位一位從主機(jī)發(fā)送到從機(jī),待16個(gè)數(shù)據(jù)發(fā)送完成后,data_rd中存儲(chǔ)的數(shù)據(jù)正是從機(jī)發(fā)送的數(shù)據(jù)0101 0110 1011 1100。由仿真結(jié)果可以得出該設(shè)計(jì)SPI串口模塊的功能是正確的。

        圖7 SPI模塊CPHA=1仿真波形

        4 結(jié)語(yǔ)

        本文設(shè)計(jì)運(yùn)用Verilog HDL硬件描述語(yǔ)言設(shè)計(jì)了一個(gè)符合SPI總線(xiàn)規(guī)范的總線(xiàn)接口,并使用仿真工具M(jìn)odelsim SE-64 10.2c對(duì)其進(jìn)行仿真驗(yàn)證并給出仿真圖。在Quartus II 13.0中對(duì)該模塊進(jìn)行編譯和實(shí)現(xiàn),并在FPGA開(kāi)發(fā)板上完成了下載與驗(yàn)證,該總線(xiàn)接口功能正確,工作穩(wěn)定可靠,抗干擾強(qiáng),可擴(kuò)展性好。

        猜你喜歡
        發(fā)送數(shù)據(jù)寄存器電平
        移動(dòng)自組網(wǎng)中MAC層協(xié)議研究
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點(diǎn)性能分析
        帶標(biāo)記方式的CRDSA++協(xié)議性能分析*
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        使用IPSec安全傳輸數(shù)據(jù)
        NPC五電平Z源逆變器的設(shè)計(jì)研究
        基于三電平光伏并網(wǎng)逆變器控制系統(tǒng)的研究與實(shí)踐
        基于NPC三電平變換器的STATCOM研究
        一種多電平逆變器及其并網(wǎng)策略
        自拍偷拍亚洲一区| 亚洲国产婷婷香蕉久久久久久| 黄色一区二区三区大全观看| 熟女肥臀白浆一区二区| 7194中文乱码一二三四芒果| 成人a级视频在线观看| 国产成人精品成人a在线观看| 久久精品亚洲牛牛影视| 成人片99久久精品国产桃花岛| 久久久国产精品五月天伊人| 日本本土精品午夜视频| 久久久久亚洲av综合波多野结衣| 成人性生交大片免费| 国自产偷精品不卡在线| 成年奭片免费观看视频天天看| 日韩美女av二区三区四区| 国产91大片在线观看| 女人被躁到高潮嗷嗷叫免| 内射人妻视频国内| 国产一区视频在线免费观看| 日韩熟女一区二区三区| 少妇被猛烈进入中文字幕 | 一区二区三区人妻少妇| 亚洲欧美中文字幕5发布| 国产精品免费大片| 国产网站视频| 亚洲国产一区二区三区在观看 | 久草视频这里只有精品| 国产边摸边吃奶叫床视频| 丰满少妇被猛男猛烈进入久久| 97人妻碰免费视频| 日本一极品久久99精品| 亚洲人成网站色在线入口口| 国产精成人品日日拍夜夜免费| 人人妻人人添人人爽日韩欧美| 国产精品高清视亚洲乱码有限公司 | 亚洲成熟丰满熟妇高潮xxxxx| 无码精品a∨在线观看| 亚洲男人堂色偷偷一区| 亚洲一区二区三区最新视频| 亚洲人成网站在线播放2019|