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

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

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

SPI主、從端數(shù)據(jù)通信建模的基礎(chǔ)知識

lPCU_elecfans ? 來源:搜狐網(wǎng) ? 作者:搜狐網(wǎng) ? 2020-09-08 14:49 ? 次閱讀

SPI數(shù)據(jù)通信是常用的一種中低速芯片級的數(shù)據(jù)通信。SPI數(shù)據(jù)通信協(xié)議簡單,連線不多,而且是全雙工通信,因此廣泛用于實現(xiàn)數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)存儲等功能。本章簡要介紹SPI數(shù)據(jù)通信的協(xié)議及主端與從端的VerilogHDL建模與仿真。

SPI數(shù)據(jù)通信協(xié)議

SPI是英文Serial Peripheral Interface的首字母縮寫,中文可以翻譯為串行外圍設(shè)備接口。SPI 是Motorola公司首先推出的一種同步串行接口。它用于CPU或者FPGA與各種外圍器件進行全雙工、同步串行數(shù)據(jù)通信。SPI 通信接口簡單,只需要4根線:clk同步時鐘信號、mosi主端輸出/從端輸人數(shù)據(jù)信號、miso主端輸人/從端輸出數(shù)據(jù)信號、cs從端片選信號(如果有多個從端,則需要有多個cs從端片選信號與之相對應(yīng))。SPI數(shù)據(jù)通信的同步串行傳輸順序是高位先傳、低位后傳。

四種SPI通信模式

SPI數(shù)據(jù)通信有4種模式,分別稱為模式1至模式4。不同的模式是由開始數(shù)據(jù)采樣的邊沿及時鐘的空閑狀態(tài)決定的。時鐘的空閑狀態(tài)有2種,即高電平與低電平,分別對應(yīng)CPOL=1與CPOL=0,如圖18-1所示。

發(fā)送與接收數(shù)據(jù)的時鐘邊沿的情況也有2種:數(shù)據(jù)開始采樣發(fā)生在時鐘的第一個邊沿(也可理解為奇數(shù)邊沿進行數(shù)據(jù)采樣)與數(shù)據(jù)開始發(fā)送發(fā)生在時鐘的第二個邊沿(也可理解為偶數(shù)邊沿進行數(shù)據(jù)發(fā)送),分別對應(yīng) CPHA=0與CPHA=1,如圖18-2與圖18-3所示。

根據(jù)CPOL與CPHA的值,SPI的傳輸就可分為4種模式:模式0是CPOL=0,CPHA=0;模式1是CPOL= 1,CPHA=0;模式2是CPOL=0,CPHA=1;模式3是CPOL=1,CPHA=1。本章以模式0為例進行介紹。

對應(yīng)圖18-2,分析在片選信號下降沿有效時開始發(fā)送最高位數(shù)據(jù),其余的數(shù)據(jù)在時鐘信號的下降沿發(fā)送,最后一個時鐘下降沿不發(fā)送數(shù)據(jù)。而數(shù)據(jù)采樣發(fā)生在時鐘信號的上升沿。

SPI從端數(shù)據(jù)通信模塊

SPI從端數(shù)據(jù)通信模塊建模

SPI數(shù)據(jù)通信分主端與從端,從端被動地進行數(shù)據(jù)通信的接收與發(fā)送。從端被動的數(shù)據(jù)通信是根據(jù)時鐘信號與片選信號的邊沿進行判斷的。當(dāng)片選信號的下降沿有效時發(fā)送最高位數(shù)據(jù),當(dāng)時鐘信號上升沿有效時進行數(shù)據(jù)采樣接收數(shù)據(jù)。根據(jù)以上分析設(shè)計Verilog HDL代碼如【代碼18-1】所列。

【代碼18-1】

【代碼18-1】編譯無誤后,設(shè)計【代碼18-1】的測試平臺,通過觀察分析波形來確定spi_slave模塊是否滿足SPI從端數(shù)據(jù)通信的邏輯功能。設(shè)計spi_slave模塊的測試平臺如【代碼18-2】所列。

【代碼18-2】

在ModelSim軟件中對【代碼18-1】進行波形仿真,如圖18-4所示。

波形仿真報告分析

在圖18-4上,先確定SPI主端發(fā)送的數(shù)據(jù)是00001001,SPI從端發(fā)送的數(shù)據(jù)是10000001。在373 ns時刻捕獲到SPI片選信號r_spi_cs的下沿,此時主、從端開始發(fā)送最高位數(shù)據(jù)0與1,在接下來的時鐘下降沿發(fā)送其余的數(shù)據(jù),同時在時鐘的上升沿接收數(shù)據(jù)。最后,從端接收到的數(shù)據(jù)w_ srx_data為00001001,該數(shù)據(jù)與主端發(fā)送的數(shù)據(jù)00001001一致,說明SPI從端實現(xiàn)了數(shù)據(jù)通信。

SPI主端數(shù)據(jù)通佶模塊

SPI主端數(shù)據(jù)通信模塊建模

在數(shù)據(jù)通信模式上,SPI主端與SPI從端一樣,也分為4種模式,而且數(shù)據(jù)發(fā)送與接收的時序也基本一致。本節(jié)也是以模式0為例。與SPI從端不同的是,SPI主端多了產(chǎn)生片選信號與時鐘的邏輯,因為在SPI數(shù)據(jù)通信中,片選信號與時鐘信號是由SPI主端產(chǎn)生的。因此,只要根據(jù)模式0的時序關(guān)系產(chǎn)生相應(yīng)的片選信號與時鐘信號,再實例化SPI從端模塊即可設(shè)計成SPI主端模塊。根據(jù)以上分析設(shè)計Verilog HDL代碼如【代碼18-3】所列。

【代碼18-3】

【代碼18-3】編譯無誤后,設(shè)計【代碼18-3】的測試平臺,通過觀察分析波形來確定spi_master模塊是否滿足SPI主端數(shù)據(jù)通信的邏輯功能。設(shè)計spi_master模塊的測試平臺如【代碼18-4】所列。

【代碼18-4】

在ModelSim軟件中對【代碼18-3】進行波形仿真,如圖18-5所示。

波形仿真報告分析

在圖18-5上,先確定SPI主端發(fā)送的數(shù)據(jù)r_mtx_data是00001101,SPI從端發(fā)送的數(shù)據(jù)r_stx_data是00001101。經(jīng)過8個SPI時鐘周期之后,主、從端都接收到數(shù)據(jù)00001101,說明SPI主、從端實現(xiàn)了數(shù)據(jù)通信。

本篇知識點主要介紹有關(guān)SPI主、從端數(shù)據(jù)通信建模方面的內(nèi)容,包括什么是SPI數(shù)據(jù)通信,四種SPI通信模式,以及SPI主、從端通信模塊建模的具體方法。另外,我們還講到如何基于Qsys的最小Nios II系統(tǒng)的搭建,基于其自帶的IP模塊的使用,包括了PIO模塊、UART模塊、定時器模塊以及SPI模塊等,基于Qsys的自定義外設(shè)、自定義指令的應(yīng)用實例。

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

    關(guān)注

    17

    文章

    1666

    瀏覽量

    90715
  • 數(shù)據(jù)通信
    +關(guān)注

    關(guān)注

    2

    文章

    425

    瀏覽量

    33664

原文標(biāo)題:FPGA設(shè)計應(yīng)用實例——SPI主從端數(shù)據(jù)通信實現(xiàn)

文章出處:【微信號:elecfans,微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    數(shù)據(jù)通信基礎(chǔ)課件

    數(shù)據(jù)通信基礎(chǔ)課件第2章  數(shù)據(jù)通信基礎(chǔ)本章學(xué)習(xí)目標(biāo)2.1  數(shù)據(jù)通信的基本概念2.2  數(shù)據(jù)編碼技術(shù)2.3  多路復(fù)用技術(shù)
    發(fā)表于 06-27 21:44

    數(shù)據(jù)通信工程

    通信工程叢書--數(shù)據(jù)通信工程
    發(fā)表于 03-25 00:55 ?50次下載

    數(shù)據(jù)通信基礎(chǔ)

    數(shù)據(jù)通信基礎(chǔ) 數(shù)據(jù)通信數(shù)據(jù)通信系統(tǒng) 物理信道的連接方式 數(shù)據(jù)傳輸原理 傳輸介質(zhì)  數(shù)據(jù)交換技術(shù)  
    發(fā)表于 04-28 16:27 ?0次下載

    數(shù)據(jù)通信的基本概念

    2.1  數(shù)據(jù)通信的基本概念2.1.1  數(shù)據(jù)、信息和信號 2.1.2  數(shù)據(jù)通信系統(tǒng)的模型 2.1.3  數(shù)據(jù)通信系統(tǒng)的主要質(zhì)量指標(biāo)2.1.1
    發(fā)表于 06-27 21:44 ?0次下載

    單片機串行數(shù)據(jù)通信

    8.1  串行通信基礎(chǔ)知識       串行數(shù)據(jù)通信要解決兩個關(guān)鍵技術(shù)問題,一個是數(shù)據(jù)傳送,另一個是
    發(fā)表于 02-23 11:50 ?0次下載

    什么是數(shù)據(jù)通信

    什么是數(shù)據(jù)通信 數(shù)據(jù)通信是依照一定的通信協(xié)議,利用數(shù)據(jù)傳輸技術(shù)在兩個終端之間傳遞數(shù)據(jù)信息的一種通信
    發(fā)表于 06-14 22:32 ?3609次閱讀

    無線移動數(shù)據(jù)通信,無線移動數(shù)據(jù)通信是什么意思

    無線移動數(shù)據(jù)通信,無線移動數(shù)據(jù)通信是什么意思 無線移動數(shù)據(jù)通信是通過無線電波傳送數(shù)據(jù)信息的一種通信方式。
    發(fā)表于 03-13 11:02 ?3061次閱讀

    數(shù)據(jù)通信,數(shù)據(jù)通信原理是什么?

    數(shù)據(jù)通信,數(shù)據(jù)通信原理是什么? 數(shù)據(jù)通信討論的是從一個設(shè)備到另一個設(shè)備傳輸信息。協(xié)議定義了通信的規(guī)則,以便發(fā)送者和接收者能夠協(xié)調(diào)他們的
    發(fā)表于 03-17 16:16 ?6220次閱讀
    <b class='flag-5'>數(shù)據(jù)通信</b>,<b class='flag-5'>數(shù)據(jù)通信</b>原理是什么?

    數(shù)據(jù)通信技術(shù)(華為資料)

    本書為華為系列叢書中的其中一篇 本書嘗試用通俗易懂的語言將復(fù)雜的電信網(wǎng)絡(luò)展現(xiàn)在具有不同知識結(jié)構(gòu)的讀者面前 數(shù)據(jù)通信技術(shù):數(shù)據(jù)通信是以數(shù)據(jù)為業(yè)務(wù)的通信
    發(fā)表于 03-16 17:52 ?0次下載

    數(shù)據(jù)通信基礎(chǔ)知識匯總

    一、數(shù)據(jù)通信的構(gòu)成原理、交換方式及適用范圍 1.數(shù)據(jù)通信的構(gòu)成原理 DTE是數(shù)據(jù)終端。數(shù)據(jù)終端有分組型終端(PT)和非分組型終端(NPT)兩大類。分組型終端有計算機、數(shù)字傳真機、
    發(fā)表于 07-03 15:51 ?9055次閱讀

    數(shù)據(jù)通信協(xié)議的簡介_數(shù)據(jù)通信協(xié)議有哪些

    數(shù)據(jù)通信協(xié)議,亦稱數(shù)據(jù)通信控制協(xié)議。是為保證數(shù)據(jù)通信網(wǎng)中通信雙方能有效,可靠通信而規(guī)定的一系列約定。這些約定包括
    發(fā)表于 02-06 16:41 ?8749次閱讀
    <b class='flag-5'>數(shù)據(jù)通信</b>協(xié)議的簡介_<b class='flag-5'>數(shù)據(jù)通信</b>協(xié)議有哪些

    采用軟件模擬SPI總線實現(xiàn)雙單片機數(shù)據(jù)通信模塊的設(shè)計

    我們在對雙單片機數(shù)據(jù)通信模塊設(shè)計的過程中,人們?yōu)榱耸蛊?b class='flag-5'>數(shù)據(jù)信息傳輸能力得到有效的提高,人們就采用軟件模擬SPI總線來對其進行處理,這樣不僅使得通過系統(tǒng)通信結(jié)構(gòu)得到了進一步的優(yōu)化,還很好
    的頭像 發(fā)表于 02-04 08:04 ?2912次閱讀
    采用軟件模擬<b class='flag-5'>SPI</b>總線實現(xiàn)雙單片機<b class='flag-5'>數(shù)據(jù)通信</b>模塊的設(shè)計

    詳談數(shù)據(jù)通信的傳輸損耗分類和原理

    數(shù)據(jù)通信知識每天都在被使用,每一次發(fā)送微信、每一次瀏覽網(wǎng)頁,我們都在不知不覺中使用數(shù)據(jù)通信。對于數(shù)據(jù)通信,小編在往期文章中有所介紹,如數(shù)據(jù)通信
    發(fā)表于 07-23 10:49 ?5971次閱讀
    詳談<b class='flag-5'>數(shù)據(jù)通信</b>的傳輸損耗分類和原理

    數(shù)據(jù)通信的基本概念

    數(shù)據(jù)通信通信技術(shù)和計算機技術(shù)相結(jié)合而產(chǎn)生的一種新的通信方式。要在兩地間傳輸信息必須有傳輸信道,根據(jù)傳輸媒體的不同,有有線數(shù)據(jù)通信與無線數(shù)據(jù)通信
    發(fā)表于 05-05 14:44 ?3295次閱讀

    數(shù)據(jù)通信系統(tǒng)的組成 數(shù)據(jù)通信系統(tǒng)的主要技術(shù)指標(biāo)

    數(shù)據(jù)通信系統(tǒng)是由多個組件組成的,主要包括發(fā)送、接收、傳輸介質(zhì)和通信協(xié)議。數(shù)據(jù)通信系統(tǒng)的主要技術(shù)指標(biāo)包括傳輸速率、
    的頭像 發(fā)表于 01-24 17:06 ?1934次閱讀