欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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)

電子工程師 ? 來源:現(xiàn)代電子技術(shù) ? 作者:孫豐軍;余春暄 ? 2021-05-29 10:16 ? 次閱讀

簡(jiǎn) 介:

集成電路設(shè)計(jì)越來越向系統(tǒng)級(jí)的方向發(fā)展,并且越來越強(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芯片中的位置,及該接口作為基帶和射頻的通訊接口所完成的功能,并給出了用硬件描述語言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ái)。并逐步向支持系統(tǒng)級(jí)的設(shè)計(jì)方向發(fā)展。而且,在設(shè)計(jì)過程中,越來越強(qiáng)調(diào)模塊化設(shè)計(jì)。

SPI總線是Motorola公司提出的一個(gè)同步串行外設(shè)接口,具有接口線少、通訊效率高等特點(diǎn)。本文給出的是利用Verilog HDL實(shí)現(xiàn)的SPI總線模塊,該模塊是802.11b無線局域網(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)地址無關(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所需的時(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語言實(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)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10908

    瀏覽量

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

    關(guān)注

    38

    文章

    4208

    瀏覽量

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

    關(guān)注

    17

    文章

    1724

    瀏覽量

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

    關(guān)注

    0

    文章

    54

    瀏覽量

    24631
  • MOSI
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    4031

原文標(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)推薦

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

    SPI = Serial Peripheral Interface,是串行外圍設(shè)備接口,是一種高速,全雙工,同步的通信總線。
    的頭像 發(fā)表于 02-07 14:28 ?364次閱讀
    <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>

    工業(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 ?195次閱讀
    工業(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 ?543次閱讀

    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)手冊(cè)

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

    能否在純fpga上通過verilog實(shí)現(xiàn)SPI控制器去配置adc12dj3200?

    ti工程師,您好,我最近想用adc12dj3200實(shí)現(xiàn)L波段信號(hào)采樣,可以問一下上圖中的FPGA可以是支持jesd204b總線的任何FPGA芯片嗎?是否可以通過verilog實(shí)現(xiàn)
    發(fā)表于 11-18 07:28

    spi master接口的fpga實(shí)現(xiàn)

    串行外圍接口 大致了解: spi是個(gè)同步協(xié)議,數(shù)據(jù)在master和slaver間交換通過時(shí)鐘sck,由于它是同步協(xié)議,時(shí)鐘速率就可以各種變換。 sck:主機(jī)提供,從機(jī)不能操控,從器件由主機(jī)產(chǎn)生的時(shí)鐘控制。數(shù)據(jù)只有在sck來了的
    的頭像 發(fā)表于 11-16 10:35 ?593次閱讀
    <b class='flag-5'>spi</b> master<b class='flag-5'>接口</b>的fpga<b class='flag-5'>實(shí)現(xiàn)</b>

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

    可以通過SPI接口與Arduino通信。 CAN總線轉(zhuǎn)接板 :用于將CAN總線模塊與Arduino連接。 跳線 :用于連接Arduino和CAN總線
    的頭像 發(fā)表于 11-12 10:09 ?1388次閱讀

    SPI接口靜電放電防護(hù)方案

    SPI(Serial Peripheral Interface,串行外圍設(shè)備接口),是Motorola公司提出的一種同步串行接口技術(shù),是一種
    的頭像 發(fā)表于 09-20 15:31 ?461次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>接口</b>靜電放電防護(hù)方案

    航天級(jí)100krad隔離式串行外設(shè)接口(SPI)LVDS電路

    電子發(fā)燒友網(wǎng)站提供《航天級(jí)100krad隔離式串行外設(shè)接口(SPI)LVDS電路.pdf》資料免費(fèi)下載
    發(fā)表于 09-20 10:54 ?3次下載
    航天級(jí)100krad隔離式<b class='flag-5'>串行</b>外設(shè)<b class='flag-5'>接口</b>(<b class='flag-5'>SPI</b>)LVDS電路

    航天級(jí)100krad隔離式串行外設(shè)接口SPI)RS-422電路

    電子發(fā)燒友網(wǎng)站提供《航天級(jí)100krad隔離式串行外設(shè)接口SPI)RS-422電路.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 13:15 ?2次下載
    航天級(jí)100krad隔離式<b class='flag-5'>串行</b>外設(shè)<b class='flag-5'>接口</b>(<b class='flag-5'>SPI</b>)RS-422電路

    CAN總線接口類型

    CAN總線(Controller Area Network)是一種基于廣播的串行通信協(xié)議,廣泛用于連接分布式系統(tǒng)中的各個(gè)設(shè)備,實(shí)現(xiàn)它們之間的數(shù)據(jù)交換和控制。CAN總線
    的頭像 發(fā)表于 09-03 14:13 ?2363次閱讀

    SPI總線的定義和特點(diǎn)

    SPI總線(Serial Peripheral Interface),全稱為串行外圍設(shè)備接口,是由Motorola公司提出并定義的一種同步、串行
    的頭像 發(fā)表于 09-03 14:05 ?1271次閱讀

    串行外設(shè)接口的菊花鏈實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《串行外設(shè)接口的菊花鏈實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 08-27 09:45 ?1次下載
    <b class='flag-5'>串行</b>外設(shè)<b class='flag-5'>接口</b>的菊花鏈<b class='flag-5'>實(shí)現(xiàn)</b>

    TUSB2046x 4端口集線器,用于帶可選串行EEPROM接口的通用串行總線數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TUSB2046x 4端口集線器,用于帶可選串行EEPROM接口的通用串行總線數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 06-25 09:36 ?0次下載
    TUSB2046x 4端口集線器,用于帶可選<b class='flag-5'>串行</b>EEPROM<b class='flag-5'>接口</b>的通用<b class='flag-5'>串行總線</b>數(shù)據(jù)表