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

正文內(nèi)容

spi接口的仿真及驗證畢業(yè)論文-預(yù)覽頁

2025-08-20 09:07 上一頁面

下一頁面
 

【正文】 成電路 ( VLSI)工藝技術(shù)的飛速發(fā)展的今天 , FPGA編程的 硬件電路 被越來越多的應(yīng)用于 實現(xiàn)諸如 SPI接口等方面。作為一個標(biāo)準(zhǔn)的接口, SPI具有簡單方便和節(jié)省系統(tǒng)資源的優(yōu)點,使得大多數(shù)芯片都支持該接口。因為沒有確切的版本協(xié)議,所以不同 廠家的 SPI 接口在技術(shù)上存在一定程度上的差別,甚至?xí)鹌缌x。所謂完整的系統(tǒng)一般包括中央處理器、存儲器、以及外圍電路等。 SOC 是微電子設(shè)計領(lǐng)域的一場革命,從整個系統(tǒng)的角度出發(fā),把智能核、信息處理機制、模型算法、芯片結(jié)構(gòu)、各層次電路直至器件的設(shè)計緊密結(jié)合起來,在單個或少數(shù)幾個芯片上完成整個系統(tǒng)的功能,既我們可以把越來越多的電路設(shè)計在同一個芯片中,這里面可能包含有中央處理器 (CPU),嵌入式內(nèi)存 (Embedded memory)、數(shù)字信號處理器 (DSP)、數(shù)字功能 模塊 (Digital function)、模擬功能模塊 (Analog function)、模擬數(shù)字轉(zhuǎn)換器 (ADC)以及各種外圍配置 (USB, MPEG)等等,這是新發(fā)展的 SOC 技術(shù)。 IP 核 IP( Intelligence Property)是在 FPGA 設(shè)計中不可缺少的組成部分,也是自底向上設(shè)計方法學(xué) 的 理論基礎(chǔ)。 IP 核是指用于產(chǎn)品應(yīng)用專用的集成電路( ASIC)或可編程邏輯器件( FPGA)的邏輯塊或數(shù)據(jù)塊。其具體任務(wù)是按常用或?qū)S霉δ?,?HDL 來描述集成電路的功能和結(jié)構(gòu),并經(jīng)過不同級別的驗證形成不同級別的 IP 核模塊,供芯片設(shè)計人員來裝配或集成選用。軟 IP 核又被稱為虛擬器件。 常用的 IP 內(nèi)核模塊有各種不同的 CPU( 32/64 位結(jié)構(gòu) CISC/RISC 結(jié)構(gòu)的 CPU 或 8/16位微控制器 /單片機,如 8051 等)、 32/64 位 DSP(如 320C30)、 DRAM、 SRAM、 EEPROM、FLASH 內(nèi)存、 A/D、 D/A、 MPEG/JPEG、 USB、 PCI、標(biāo)準(zhǔn)接口、網(wǎng)絡(luò)單元、編譯器、編碼 /解碼器和模擬 器件模塊等。例如, 8 單位代碼字符要用 8 條信道并行同時傳輸,一次傳一個字符,收、發(fā)雙方不存在同步問題,速度快,但信道多、投資大,數(shù)據(jù)傳輸中很少采用 [3]。 為此,串行傳輸已經(jīng)成為當(dāng)今外設(shè)接口的主流傳輸方式,為此,摩托羅拉公司開發(fā)出了同步外設(shè)接口 (SPI),并隨著時間不斷改進,由于其占用線的資源少,且穩(wěn)定可靠,該總線大量用在與 EEPROM、 ADC、 FLASH 和顯示驅(qū)動器之類的慢速外設(shè)器件通信,現(xiàn)在很多單片機等都有 SPI 模塊來連接外圍設(shè)備,從而使主機與外設(shè)傳輸數(shù)據(jù)更加方便 [5]。 SPI 總線最典型的應(yīng)用就是主機與外圍設(shè)備 (如 EEPROM、 Flash RAM、 A/D 轉(zhuǎn)換器、LED 顯示器、實時時鐘等 )之間的通信 [4]。用 FPGA 設(shè)計的 SPI 總線具有可擴展性強、便于修改等優(yōu)點。 ( 2)熟悉 VERILOG 語言及其開發(fā)環(huán)境 ISE,使用該語言進行數(shù)字電路( FPGA)設(shè)計,慢慢深入 VERILOG 語言。 ② 主機產(chǎn)生從機所需的時鐘信號 SCLK 以及 片選信號 CS。 ( 2)狀態(tài)機的結(jié)構(gòu)模式簡單。 基于以上特點,用狀態(tài)機的方法描述 SPI 通信過程簡單方便并可靠。 SPI 接口的仿真及驗證 5 第 2 章 SPI原理分析 SPI 原理主要介紹 SPI 的基本機構(gòu),工作模式,傳輸模式以及 SPI 的典型協(xié)議,通過對于這些 SPI 的要點介紹,對其工作過程有一個通透了解,從而可以能設(shè)計達到原理目的的功能設(shè)計以及程序的設(shè)計。 SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為 PCB 的布局上節(jié)省空間,提供方便,正是出于這種簡單易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議,比如AT91RM9200。 SPI 簡介 SPI( Serial Peripheral Interface)接口是工業(yè)標(biāo)準(zhǔn)的同步串行接口,是一種全雙工、三線通信的系統(tǒng)。 SPI 的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設(shè)備和一個或多個從設(shè)備,需要至少 4 根線(單向傳輸時只需要 3 根)。 江南大學(xué)學(xué)士學(xué)位論文 6 MISO:主機輸入、從機輸出信號 ,從機在上升沿 (或下降沿 )通過該信號線發(fā)送數(shù)據(jù)給主機 ,主機在下降沿 (或上升沿 )通過該信號線接收該數(shù)據(jù) 。 接下來就負(fù)責(zé)通訊的 3 根線了。完成一位數(shù)據(jù)傳輸,輸入也使用同樣原理。這樣傳輸?shù)奶攸c:這樣的傳輸方式有一個優(yōu)點,與普通的串行通訊不同,普通的串行通訊一次連續(xù)傳送至少 8 位數(shù)據(jù),而 SPI 允許數(shù)據(jù)一位一位的傳送,甚至允許暫停,因為 SCLK 時鐘線由主控設(shè)備控制,當(dāng)沒有時鐘跳變時,從設(shè)備不采集或傳送數(shù)據(jù)。 SPI 接口的一個缺點:沒有指定的流控制,沒有應(yīng)答機制確認(rèn)是否接收到數(shù)據(jù) [11]。 圖 SPI 工作從模式 SPI 的傳輸模式 SPI 總線是 Motorola 公司推出的三線同步接口,同步串行 3 線方式進行通信 :一條時鐘線 SCK,一條數(shù)據(jù)輸入線 MOSI,一條數(shù)據(jù)輸出線 MISO。提供頻率可編程時鐘 。下圖 示出SPI 總線工作的四種方式,其中使用的最為廣泛的是 SPI0 和 SPI3 方式 (實線表示 ): 圖 SPI 模塊為了和外設(shè)進行數(shù)據(jù)交換,根據(jù)外設(shè)工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時 鐘極性( CPOL)對傳輸協(xié)議沒有重大的影響。 SPI 主模塊和與之通信的外設(shè)備時鐘相位和極性應(yīng)該一致。時鐘相位( CPHA)能夠配置用于選擇兩種不同的傳輸協(xié)議之一進行數(shù)據(jù)傳輸。 ( 2) SPI1 模式下的 CPOL 也為 0, SCK 的空閑電平為低;但是 CPHA 為 1,數(shù)據(jù)在串行同步時鐘的第二個跳變沿(由于 CPOL 為低,因此第 2 個跳變沿只能為下降沿)時數(shù)據(jù)被采樣。由于每一種模式都與其他三種不兼容,因此為了完成主、從設(shè)備間的通訊,主、從設(shè)備的 CPOL 和 CPHA 必須有相同的設(shè)置。 那么第一個上升沿來的時候 數(shù)據(jù)將會是 SDO=1;寄存器 =0101010X。 這樣就完成了兩個寄存器 8 位的交換,上面的上表示上升沿、下表示下降沿, SDI、 SDO 相對于主機而言的。 用 FPGA 來設(shè)計 SPI 通過對 SPI 的結(jié)構(gòu)的了解可以設(shè)計一個系統(tǒng)框架,按照框架完成輸入輸出的功能。一個典型的用 FPGA 設(shè)計的系統(tǒng)框架如圖 所示 [11]: 圖 用 51 系列單片機實現(xiàn) SPI 對于 MCS51 系列單片機來說,由于它不帶有 SPI 串行總線接口,我們可以使用軟件來模擬 SPI 的操作,包括串行時鐘、數(shù)據(jù)輸入以及數(shù)據(jù)輸出。這樣就完成了 1 位數(shù)據(jù)輸入輸出的模擬。 以上便是兩種實現(xiàn) SPI 的方法,在實際應(yīng)用中,只要高級點的單片機,都自帶 SPI 接口,并且如 DSP 等也集成了 SPI 接口,大多芯片都趨向于用硬件而非軟件 來 實現(xiàn)。同時 FPGA 也有自身的優(yōu)點。 管腳說明 表 SPI 設(shè)計管腳 端口名稱 數(shù)據(jù)位寬 信號流向 功能描述 int_o 1 Output 中斷輸出,確保已傳數(shù)據(jù)被讀取 rst_i 1 Input 異步復(fù)位 we_i 1 Input 寫使能端,寫數(shù)據(jù) dat_i 8 Input 輸入數(shù)據(jù)或指令 adr_i 2 Input 寫指令數(shù)據(jù)選擇 sck_o 1 Output SPI 時鐘輸出 mosi_o 1 Output 數(shù)據(jù)串行輸出 miso_i 1 Input 數(shù)據(jù)串行輸入 cs_o 1 Output 選片 dat_o 8 Output 輸入數(shù)據(jù)并行給微處理器 其中,需要強掉的是, adr_i端輸入不同,便使系統(tǒng)處于寫數(shù)據(jù)狀態(tài)還是寫指令狀態(tài),指令是寫給 SPI 設(shè)計的控制寄存器,以使 SPI 具有不同的功能 [12]。 spe :當(dāng)此位被置位為 1時,則系統(tǒng)運行,當(dāng)置位為 0 時,系統(tǒng)不運行。 ‘ 0’:先發(fā)送最低位 ‘ 1’:先發(fā)送最高位 ‘ 0’:空閑時為低電平 ‘ 1’:空閑時為高電平 ( 3)狀態(tài)寄存器 狀態(tài)寄存器本次設(shè)計中只去了一位 spi_i 中斷位,其與 spie 允許情況下允許中斷,中 斷位傳給 int_o 從而保證單片機完成讀取數(shù)據(jù)后在重新傳輸數(shù)據(jù),從而保證每位數(shù)據(jù)傳輸完畢,保證數(shù)據(jù)讀取后才能傳送下一位數(shù)據(jù) [13]。分析 SPI 接口模塊的功能之后 ,本文使用有限狀態(tài)機實現(xiàn) SPI 接口模塊的傳輸控制。 在狀態(tài)機運行之前及數(shù)據(jù)傳輸之前,所作的工作便是初始化,即必須先確定允許中斷,允許系統(tǒng)運行,設(shè)置先發(fā)送的數(shù)據(jù)位,設(shè)置極性相位和速率,即設(shè)置控制寄存器使之系統(tǒng)進入正常運行狀態(tài), 首先設(shè)置 spe 位為 1.,因為只有其為 1 時系統(tǒng)才運行,當(dāng)達到 adr[1:0]=10 時,便是發(fā)送接收數(shù)據(jù)的命令。 01 。完成后進入到接受數(shù)據(jù)狀態(tài) 239。其狀態(tài)圖如下圖 所示 [14]: 圖 SPI 程序設(shè)計流程圖 通過以上的分析,首先是設(shè)置控制寄存器以及設(shè)置系統(tǒng)允許,當(dāng) spe 為 1 時系統(tǒng)運行,adr_i 為收發(fā)命令時,滿足條件便開始傳送數(shù)據(jù),傳送數(shù)據(jù)最重要的是 sck 信號產(chǎn)生以及收發(fā)信號的完成,還有收發(fā)信信號與 sck 信號的匹配。!spi_iamp。 |state)=0 空閑狀態(tài) 輸入數(shù)據(jù), sck 反向,選片信號成立 spe amp。 |state)=0 接收發(fā)送數(shù)據(jù), sck 反向,發(fā)送八位完畢產(chǎn)生中斷 是 否 是 否 否 是 否 是 江南大學(xué)學(xué)士學(xué)位論文 18 SPI 接口的仿真及驗證 19 第 5 章仿真及驗證 仿真分析 綜上可以編寫出 SPI 程序,其程序見附錄 A 驗證平臺。 SPI 接口的仿真及驗證 21 江南大學(xué)學(xué)士學(xué)位論文 22 第 6 章 結(jié)論與展望 結(jié)論 在此設(shè)計中,不僅對 ISE 軟件使用已經(jīng)非常熟悉,并且對 Verilog 語言設(shè)計也更加熟悉了,從而對以后的學(xué)習(xí)打下了非常好的基礎(chǔ)。在本次發(fā)送接收數(shù)據(jù)的有一個程序不僅繁瑣,而且發(fā)送接收不能同時進行,顯然是錯誤的程序,并且本次設(shè)計另外一個程序在一些端口完全沒什么用,也輸入進去,顯然是在抄襲的結(jié)果。比如,我理解到在平時做單片機實驗室那些初始化程序所做的目的。即應(yīng)該先了解哪些方面,再進行哪些方面的理解,再進行哪些方面的分析,再進行哪些方面的重點理解。 衷心感謝胡小剛學(xué)長,在我剛?cè)胧值臅r候通過他們的報告來逐漸熟悉此項目,在后面的學(xué)習(xí)過程中,他們也給予了很多軟件方面的幫助,對我提出的問題也很耐心的回答,在這里表示感謝。 // 控制寄存器 reg [7:0] sper。 //***********輸入數(shù)據(jù)給控制寄存器和狀態(tài)寄存器 ************* always (posedge clk_i or negedge rst_i) if (~rst_i) begin spcr = 839。 end else if (we_i) begin if (adr_i == 239。 end 江南大學(xué)學(xué)士學(xué)位論文 26 //***************設(shè)置控制寄存器 ************************* wire spie = spcr[7]。 wire msb = spcr[5]。 // 該位為 1, SPI 設(shè)為主設(shè)備;該位為 0, SPI 設(shè)為從設(shè)備 wire cpol = spcr[3]。 // 擴展時鐘速率控制選 擇 wire [3:0] espr = {spre, spr}。 //生成中斷信號 // *********產(chǎn)生時鐘分頻,及完成速率控制 ******************** reg [11:0] clkt。h1。 // 2 439。b0010: clkt = 1239。hf。 // 8 439。b0110: clkt = 1239。h7f。 // 512 439。b1010: clkt = 1239。h7ff。 // 空閑狀態(tài) bt = 339。 sck_o = 139。b10amp。b00: // 空閑狀態(tài) begin sck_o = cpol。h7。 treg= dat_i。b1。b1
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1