freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

spi接口的仿真及驗證畢業(yè)論文(編輯修改稿)

2024-08-25 09:07 本頁面
 

【文章內(nèi)容簡介】 線 MOSI 和低電平有效的從機選擇線 SS(有的 SPI 接口芯片帶有中斷信號線 INT、有的 SPI 接口芯片沒有主機輸出 /從機輸入數(shù)據(jù)線 MOSI) [7]。 SPI 簡介 SPI( Serial Peripheral Interface)接口是工業(yè)標準的同步串行接口,是一種全雙工、三線通信的系統(tǒng)。 由于串行總線的信號線比并行總線更少、更簡單 ,越來越多的系統(tǒng)放棄 使用并行總線而采用串行總線。在眾多串行總線中 ,SPI 總線與 I2C 總線、 CAN 總線、 USB 等其他常用總線相比有很大優(yōu)勢。 SPI 總線最典型的應用就是主機與外圍設備 (如 EEPROM、Flash RAM、 A/D 轉(zhuǎn)換器、 LED 顯示器、實時時鐘等 )之間的通信 [6]。 SPI 的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多個從設備,需要至少 4 根線(單向傳輸時只需要 3 根)。也是所有基于 SPI 的設備共有的,它們是 SDI(數(shù)據(jù)輸入), SD(數(shù)據(jù)輸出), SCK(時鐘), CS(片選)。它們的定義如下: SCK:同步時鐘信號 ,用來同步主機和從機的數(shù)據(jù)傳輸 ,由主機控制輸出 ,從機在 SCK 的邊沿接收和發(fā)送數(shù)據(jù) 。 MOSI:主機輸出、從機輸入信號 ,主機在上升沿 (或下降沿 )通過該信號線發(fā)送數(shù)據(jù)給從機 ,從機在下降沿 (或上升沿 )通過該信號線接收該數(shù)據(jù) 。 江南大學學士學位論文 6 MISO:主機輸入、從機輸出信號 ,從機在上升沿 (或下降沿 )通過該信號線發(fā)送數(shù)據(jù)給主機 ,主機在下降沿 (或上升沿 )通過該信號線接收該數(shù)據(jù) 。 CS:從機片選信號 ,由主機控制輸出。 其中 CS 是控制芯片是否被選中的,也就是說只有片選信號為預先規(guī)定的使能信號時(高電位或低電位) ,對此芯片的操作才有效。這就允許在同一總線上連接多個 SPI 設備成為可能。 接下來就負責通訊的 3 根線了。通訊是通過數(shù)據(jù)交換完成的,這里先要知道 SPI 是串行通訊協(xié)議,也就是說數(shù)據(jù)是一位一位的傳輸?shù)摹_@就是 SCLK 時鐘線存在的原因,由 SCK提供時鐘脈沖, SDI, SDO 則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過 SDO 線,數(shù)據(jù)在時鐘上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取。完成一位數(shù)據(jù)傳輸,輸入也使用同樣原理。這樣,在至少 8 次時鐘信號的改變(上沿和下沿為一次),就可以完成 8 位數(shù)據(jù)的傳輸。 要注意的 是, SCLK 信號線只由主設備控制,從設備不能控制信號線。同樣,在一個基于 SPI 的設備中,至少有一個主控設備。這樣傳輸?shù)奶攸c:這樣的傳輸方式有一個優(yōu)點,與普通的串行通訊不同,普通的串行通訊一次連續(xù)傳送至少 8 位數(shù)據(jù),而 SPI 允許數(shù)據(jù)一位一位的傳送,甚至允許暫停,因為 SCLK 時鐘線由主控設備控制,當沒有時鐘跳變時,從設備不采集或傳送數(shù)據(jù)。也就是說,主設備通過對 SCLK 時鐘線的控制可以完成對通訊的控制。 SPI 還是一個數(shù)據(jù)交換協(xié)議:因為 SPI 的數(shù)據(jù)輸入和輸出線獨立,所以允許同時完成數(shù)據(jù)的輸入和輸出。不同的 SPI 設備的 實現(xiàn)方式不盡相同,主要是數(shù)據(jù)改變和采集的時間不同,在時鐘信號上沿或下沿采集有不同定義。 SPI 接口的一個缺點:沒有指定的流控制,沒有應答機制確認是否接收到數(shù)據(jù) [11]。 SPI 的工作模式 SPI 有兩種工作模式,分別為主模式和從模式。 主模式 將 Master 的數(shù)據(jù)傳送給 Slave, 8 位數(shù)據(jù)傳送,傳送完畢,申請中斷,如圖 所示: 圖 SPI 工作主模 式 MOSI MOSI SCLK SCLK SPI 接口的仿真及驗證 7 從模式 在從模式下,每一位數(shù)據(jù)都是接收到時鐘信號 SCLK 和 CS 信 號之后才發(fā)送 /接收。 此時, SCLK 信號又主機產(chǎn)生,接收的數(shù)據(jù)在三岔路口信號作用下依次由 MOSI 引腳寫入移位寄存器,發(fā)送的數(shù)據(jù)在 SCLK 信號作用下由移位寄存器發(fā)送到 MISO 引腳。 圖 SPI 工作從模式 SPI 的傳輸模式 SPI 總線是 Motorola 公司推出的三線同步接口,同步串行 3 線方式進行通信 :一條時鐘線 SCK,一條數(shù)據(jù)輸入線 MOSI,一條數(shù)據(jù)輸出線 MISO。用于 CPU 與各種外圍器件進行全雙工、同步串行通訊。 SPI 主要特點有 :可以同時 發(fā)出和接收串行數(shù)據(jù) ??梢援斪髦鳈C或從機工作 。提供頻率可編程時鐘 。發(fā)送結(jié)束 中斷標志 。寫沖突保護 ??偩€競爭保護等。下圖 示出SPI 總線工作的四種方式,其中使用的最為廣泛的是 SPI0 和 SPI3 方式 (實線表示 ): 圖 SPI 模塊為了和外設進行數(shù)據(jù)交換,根據(jù)外設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時 鐘極性( CPOL)對傳輸協(xié)議沒有重大的影響。如果 CPOL=0,串行同步時鐘的空閑狀態(tài)為低電平;如果 CPOL=1,串行同步時鐘的空閑狀態(tài)為高電平。時鐘相位( CPHA)能夠配置用于選擇兩種不同的傳輸協(xié)議之一進行數(shù)據(jù)傳輸。如果 CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數(shù)據(jù)被采樣;如果 CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數(shù)據(jù)被采樣。 SPI 主模塊和與之通信的外設備時鐘相位和極性應該一致。 SPI 總線包括 1 根串行同步時鐘信號線以及 2 根數(shù)據(jù)線。 SPI 模塊為了和外設進行數(shù)據(jù)交換,根據(jù)外 設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時鐘極性( CPOL)對傳輸協(xié)議沒有重大的影響。如果 CPOL=0,串行MISO CS SCLK MISO CS SCLK 江南大學學士學位論文 8 同步時鐘的空閑狀態(tài)為低電平;如果 CPOL=1,串行同步時鐘的空閑狀態(tài)為高電平。時鐘相位( CPHA)能夠配置用于選擇兩種不同的傳輸協(xié)議之一進行數(shù)據(jù)傳輸。如果 CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數(shù)據(jù)被采樣;如果 CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數(shù)據(jù)被采樣。 SPI 主模塊和與之通信的外設音時鐘相位和極性應該一致。 ( 1) SPI0 模式下的 CPOL 為 0, SCK 的空閑電平為低; CPHA 為 0,數(shù)據(jù)在串行同步時鐘的第一個跳變沿(由于 CPOL 為低,因此第 1 個跳變沿只能為上升沿)時數(shù)據(jù)被采樣。 ( 2) SPI1 模式下的 CPOL 也為 0, SCK 的空閑電平為低;但是 CPHA 為 1,數(shù)據(jù)在串行同步時鐘的第二個跳變沿(由于 CPOL 為低,因此第 2 個跳變沿只能為下降沿)時數(shù)據(jù)被采樣。 ( 3) SPI2 模式下的 CPOL 為 1, SCK 的空閑電平為高; CPHA 為 0,數(shù)據(jù)在串行同步時鐘的第 1 個跳變沿(由于 CPOL 為高,因此第 1 個跳變沿只能為下降沿)時數(shù)據(jù)被采樣。 ( 4) SPI3 模式下的 CPOL 為 1, SCK 的空閑電平為高; CPHA 為 1,數(shù)據(jù)在串行同步時鐘的第 2 個跳變沿(由于 CPOL 為高,因此第 1 個跳變沿只能為上升沿)時數(shù)據(jù)被采樣。 在上述 4 種模式中,使用的最為廣泛的是 SPI0 和 SPI3 方式。由于每一種模式都與其他三種不兼容,因此為了完成主、從設備間的通訊,主、從設備的 CPOL 和 CPHA 必須有相同的設置。讀者需要注意的是:如果主設備 /從設備在 SCK 上升沿發(fā)送數(shù)據(jù),則從設備 /主設備最好在下降沿采樣數(shù)據(jù);如果主設備 /從設備在 SCK 下降沿發(fā)送數(shù)據(jù),則從設備 /主設備 最好在 SCK 上升沿采樣數(shù)據(jù) [8]。 SPI 協(xié)議 SPI 是一個環(huán)形總線結(jié)構(gòu),由 SS( CS)、 SCK、 SDI、 SDO 構(gòu)成,其時序其實很簡單,主要是在 SCK 的控制下,兩個雙向移位寄存器進行數(shù)據(jù)交換。假設下面的 8 位寄存器裝的是待發(fā)送的數(shù)據(jù) 10101010,上升沿發(fā)送、下降沿接收、高位先發(fā)送 。 那么第一個上升沿來的時候 數(shù)據(jù)將會是 SDO=1;寄存器 =0101010X。下降沿到來的時候, SDI 上的電平將所存到寄存器中去,那么這時寄存器 =0101010SDI,這樣在 8 個時鐘脈沖以后,兩個寄存器的內(nèi)容互 相交換一次。這樣就完成里一個 SPI 時序。 舉例 : 假設主機和從機初始化就緒:并且主機的 SBUFF=0xaa,從機的 SBUFF=0x55,下面將分步對 SPI 的 8 個時鐘周期的數(shù)據(jù)情況演示一遍 :假設上升沿發(fā)送數(shù)據(jù) 。 這樣就完成了兩個寄存器 8 位的交換,上面的上表示上升沿、下表示下降沿, SDI、 SDO 相對于主機而言的。其中 SS 引腳作為主機的時候,從機可以把它拉底被動選為從機,作為從機的是時候,可以作為片選腳用。根據(jù)以上分析,一個完整的傳送周期是 16 位,即兩個字節(jié),因為,首先主機要發(fā)送命令過去,然后從機根據(jù)主機的命令準備數(shù) 據(jù),主機在下一個 8 位時鐘周期才把數(shù)據(jù)讀回來 [9]。 SPI 接口的仿真及驗證 9 表 脈沖 主機 SBUFF 從機 SBUFF SDI SDO 0 10101010 01010101 0 0 1 上 0101010x 1010101x 0 1 1 下 01010100 10101011 0 1 2 上 1010100x 0101011x 1 0 2 下 10101001 01010110 1 0 3 上 0101001x 1010110x 0 1 3 下 01010010 10101101 0 1 4 上 1010010x 0101101x 1 0 4 下 10100101 01011010 1 0 5 上 0100101x 1011010x 0 1 5 下 01001010 10110101 0 1 6 上 1001010x 0110101x 1 0 6 下 10010101 01101010 1 0 7 上 0010101x 1101010x 0 1 7 下 00101010 11010101 0 1 8 上 0101010x 1010101x 1 0 江南大學學士學位論文 10 SPI 接口的仿真及驗證 11 第 3 章方案論證 對于 SPI 接口的設計,我們可以分為兩大類,分別為利用單片機如 51 系列單片機實現(xiàn)和利用 FPGA 等可編程邏輯器件編程實現(xiàn),下面將分別介紹兩種方法的方法。 用 FPGA 來設計 SPI 通過對 SPI 的結(jié)構(gòu)的了解可以設計一個系統(tǒng)框架,按照框架完成輸入輸出的功能。 一個典型的 SPI 系統(tǒng)包括一個主 MPU 和一個或者多個從外圍器件。單片機通過 SPI接口模塊與 SPI 相連,當單片機以主機模式運行的時候,就可以與系統(tǒng)中的從機實現(xiàn)通信,而當它處于從機模式工作時,就能與寧外一個主機進行數(shù)據(jù)通信。但在同一個時間內(nèi),系統(tǒng)中只能擁有一個 主機,否側(cè)會造成系統(tǒng)的工作異常。一個典型的用 FPGA 設計的系統(tǒng)框架如圖 所示 [11]: 圖 用 51 系列單片機實現(xiàn) SPI 對于 MCS51 系列單片機來說,由于它不帶有 SPI 串行總線接口,我們可以使用軟件來模擬 SPI 的操作,包括串行時鐘、數(shù)據(jù)輸入以及數(shù)據(jù)輸出。不同的串行接口外圍芯片擁有不同的時鐘時序。對于在 SCK 的上升沿輸入(接收)數(shù)據(jù)并且在下降沿輸出(發(fā)送)數(shù)據(jù)的器件,大都應在初始狀態(tài)將其串行時鐘輸出口 設置為 1,而在允許接口后再將 置為 0。這樣, MCU 在輸出 1 位 SCK 時鐘的同時,可以將接口芯片串行左移,從而輸出 1位數(shù)據(jù)到 MCS51 單片機的 口(模擬 MCU 的 MISO 線),之后再將置 為 1,使MCS51 系列 單片機從 (模擬 MCU 的 MOSI 線)輸出 1 位數(shù)據(jù)至串行接口芯片。這樣就完成了 1 位數(shù)據(jù)輸入輸出的模擬。此后再置 為 0,模擬下 1 位數(shù)據(jù)的輸入輸出 …… ,依此完成 8 次循環(huán),即可完成 1 次通過 SPI 總線傳輸 8 位數(shù)據(jù)的操作。對于在 SCK 的下降沿輸入數(shù)據(jù)和上升沿輸出數(shù)據(jù)的器件,則應取串行時鐘輸出的初始狀態(tài)為 0,即在接口芯片允許時,先置 為 1,以便外圍接口芯片輸出 1 位數(shù)據(jù)( MCU 接收 1 位數(shù)據(jù)),之后再置時鐘為 0,使外圍接口芯片接收 1 位數(shù)據(jù) (MCU 發(fā)送 1 位數(shù)據(jù) ),從而完成 1 位數(shù)據(jù)的傳送。 圖 所示為 MCS51 系列單片機與存儲器 X25F008( E2PROM)的硬件連接圖 ; 微處理器 微處理器接口 SPI 總線接口 adr_i[1:0] dat_i[7:0] dat_o[7:0] int_o we_i cs_o miso_i mosi_o sck_o rst_i 江南大學學士學位論文 12 圖 模擬 MCU 的數(shù)據(jù)輸出端( MOSI), 模擬 SPI 的 SCK 輸出端, 模擬 SPI 的從機選擇端, 模擬 SPI 的數(shù)據(jù)輸入端( MISO)。 以上便是兩種實現(xiàn) SPI 的方法,在實際應用中,只要高級點的單片機,都自帶 SPI 接口,并且如 DSP 等也集成了 SPI 接口,大多芯片都趨向于用硬件而
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1