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

正文內(nèi)容

i2c總線控制器的pfga畢業(yè)設(shè)計(編輯修改稿)

2025-01-06 21:54 本頁面
 

【文章內(nèi)容簡介】 器及其他 I2C 器件的擴展能力大大增強 。根據(jù) I2C 總線的電氣特性及其通 信協(xié)議,在 Altera 公司的 FPGA 上可以很方便地實現(xiàn) I2C 總線的通 信 接口,且具有高速、易調(diào)試、可以靈活地實現(xiàn) 在線配置等優(yōu)點,同時大大地減少了系統(tǒng)的開發(fā)周期。 本文主要探討用 Verilog 語言,在 FPGA 上實現(xiàn) I2C 總線控制器。這種方法主要用于微控制器和 I2C 器件的通 信 。 第一章 I2C 總線接口 2 第一章 I2C 總線接口 幾種串行總線 雖 然現(xiàn)代的微控制器和 FPGA 提供了大量的 120 插腳,并且 SMD 技術(shù) (表面安裝器件 )也在一塊幾英寸大小的 PCB 上提供了盡可能多 的插腳,但這并沒有影響串行總線連在電路板分立元件連接方面的應(yīng)用 。除傳統(tǒng)的總線如 12C 和 SPI(串行外圍接口 )之外,還有在溫度計和智能按鍵等的靈敏傳感器方面廣泛 應(yīng)用的DallasWire 單總線等。 SPI 通過快速 ADC、 DAC、 E2PROM 設(shè)備連接微控制器,分離的輸入輸出插腳保證了數(shù)據(jù)高速率。由于協(xié)議中并沒有內(nèi)嵌式地址,因此總線上各個設(shè)備必須支持片選信號,每個從設(shè)備有一個被選輸入,主設(shè)備必須具有與其從屬設(shè)備數(shù)量一樣多的被選輸出, 或者必須有一個外部解碼器。 SPI 允許簡單地連接移位寄存器之類的非智能外圍設(shè)備,連鎖式的移位寄存器可以實現(xiàn)大容量輸入輸出擴展器。 Dallas 單總線上的連接則必須具備高智能水平。在這個協(xié)議中,單總線通常要求外接一個 4. 7kΩ左右的上拉電阻,用持續(xù) 1 到 15μ s 的低電平來傳送 1,用持續(xù) 60μ s 到 1201μ s 的低電平來傳輸 0。指令和數(shù)據(jù)通過這種方式傳輸?shù)綇脑O(shè)備??刂破鳛榱送桨l(fā)送一個“ 1”,從設(shè)備將其中一部分轉(zhuǎn)換為“ 0”,數(shù)據(jù)通過這種方式從設(shè)備傳輸至控制器。 Philips 公司早在 1980 年開發(fā)了 I2C 標準, I2C 總線是關(guān)注速度和復(fù)雜程度之間的很好的折衷,當時只定義了 100kHz 和 400kHz 兩個傳輸速率,但并沒有規(guī)定單個比特的長度,所以在一個沒有諸如中斷限制的微控制器的系統(tǒng)中用軟件驅(qū)動 I2C 設(shè)備很容易實現(xiàn)。 I2C 總線只使用兩根 I/O,就可以對一系列的 I2C 器件進行控制,節(jié)省了 I/O口,受到越來越多工程師的青睞。由于電接口的集電極開路特性,從設(shè)備可以在任意時刻連接或斷開而不會影響總線上的其它設(shè)備。 I2C 總線還包括了一個利用線與連接的仲裁機制,這就意味著真正的多主體總線可以實現(xiàn),在特定時間內(nèi)只有一個主控端能夠取得總 線控制權(quán)。實際上,如果兩個甚至更多的主體試圖在總線上傳遞信息 (第一個產(chǎn)生“ 1”的同時,其他主體產(chǎn)生“ 0” ),它們將會失去主控權(quán)。同時,如果有一臺從設(shè)備是低速設(shè)備,它將抑制時鐘線路延緩總線上所有事務(wù)。 基于以上原因, 12C 總線是一個控制 FPGA 器件的很好選擇,可以在 FPGA第一章 I2C 總線接口 3 上通過自定義邏輯來實現(xiàn)從接口。 I2C 總線詳解 I2C 是英文“ Inter Integrated Circuit”的縮寫。 I2C 總線就是集成電路之間傳送時鐘脈沖與數(shù)據(jù)的公用線路。采用 I2C 總線控制就是將微處理器的 SCL(串行時鐘 )、 SDA(串行數(shù)據(jù) )總線與其它集成電路或存儲器連接起來,通過總線來交換信息,實行控制。 I2C 總線最主要的優(yōu)點是其簡單性和有效性。由于接口直接在組件之上,因此 I2C 總線占用的空間非常 小,從而減少了電路板的空間和芯片管腳的數(shù)量,進而降低了互聯(lián)成本。 I2C 總線的兩根信號線 SDA 和 SCL 都是雙向 I/O 線,必須通過上拉電阻接到正電源。此外, I2C 總線器件的輸出必須是開漏或集電極開路,即具有線與功能。 I2C 總線上數(shù)據(jù)傳輸?shù)淖罡咚俾蕿?100kbit/s,連接到總線上的器件 的數(shù)量受總線電容 400pF 的限制。圖 11 描述了 I2C 總線接口電路結(jié)構(gòu)。 S C L 輸 出S C L 輸 入S D A 輸 出S D A 輸 入S C L 輸 出S C L 輸 入S D A 輸 出S D A 輸 入R RS C LS D ANV C CV C C4 . 7 K上 拉 電 阻 圖 11 I2C 總線接口電路結(jié)構(gòu) 在圖 11 中畫出了兩個節(jié)點(節(jié)點 1 和節(jié)點 N),這兩個節(jié)點是完全對等的。事實上,在由 I2C 總線接口器件構(gòu)成的電路系統(tǒng)中,所有的節(jié)點都是對等的。通過 I2C 總線進行數(shù)據(jù)傳輸時,當某一器件向總線發(fā)送數(shù)據(jù)時,它就被稱為發(fā)送器,而當該器件從總線上接受數(shù)據(jù)時,它又被稱為接收器。主器件用于啟動總線上的數(shù)據(jù)傳送過程并產(chǎn)生時鐘以開放發(fā)送器,此時任何被尋址的器件均被認為是從器件,總線上的主器件和從器件、發(fā)送器 和接收器的關(guān)系不是恒定不變的,它取決于當時數(shù)據(jù)傳輸?shù)姆较?,也就是說一個啟動數(shù)據(jù)傳輸過程的主機既可作發(fā)送器也可以作接收器,而一個從器件同樣既可以作接收器,也可以作發(fā)送器。 I2C 總線可以十分方便地用于構(gòu)成由微控制器和一些外圍器件組成的微控第一章 I2C 總線接口 4 制器系統(tǒng)。通過 I2C 總線構(gòu)成的微控制器系統(tǒng)結(jié)構(gòu)緊湊、連接簡單、成本低廉,可廣泛應(yīng)用于對體積及生產(chǎn)成本又嚴格要求的消費類電子設(shè)備、手持式終端設(shè)備等。雖然 I2C 總線的數(shù)據(jù)嗎吞吐能力比并行低,但通過 I2C 總線構(gòu)成的系統(tǒng)具有可擴展性好、程序編寫方便、易于實現(xiàn)用戶系統(tǒng)軟硬件的模塊化及標 準化等優(yōu)點。 I2C 總線協(xié)議 I2C 總線的基本特性 I2C 總線支持任何 IC 生產(chǎn)過程( NMOS、 CMOS 以及雙極性),它采用兩條信號線(串行數(shù)據(jù)信號線 SDA 和串行時鐘信號線 SCL)在連接到總線器件進行數(shù)據(jù)交換。 SDA 和 SCL 都是雙向 I/O 口,應(yīng)該通過一個電流源或上拉電阻連接到系統(tǒng)的正電源電壓。 當總線空閑時, SDA 和 SCL 都處于高電平狀態(tài)。通過I2C 總線上數(shù)據(jù)接口連接到總線的 I2C 器件輸出端必須是漏極開路或集電極開路,也就是要求具有線與功能。 I2C 總線上數(shù)據(jù)的傳輸速率在標準模式下可達到100kbit/s, 在快速模式下可達到 400kbit/s, 在高速模式下可達到 。 采用 I2C 總線接口的器件,無論該器件是微控制器、 LCD 驅(qū)動器、存儲器還是鍵盤接口,都有唯一的地址序列號,而且都可以作為一個發(fā)送器或 /和接收器。在一個 I2C 總線系中,器件是發(fā)送器還是接收器由器件的功能決定,很明顯LCD 驅(qū)動器只是一個接收器,而數(shù)據(jù)存儲器則既可以作為接收器又可作為發(fā)送器。 I2C 總線接口在數(shù)據(jù)傳輸過程中還可以被看作是主機或從機,主機用于完成數(shù)據(jù)傳輸過程的總線初始化,并生產(chǎn)允許數(shù)據(jù)傳輸?shù)臅r鐘信號,此時任 何被尋址的其他 I2C 總線接口器件都被認為是從機。 I2C 總線是 一個多主結(jié)構(gòu)的總線,即總線上可以有多個主控制器。總線上主機和從機的關(guān)系并不是一成不變的,而是取決于當時數(shù)據(jù)傳輸?shù)姆较颉?I2C 總線在進行數(shù)據(jù)傳輸時所需要的時鐘信號由主機產(chǎn)生,主機發(fā)出的總線時鐘信號只有在以下的情況才能被改變:慢速的從機器件控制時鐘信號并延長時鐘信號;或者在發(fā)生仲裁時被另一個主機改變 通過以上的分析和總結(jié),可以將 I2C 總線的基本特性歸納為以下幾點。 1) 只要求兩條信號線,一條串行數(shù)據(jù)線 SDA 和一條串行時鐘線 SCL; 2) 每個連接到總線 的器件都可以通過唯一的地址進行尋址; 3) 它是一個真正的多主機總線,如果兩個或更多的主機同時初始化數(shù)據(jù)傳輸,則可以通過沖突檢測和仲裁數(shù)據(jù)被破壞; 第一章 I2C 總線接口 5 4) 串行的 8 位雙向數(shù)據(jù)傳輸,其位速率在標準模式下可達 100kbit/s,在快速模式下可達 400kbit/s,在高速模式下可達 ; 5) 片上的濾波器可以濾去總線數(shù)據(jù)上的毛刺,保證數(shù)據(jù)可靠傳輸; 6) 連接到同一個 I2C 總線的 IC(采用 I2C 接口)數(shù)量僅受到總線最大電容400pF 的限制。 I2C 總線上的時鐘信號 連接在 I2C 總線上的所有器件 SCL 輸出進行線與產(chǎn)生在 I2C 總線上傳輸數(shù)據(jù)信息時所需要的同步時鐘信號。 I2C 總線上任一 I2C 總線接口器件 SCL 信號由高電平到低電平的跳變將影響到所有連接在 I2C 總線上的器件,一旦該器件的時鐘信號 SCL 變?yōu)榈碗娖?,?I2C 總線的 SCL 信號線一直保持低電平, I2C 總線上的所有器件開始低電平。 此時,低電平周期短的器件 SCL 由低到高的跳變并不能改變 SCL 信號線的狀態(tài),于是這些 SCL 已經(jīng)處于高電平狀態(tài)的器件將進入高電平等待的狀態(tài)。 當 I2C 總線上的所有器件的時鐘信號 SCL 都變?yōu)楦唠娖胶?,低電平期結(jié)束,SCL 信號線被 釋放返回高電平狀態(tài),所有的器件同時開始處于高電平期。此后,第一個結(jié)束的高電平期的器件又將 SCL 拉成低電平,這樣就在 SCL 信號線上產(chǎn)生了一個同步時鐘,由以上的介紹可以發(fā)現(xiàn),時鐘低電平時間由時鐘低電平時間最長的器件確定,而時鐘高電平時間由時鐘高電平時間最短的器件確定(由于所有器件的 SCL 進行線與而導(dǎo)致)。 I2C 總線上的數(shù)據(jù)傳輸 在數(shù)據(jù)的傳輸過程中,必須確定數(shù)據(jù)傳送的起始和結(jié)束。在 I2C 總線技術(shù)規(guī)范中,起始信號和結(jié)束信號(也稱為啟動信號和停止信號)的定義如圖 12 所示。 S D AS C L起 始 信 號 停 止 信 號 圖 12 I2C 總線起始信號和結(jié)束信號定義 其中,在 SCL 信號線處于高電平狀態(tài)時, SDA 信號線從高電平向低電平的跳變表示數(shù)據(jù)傳輸起始條件:在 SCL 信號線處于高電平狀態(tài)時, SDA 信號線由低電平向高電平跳變表示停止條件。起始條件和停止條件一般由主機產(chǎn)生,總線第一章 I2C 總線接口 6 在起始條件后被認為處于忙的狀態(tài),在停止條件的某段時間后,總線被認為再次處于空閑狀態(tài),并等待下一次數(shù)據(jù)傳輸?shù)拈_始。如果產(chǎn)生重復(fù)起始條件而不產(chǎn)生 停止條件,總線會一直處于忙的狀態(tài),此時的起始 條件和重復(fù)起始條件在功能上是一樣的。 與起始信號和結(jié)束信號不同, I2C 總線在傳輸數(shù)據(jù)過程中,對傳輸?shù)拿恳晃?,SDA 信號線上的數(shù)據(jù)在時鐘信號 SCL 處于高電平期間必須保持穩(wěn)定,只有在SCL 信號線處于低電平狀態(tài)時, SDA 信號線上的高電平或低電平狀態(tài)才能改變。圖 13 描述了數(shù)據(jù)字節(jié)中每一位在傳輸時 SDA 與 SCL 之間的關(guān)系。 S D A 改 變S D A 必 須 保 持 穩(wěn) 定S D AS C L 圖 13 I2C 總線在傳輸數(shù)據(jù)位時 SDA 與 SCL 之間的時序關(guān)系 I2C 總線的數(shù)據(jù)傳送以主機發(fā)送數(shù)據(jù)傳輸起始信號作為開始 。在起始信號結(jié)束后,主機將發(fā)送一個用于選擇從器件地址的字節(jié),該字節(jié)的高 7 位是地址碼,第 8 位是方向位( R/W)。方向位為“ 0”表示發(fā)送,即主機器件把數(shù)據(jù)寫到從機器件中,此時主機作為發(fā)送器而從機作為接收器;當方向位為“ 1” 表示接受,即主機從所選擇的從機讀取數(shù)據(jù),此時主機作為接收器而從機作為發(fā)送器(注意:此處涉及到一個重要的概念,即主機發(fā)送器和主機接收器。主機僅僅是數(shù)據(jù)傳輸?shù)陌l(fā)起方而已,在主機啟動了數(shù)據(jù)傳輸后,主機既可以作為發(fā)送器,也可以作為接收器。此外,主機作為發(fā)送器和主機作為接收器時, SDA 信號線上的響應(yīng)信號 有較大區(qū)別,將在以下敘述)。主機在啟動了數(shù)據(jù)傳輸后,將根據(jù)主機是向從機寫數(shù)據(jù)還是從從機讀數(shù)據(jù)開始數(shù)據(jù)傳輸過程。 在 I2C 總線的數(shù)據(jù)傳輸過程中,發(fā)送到 SDA 信號線上的每個字節(jié)必須為 8位,其中首先傳輸?shù)?是 數(shù)據(jù) 的最高位 MSB,最后傳輸?shù)氖亲畹臀?LSB。每次數(shù)據(jù)傳輸可以發(fā)送的字節(jié)數(shù)量不受限制,在傳送完每個字節(jié)后必須等待接收器返回的響應(yīng)信號 ACK。響應(yīng)信號 ACK 在 I2C 總線數(shù)據(jù)傳輸過程中十分重要,數(shù)據(jù)傳輸必須有響應(yīng)信號。響應(yīng)時鐘脈沖由主機產(chǎn)生,在響應(yīng)時鐘脈沖期間發(fā)送器釋放SDA 信號線,使其處于高電平狀態(tài)。而在響應(yīng)時鐘 脈沖期間接收器必須將 SDA信號線拉低,以使得 SDA 在響應(yīng)時鐘脈沖的高電平期間保持穩(wěn)定的低電平狀態(tài)。 注意,此處在響應(yīng)時鐘脈沖期間將 SDA 信號線拉低的是接收器,它既可能第一章 I2C 總線接口 7 是發(fā)起數(shù)據(jù)傳輸過程的主機(主機從從機讀取數(shù)據(jù)),也可能是從機(主機向從機寫入數(shù)據(jù))。圖 14 所示描述了 I2C 總線在數(shù)據(jù)傳輸過程中,響應(yīng)信號與傳輸時鐘信號 SCL 之間的時序關(guān)系。 L S BM S B起 始 信 號1 2 7 8 9A C K 信 號接 收 器 沒 有 產(chǎn) 生接 受 響 應(yīng) 信 號接 收 器 產(chǎn) 生 接 收 響 應(yīng) 信 號發(fā) 送器數(shù) 據(jù)輸 出接 收器數(shù) 據(jù)輸 出主 機提 供的時 鐘信 號 圖 14 I2C 總線的響應(yīng)信號 當主機在傳送第一個字節(jié)即地址字節(jié)時,如 果從機不能立即進行響應(yīng),從機必須使數(shù)據(jù)線保持高電平狀態(tài)(參見圖 14 接收器沒有產(chǎn)生接受響應(yīng)信號的情況)。主機會產(chǎn)生一個停止條件終止傳輸,或者產(chǎn)生重復(fù)起始條件開始一次新的傳輸過程。如果從機響應(yīng)了從機地址,但是在傳輸了一段時間后不能接收更多數(shù)
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1