哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于SPI串行總線接口的Verilog實(shí)現(xiàn)

電子工程師 ? 來(lái)源:現(xiàn)代電子技術(shù) ? 作者:孫豐軍;余春暄 ? 2021-05-29 10:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡(jiǎn) 介:

集成電路設(shè)計(jì)越來(lái)越向系統(tǒng)級(jí)的方向發(fā)展,并且越來(lái)越強(qiáng)調(diào)模塊化的設(shè)計(jì)。SPI(Serial Peripheral Bus)總線是Motorola公司提出的一個(gè)同步串行外設(shè)接口,容許CPU 與各種外圍接口器件以串行方式進(jìn)行通信、交換信息。本文簡(jiǎn)述了SPI總線的特點(diǎn),介紹了其4條信號(hào)線,SPI串行總線接口的典型應(yīng)用。

重點(diǎn)描述了SPI串行總線接口在一款802.11b芯片中的位置,及該接口作為基帶和射頻的通訊接口所完成的功能,并給出了用硬件描述語(yǔ)言Verilog HDL 實(shí)現(xiàn)該接口的部分程序。該實(shí)現(xiàn)已經(jīng)在Modelsim 中完成了仿真, 并經(jīng)過(guò)了FPGA 驗(yàn)證, 最后給出了仿真和驗(yàn)證的結(jié)果。

在SOC設(shè)計(jì)中,利用EDA 工具設(shè)計(jì)芯片實(shí)現(xiàn)系統(tǒng)功能已經(jīng)成為支撐電子設(shè)計(jì)的通用平臺(tái)。并逐步向支持系統(tǒng)級(jí)的設(shè)計(jì)方向發(fā)展。而且,在設(shè)計(jì)過(guò)程中,越來(lái)越強(qiáng)調(diào)模塊化設(shè)計(jì)。

SPI總線是Motorola公司提出的一個(gè)同步串行外設(shè)接口,具有接口線少、通訊效率高等特點(diǎn)。本文給出的是利用Verilog HDL實(shí)現(xiàn)的SPI總線模塊,該模塊是802.11b無(wú)線局域網(wǎng)芯片中一個(gè)子模塊,該模塊完成了芯片中基帶(base band)與RF的通訊工作。

1 SPI總線接口概述

SPI(Serial Parallel Bus)總線是Motorola公司提出的一個(gè)同步串行外設(shè)接口,允許CPU 與各種外圍接口器件(包括模/數(shù)轉(zhuǎn)換器、數(shù)/模轉(zhuǎn)換器、液晶顯示驅(qū)動(dòng)器等)以串行方式進(jìn)行通信、交換信息。他使用4條線:串行時(shí)鐘線(SCK)、主機(jī)輸入/從機(jī)輸出線(MISO)、主機(jī)輸出/從機(jī)輸入線(MOSI)、低電平有效的使能信號(hào)線(CS)。這樣,僅需3~4根數(shù)據(jù)線和控制線即可擴(kuò)展具有SPI接口的各種I/O器件 其典型結(jié)構(gòu)如圖1所示。

7a171ac8-bfed-11eb-9e57-12bb97331649.png

SPI總線具有以下特點(diǎn):

(1)連線較少,簡(jiǎn)化電路設(shè)計(jì)。并行總線擴(kuò)展方法通常需要8根數(shù)據(jù)線、8~16根地址線、2~3根控制線。而這種設(shè)計(jì),僅需4根數(shù)據(jù)和控制線即可完成并行擴(kuò)展所實(shí)現(xiàn)的功能。

(2)器件統(tǒng)一編址,并與系統(tǒng)地址無(wú)關(guān),操作SPI獨(dú)立性好。

(3)器件操作遵循統(tǒng)一的規(guī)范,使系統(tǒng)軟硬件具有良好的通用性。

2 SPI總線接口的設(shè)計(jì)與實(shí)現(xiàn)

該模塊是802.1lb無(wú)線局域網(wǎng)芯片中的一子模塊,其在芯片中的位置如圖2所示。

7d27bda8-bfed-11eb-9e57-12bb97331649.png

其中base band(基帶)為SPI的主控器(master),RF(射頻)為SPI的受控器(slave)。SPI interface作為baseband與RF的通訊接口,主要完成以下工作:

(1)將從base band接收到的16位的并行數(shù)據(jù),轉(zhuǎn)換為RF所能接收的串行數(shù)據(jù),并將該數(shù)據(jù)根據(jù)SPI協(xié)議送給RF。

(2)產(chǎn)生RF所需的時(shí)鐘信號(hào)SCLK,使能信號(hào)CSB。

(3)接收從RF傳回的串行數(shù)據(jù),并將其轉(zhuǎn)換為并行數(shù)據(jù)。

(4)將base band發(fā)送的數(shù)據(jù),與RF返回的數(shù)據(jù)進(jìn)行比較,并把比較結(jié)果傳給base band。

下面給出用Verilog HDL語(yǔ)言實(shí)現(xiàn)前兩項(xiàng)功能的關(guān)鍵程序,相關(guān)變量的聲明在此略去。

//generate a counter

always@ (posedge clock or negedge reset)

begin

if(!reset)

counter《= 0;

else if(enable)

begin

if(counter《 53)

counter=counter + 1;

end

end

//generate signal “csb”

always@ (posedge clock or negedge reset)

begin

if(!reset)

csb 《=1;

else if(counter》= 1 && counter 《= 50)

csb = 0;

else

csb = 1;

end

//Generate “sclk”

always@ (posedge clock or negedge reset)

begin

case(counter)

6‘d02: sclk = 1;

6’d05: sclk = 1;

6‘d08: sclk = 1;

6’d11: sclk = 1;

6‘d14: sclk = 1;

6’d17: sclk = 1;

6‘d20: sclk = 1;

6’d23: sclk = 1;

6‘d26: sclk = 1;

6’d29: sclk = 1;

6‘d32: sclk = 1;

6’d35: sclk = 1;

6‘d38: sclk = 1;

6’d41: sclk = 1;

6‘d44: sclk = 1;

6’d47: sclk = 1;

default sclk = 0;

endcase

end

always@ (counter or csb)

begin

if(csb == 0)

case(counter)

6‘h00,

6’h01,

6‘h02,

6’h03:mosi_index = 5‘h00;

6’h04,

6‘h05,

6’h06:mosi_index = 5‘h01;

6’h07,

6‘h08,

6’h09:mosi_index = 5‘h02;

6’h0A,

6‘h0B,

6’h0C:mosi_index = 5‘h03;

6’h0D,

6‘h0E,

6’h0F:mosi_index = 5‘h04;

6’h10,

6‘h11,

6’h12:mosi_index = 5‘h05;

6’h13,

6‘h14,

6’h15:mosi_index = 5‘h06;

6’h16,

6‘h17,

6’h18:mosi_index = 5‘h07;

6’h19,

6‘h1A,

6’h1B:mosi_index = 5‘h08;

6’h1C,

6‘h1D,

6’hlE:mosi_index = 5‘h09;

6’h1F,

6‘h20,

6’h21:mosi_index = 5‘h0A ;

6’h22,

6‘h23,

6’h24:mosi_index = 5‘h0B;

6’h25,

6‘h26,

6’h27:mosi_index = 5‘h0C ;

6’h28,

6‘h29,

6’h2A:mosi_index = 5‘h0D ;

6’h2B,

6‘h2C,

6’h2D:mosi_index = 5‘h0E;

6’h2E,

6‘h2F,

6’h30:mosi_index = 5‘h0F;

default:mosi_index = 5’h00;

endcase

else

mosi_index = 5‘h00:

end

assign mosi=spi_data[mosi_index3];

用Verilog HDL實(shí)現(xiàn)的SPI總線接口模塊,在ModelSim 中編譯、調(diào)試,并做了前仿真。

前仿真通過(guò)后,又在Altera公司的EPXA10 Develop Board上做了FPGA驗(yàn)證,結(jié)果與在ModelSim 中的仿真結(jié)果一致。最后在base band與RF的聯(lián)合調(diào)試過(guò)程中,該SPI總線接口模塊達(dá)到了預(yù)期的要求。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11320

    瀏覽量

    225791
  • soc
    soc
    +關(guān)注

    關(guān)注

    40

    文章

    4619

    瀏覽量

    230057
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1897

    瀏覽量

    102061
  • CS
    CS
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    25628
  • MOSI
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    4361

原文標(biāo)題:SPI串行總線接口的Verilog實(shí)現(xiàn)

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    深入解析Microchip 23A256/23K256 256-Kbit SPI總線低功耗串行SRAM

    /ST.pdf 一、產(chǎn)品概述 Microchip的23A256/23K256是256-Kbit的串行SRAM設(shè)備,通過(guò)簡(jiǎn)單的串行外設(shè)接口SPI)兼容
    的頭像 發(fā)表于 04-05 13:50 ?634次閱讀

    Everspin四路串行外設(shè)接口MRAM芯片

    組織為512Kx8使用的片選(CS)、串行輸入(SI)、串行輸出(SO)和串行時(shí)鐘(SCK)的四引腳接口串行外設(shè)
    的頭像 發(fā)表于 03-26 15:56 ?145次閱讀
    Everspin四路<b class='flag-5'>串行</b>外設(shè)<b class='flag-5'>接口</b>MRAM芯片

    深入解析Microchip 25AA128/25LC128 128K SPI總線串行EEPROM

    深入解析Microchip 25AA128/25LC128 128K SPI總線串行EEPROM 一、引言 在電子設(shè)計(jì)領(lǐng)域,串行EEPROM是一種常用的非易失性存儲(chǔ)器,廣泛應(yīng)用于各種需
    的頭像 發(fā)表于 02-09 16:50 ?590次閱讀

    使用PicoScope示波器解碼SPI總線信號(hào)

    串行外設(shè)接口SPI, Serial Peripheral Interface)總線最早由 Motorola 開發(fā),用于其微控制器產(chǎn)品。由于其結(jié)構(gòu)簡(jiǎn)單、
    的頭像 發(fā)表于 02-04 09:49 ?8012次閱讀
    使用PicoScope示波器解碼<b class='flag-5'>SPI</b><b class='flag-5'>總線</b>信號(hào)

    瑞芯微(EASY EAI)RV1126B SPI使用

    1.SPI簡(jiǎn)介SPI串行外設(shè)接口(SerialPeripheralInterface)的縮寫,是Motorola公司推出的一種同步串行
    的頭像 發(fā)表于 01-03 14:00 ?1903次閱讀
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>SPI</b>使用

    PCA9958:24通道SPI串行總線63 mA/5.5 V恒流LED驅(qū)動(dòng)器的深度解析

    PCA9958:24通道SPI串行總線63 mA/5.5 V恒流LED驅(qū)動(dòng)器的深度解析 在LED驅(qū)動(dòng)領(lǐng)域,NXP的PCA9958是一款極具特色的24通道SPI
    的頭像 發(fā)表于 12-24 15:05 ?653次閱讀

    SPI、I2C、UART三種串行總線的區(qū)別與對(duì)比

    1)概念定義 SPI(Serial Peripheral Interface:串行外設(shè)接口); I2C(INTER IC BUS:意為IC之間總線) UART(Universa
    發(fā)表于 11-20 07:19

    瑞薩RA8D1 MCU的OSPI Flash適配指南

    OSPI Flash(Octal SPI Flash)是一種基于SPI串行外設(shè)接口)擴(kuò)展的高速串行Flash存儲(chǔ)器,采用8-bit數(shù)據(jù)
    的頭像 發(fā)表于 07-17 11:24 ?3291次閱讀
    瑞薩RA8D1 MCU的OSPI Flash適配指南

    ADUM4150用于SPI高速接口的5kV專用隔離器技術(shù)手冊(cè)

    ADuM4150是一款5kV rms、6通道SPIsolator ^?^ 數(shù)字隔離器,針對(duì)隔離式串行外設(shè)接口(SPI)進(jìn)行了優(yōu)化。(提供3.75kV rms型號(hào))。這款器件基于ADI公司
    的頭像 發(fā)表于 06-04 10:55 ?1012次閱讀
    ADUM4150用于<b class='flag-5'>SPI</b>高速<b class='flag-5'>接口</b>的5kV專用隔離器技術(shù)手冊(cè)

    ADUM4154用于SPI接口的5 kV專用隔離器技術(shù)手冊(cè)

    ADuM4154是一款5kV rms、7通道SPIsolator ^?^ 數(shù)字隔離器,針對(duì)串行外設(shè)接口(SPI)進(jìn)行了優(yōu)化,并最多可以支持4個(gè)從器件。 (提供3.75kV rms型號(hào))。這款器件
    的頭像 發(fā)表于 06-04 10:48 ?1362次閱讀
    ADUM4154用于<b class='flag-5'>SPI</b><b class='flag-5'>接口</b>的5 kV專用隔離器技術(shù)手冊(cè)

    LTM2895 100MHz隔離型DAC SPI串行接口技術(shù)手冊(cè)

    LTM2895 是一款采用 DAC 控制信號(hào)的高速隔離型 μModule ^?^ (微型模塊) SPI 接口,該器件專為隔離LTC 的通用型 DAC 系列和隔離通用型 SPI 接口而設(shè)
    的頭像 發(fā)表于 06-03 10:04 ?1522次閱讀
    LTM2895 100MHz隔離型DAC <b class='flag-5'>SPI</b><b class='flag-5'>串行</b><b class='flag-5'>接口</b>技術(shù)手冊(cè)

    MAX3420E USB外設(shè)控制器,SPI接口技術(shù)手冊(cè)

    MAX3420E包含實(shí)現(xiàn)USB 2.0全速USB外設(shè)所需的數(shù)字邏輯電路和模擬電路。全速收發(fā)器具有±15kV ESD保護(hù)和可編程的USB連接和斷開特性。內(nèi)部的串行接口引擎(SIE)負(fù)責(zé)處理底層USB
    的頭像 發(fā)表于 05-23 11:35 ?1220次閱讀
    MAX3420E USB外設(shè)控制器,<b class='flag-5'>SPI</b><b class='flag-5'>接口</b>技術(shù)手冊(cè)

    MAX3421E USB外設(shè)/主機(jī)控制器,SPI接口技術(shù)手冊(cè)

    串行接口引擎(SIE)處理底層USB協(xié)議,如錯(cuò)誤校驗(yàn)和總線重試。通過(guò)頻率高達(dá)26MHz的SPI?接口訪問(wèn)寄存器組,
    的頭像 發(fā)表于 05-22 16:39 ?1762次閱讀
    MAX3421E USB外設(shè)/主機(jī)控制器,<b class='flag-5'>SPI</b><b class='flag-5'>接口</b>技術(shù)手冊(cè)

    基于RK3576開發(fā)板的SPI使用說(shuō)明

    SPI串行外設(shè)接口(Serial Peripheral Interface)的縮寫,是 Motorola 公司推出的一種同步串行接口技術(shù),
    的頭像 發(fā)表于 05-07 10:31 ?1710次閱讀
    基于RK3576開發(fā)板的<b class='flag-5'>SPI</b>使用說(shuō)明
    长宁区| 连山| 海晏县| 红桥区| 霸州市| 湟源县| 新龙县| 舞阳县| 中阳县| 弥渡县| 安溪县| 巩留县| 上饶县| 琼中| 武鸣县| 德清县| 丰宁| 临湘市| 阜城县| 东源县| 大同市| 麻城市| 沙雅县| 台州市| 礼泉县| 乌审旗| 汉源县| 天镇县| 宁阳县| 宁陕县| 桦川县| 汝城县| 香格里拉县| 阳谷县| 大英县| 和田县| 太仆寺旗| 黄冈市| 惠水县| 辛集市| 朝阳县|