chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

簡 介:

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

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

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

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

1 SPI總線接口概述

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

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

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

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

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

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

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

該模塊是802.1lb無線局域網(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所需的時鐘信號SCLK,使能信號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語言實(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)試,并做了前仿真。

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

編輯:jq

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

    關(guān)注

    68

    文章

    11213

    瀏覽量

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

    關(guān)注

    38

    文章

    4511

    瀏覽量

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

    關(guān)注

    17

    文章

    1863

    瀏覽量

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

    關(guān)注

    0

    文章

    55

    瀏覽量

    25416
  • MOSI
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    4304

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

    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 ?709次閱讀
    MAX3420E USB外設(shè)控制器,<b class='flag-5'>SPI</b><b class='flag-5'>接口</b>技術(shù)手冊

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

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

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

    SPI串行外設(shè)接口(Serial Peripheral Interface)的縮寫,是 Motorola 公司推出的一種同步串行接口技術(shù),
    的頭像 發(fā)表于 05-07 10:31 ?1362次閱讀
    基于RK3576開發(fā)板的<b class='flag-5'>SPI</b>使用說明

    串行通信接口SPI與QSPI的區(qū)別

    在嵌入式系統(tǒng)的世界里,選擇正確的通信技術(shù)可以對項(xiàng)目的性能和可擴(kuò)展性產(chǎn)生重大影響。讓我們比較兩個流行的串行通信接口SPI串行外設(shè)接口)和Q
    的頭像 發(fā)表于 04-09 15:24 ?2448次閱讀
    <b class='flag-5'>串行</b>通信<b class='flag-5'>接口</b><b class='flag-5'>SPI</b>與QSPI的區(qū)別

    看完這篇,SPI其實(shí)也很簡單嘛(可下載)

    首先我們來簡單介紹一下SPISPI串行外設(shè)接口(SerialPeripheralInterface)簡單來講就是它一種高速的,全雙工,同步的通信
    發(fā)表于 03-26 14:29 ?2次下載

    SPI通信總線概述和Verilog實(shí)現(xiàn)

    SPI = Serial Peripheral Interface,是串行外圍設(shè)備接口,是一種高速,全雙工,同步的通信總線。
    的頭像 發(fā)表于 02-07 14:28 ?1961次閱讀
    <b class='flag-5'>SPI</b>通信<b class='flag-5'>總線</b>概述和<b class='flag-5'>Verilog</b><b class='flag-5'>實(shí)現(xiàn)</b>

    總線接口的類型與選擇指南

    總線是計(jì)算機(jī)中各種設(shè)備的連接通道,是不同設(shè)備間信息傳輸?shù)墓餐ǖ馈6?b class='flag-5'>總線接口則是計(jì)算機(jī)與外部設(shè)備進(jìn)行信息傳輸?shù)耐ǖ?。以下是?b class='flag-5'>總線接口的類型及
    的頭像 發(fā)表于 12-31 10:06 ?2189次閱讀

    工業(yè)串行總線中的“安全守護(hù)者”-隔離接口芯片

    當(dāng)前,華普微的數(shù)字隔離芯片,即在微距離上實(shí)現(xiàn)無線射頻收發(fā)系統(tǒng)的“射頻芯片”,可完美解決工業(yè)總線中的隔離需求,有力保障RS-485、CAN、I2C與SPI等工業(yè)串行通信的穩(wěn)定運(yùn)行
    的頭像 發(fā)表于 12-30 11:39 ?827次閱讀
    工業(yè)<b class='flag-5'>串行</b><b class='flag-5'>總線</b>中的“安全守護(hù)者”-隔離<b class='flag-5'>接口</b>芯片

    如何使用Arduino實(shí)現(xiàn)CAN總線通信呢

    ,這些是常見的CAN控制器芯片,可以通過SPI接口與Arduino通信。 CAN總線轉(zhuǎn)接板 :用于將CAN控制器芯片與Arduino連接。 CAN總線終端電阻 :通常需要在
    的頭像 發(fā)表于 12-23 09:06 ?2785次閱讀

    TMS320C672x DSP串行外設(shè)接口(SPI)參考指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C672x DSP串行外設(shè)接口(SPI)參考指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-17 16:09 ?0次下載
    TMS320C672x DSP<b class='flag-5'>串行</b>外設(shè)<b class='flag-5'>接口</b>(<b class='flag-5'>SPI</b>)參考指南

    KeyStone架構(gòu)串行外設(shè)接口(SPI)手冊

    SPI(Serial Peripheral Interface)是一種高速、全雙工、同步的串行通信協(xié)議,它允許微控制器與一個或多個外圍設(shè)備進(jìn)行通信。SPI通信通常使用四根線:SCK(時鐘線
    發(fā)表于 12-16 10:33 ?0次下載