<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Verilog HDL的I2C總線(xiàn)分析器

基于Verilog HDL的I2C總線(xiàn)分析器

作者: 時(shí)間:2011-11-24 來(lái)源:網(wǎng)絡(luò ) 收藏

  1 引言

  在醫療保健、臨床醫學(xué)和醫療救護中,血氧、心電、血壓、呼吸、腦電波等生理信號都是非常重要的指標。針對臨床應用,已經(jīng)報道了將血氧、血壓等檢測應用于咽喉、食管等體內循環(huán) [1],提高了準確性和及時(shí)性[2],這種方法正處在研究階段,I 2C總線(xiàn)分析儀可以擴展醫療監測儀實(shí)現包括體外循環(huán)的多種方法同時(shí)檢測和比較?,F在醫療儀器短缺,一臺帶 I 2C擴展接口的監測儀可實(shí)現多人同時(shí)使用,資源得到有效利用??梢?jiàn),實(shí)時(shí)、準確記錄各項人體基本體征參數,同時(shí)具有便攜式特點(diǎn)的醫療監測儀對健康監護、檢測技術(shù)和醫學(xué)研究具有重大意義。如何擴展醫療檢測儀的功能成為熱點(diǎn)問(wèn)題。

  目前擴展檢測儀接口的方法很多,多通道是最常用的方法,具有數據通道相對獨立,有很強的抗干擾能力和設計復雜度優(yōu)勢,但體積較大,資源浪費多,不適合便攜式處理。I 2C總線(xiàn)是一個(gè)工業(yè)標準同步串行數據通訊總線(xiàn),被廣泛應用在消費類(lèi)電子和嵌入式系統產(chǎn)品中 [3],例如:數據轉換器、EEPROM、傳感器等等。相比現今流行的并口、SPI、USB等接口,雖然 I 2C有相對較低的帶寬 [4],但功能多樣化,廣泛應用于信號處理器的控制接口設計。而且血氧飽和度有效信號基頻在 1Hz左右,血壓、呼吸、腦電波等生理信號的基頻幾十赫茲范圍內。多種信號同時(shí)采集完全可以實(shí)現。同時(shí)應用I2C總線(xiàn)還有以下優(yōu)點(diǎn):一是各部分電路之間的連接變得非常簡(jiǎn)單,省去控制系統中的許多輸入/輸出接口,可靠性好;二是由于 I 2C總線(xiàn)具有多種工作模式,利用軟件可以十分方便進(jìn)行調整和測試,增加功能;三是 I 2C總線(xiàn)具有良好的擴展性,支持多主機通訊 [5]。本文描述了采用 語(yǔ)言設計一種 I 2C總線(xiàn)分析器的硬件電路結構和它們主要特點(diǎn),采用此設計可以實(shí)現多種傳感器信號采集,方便實(shí)現與微處理器的接口設計,可重用性好,可以作為 IP核使用。

  2 I2C總線(xiàn)標準模式

  I2C總線(xiàn)是一種僅用到兩線(xiàn)的工業(yè)標準同步串行數據通訊總線(xiàn)。兩個(gè)總線(xiàn):串行數據(SDA)線(xiàn)和串行時(shí)(SCL)線(xiàn),對于嵌入式系統有限的 IO接口資源是非常重要的。I 2C總線(xiàn)支持從機、主機和多主機。每個(gè)I 2C器件有唯一的識別地址(7位或 10位的地址)。串行的 8位雙向數據傳輸傳輸有三種模式:標準模式(100kbits/s)、快模式(400kbits/s)、高速模式(3.4Mbits/s)。

  I2C總線(xiàn)數據傳輸以字節為單位,按照高位在前順序傳輸。數據傳輸首先以 I 2C主機發(fā)出開(kāi)始條件和從機地址,讀寫(xiě)控制字。從機必須對地址完成識別,之后傳輸由器件規則和協(xié)議定義的一系列讀或寫(xiě)的數據。字節傳輸要有響應信號,確認后再發(fā)下一個(gè)字節,當通訊結束后,主機產(chǎn)生停止狀態(tài)。

  接收端采用SCL信號同步采樣讀取數據信息。I 2C協(xié)議規定數據變化只發(fā)生在 SCL信號為低電平期間,高電平期間要保持數據信號的穩定性。SCL信號線(xiàn)高電平期間,SDA信號由高電平變?yōu)榈碗娖绞情_(kāi)始條件,反之為停止條件。

  3 硬件設計

  為醫療檢測儀或其它嵌入式系統提供很好的外設擴展。在不同工作模式下提供系統更多的功能。

  在被動(dòng)模式下,分析器探測總線(xiàn)上數據,傳輸數據或做算法處理。這里將采集到的數據直接通過(guò) LCD顯示,不占用微處理器資源;在主機模式下,分析器掌控總線(xiàn),完成對外設的操作,如配置傳感器,采集傳感器信號;在從機模式下,分析器作為 I 2C器件使用,在被總線(xiàn)上主機識別后,接收或發(fā)送用戶(hù)信息。

  圖 1顯示了 I 2C總線(xiàn)分析器的硬件框圖。采用 語(yǔ)言描述,主要實(shí)現工作模式識別和I2C總線(xiàn)控制邏輯。采用層次化設計方法。硬件驗證在 FPGA上實(shí)現。


  3.1 控制信息模塊和 I 2C狀態(tài)機

  這是 I 2C總線(xiàn)分析器和外部控制系統交換控制邏輯和狀態(tài)信息的接口,決定著(zhù)整個(gè)系統的功能。 I2C控制信息模塊和狀態(tài)模塊產(chǎn)生總線(xiàn)上開(kāi)始和結束狀態(tài)請求,檢測和報告總線(xiàn)信息(起始、停止、總線(xiàn)響應),產(chǎn)生 SCL脈沖信號,傳輸數據到SDA,控制兩個(gè)FIFO(讀和寫(xiě)存儲器)。在模塊中定義兩個(gè)寄存器(系統控制寄存器 SYS_CONTROL和系統狀態(tài)寄存器SYS_STAT)。

  在控制寄存器中,最高位是初始化標識位,使系統進(jìn)入等待狀態(tài);第 7位用于控制 I 2C總線(xiàn)產(chǎn)生起始狀態(tài);第 6位用于控制總線(xiàn)產(chǎn)生停止狀態(tài);第 5位控制讀、寫(xiě) FIFO存儲器,低電平定義使用FIFO讀存儲器,高電平定義使用 FIFO寫(xiě)存儲器;第 3、4位用于總線(xiàn)工作模式選擇;第 2位用于主、從模式選擇;最后一位作為總線(xiàn)傳輸響應。

  狀態(tài)寄存器反映工作狀態(tài)。功能描述如下:最高位選擇主、從機模式,第 7位標識總線(xiàn)狀態(tài),第 6、3位標識 FIFO存儲器狀態(tài),第 5位標識數據通訊方向,第 4位為中斷位,最后兩位標識工作模式檢測模式,共 8位。

  3.2狀態(tài)的產(chǎn)生和探測模塊

  根據協(xié)議,主機在 SCL高電平期間,在 SDA線(xiàn)上產(chǎn)生由 0到 1或由 1到 0的變化,前者代表開(kāi)始條件,后者代表了停止條件。設計基于分頻器完成,由控制信息模塊可以產(chǎn)生所需 SCL信號,由 SCL信號倍頻信號控制在 SCL信號高電平時(shí)產(chǎn)生 SDA信號。

  在從機狀態(tài)下,因為起始、停止條件是由 SDA在 SCL高電平期間改變來(lái)產(chǎn)生,所以設計中考慮用 SCL頻率的 30、25或 16倍頻來(lái)探測(高速模式下 56MHz可以由 PLL產(chǎn)生)??紤]在不同模式下采用不同倍頻系數,雖然增加了設計復雜度和硬件的消耗,但從機能更精確地探測到起始和停止條件,提高系統性能。

  3.3信息收集模塊

  系統作為從機,用系統時(shí)鐘檢測 SCL信號,確定主機的工作模式,并反映到狀態(tài)寄存器??偩€(xiàn)分析器由狀態(tài)位產(chǎn)生相應采樣時(shí)鐘,在起始條件后采樣主機發(fā)送的 7位從機地址、數據方向位(R/W)以及響應信息。

  3.4器件地址模塊

  根據協(xié)議,每個(gè) I2C器件都有獨立地址。本設計有自定義 7位地址。如果信息收集模塊中采樣到地址與本地址一致,則作為從機操作。

  3.5 FIFO讀、寫(xiě)存儲器

  本設計中集成了兩個(gè) 16×8的 FIFO,分別作為讀、寫(xiě)存儲器完成外部系統和 I2C總線(xiàn)數據傳輸。通過(guò)狀態(tài)標志來(lái)控制產(chǎn)生中斷,完成握手協(xié)議。如當接收 FIFO(讀存儲器)寫(xiě)滿(mǎn)時(shí),而外部系統端沒(méi)有及時(shí)讀走數據,如果繼續從 I2C總線(xiàn)讀取數據,就會(huì )丟失數據。通過(guò) FULL標志,控制 I2C總線(xiàn)不產(chǎn)生響應,使之處于等待狀態(tài),直到系統讀走數據。 FIFO硬件設計通過(guò)調用可編程器件內部存儲器單元實(shí)現。

  3.7 主系統狀態(tài)機

  這是 的核心單元,需要完成在被動(dòng)模式、主機模式和從機模式下?tīng)顟B(tài)轉換和控制,根據控制寄存器中控制字,采用有限狀態(tài)機嵌套設計完成。狀態(tài)機編碼采用獨熱編碼,有利于提高傳輸速度并節省面積。


  狀態(tài)轉移如圖 2所示,整個(gè)過(guò)程受控制字和狀態(tài)寄存器調節。圖中主要描述了作為主機模式下?tīng)顟B(tài)變換,從機模式下,在準備階段需要加上 I2C總線(xiàn)識別、器件地址識別,其它過(guò)程與主機相似,這里不詳細描述。

  下面以控制 VGA視頻采集芯片 TMS8083為例說(shuō)明:通過(guò)寫(xiě) 0x80h到控制寄存器來(lái)初始化系統;接著(zhù)寫(xiě)入 0x92h作準備工作,進(jìn)入主機狀態(tài)、采用標準模式傳輸數據、對總線(xiàn)進(jìn)行寫(xiě)數據、數據傳輸響應位:0;系統將要發(fā)送到總線(xiàn)的數據先寫(xiě)入 FIFO寫(xiě)存儲器。 VGA采集系統采用 1024×768 at 60Hz → fpix=65.0MHz,N=1344模式,芯片地址和狀態(tài)控制寄存器配置如下: 0x80h(器件地址和寫(xiě)狀態(tài)標識)、0x00h(子地址)、0x40h、0x05h、0xeah、0xffh、0x90h、0xe1h、0x00h、0x03h、0x01h;將以上數據寫(xiě)入 FIFO后,向控制寄存器寫(xiě)入 0xd2h實(shí)現總線(xiàn)上起始條件;隨后進(jìn)入數據的傳輸階段;數據傳輸完成,寫(xiě) 0xb2h到控制寄存器在總線(xiàn)上產(chǎn)生停止條件。

  另外,采用移位寄存器完成數據接收和發(fā)送模塊設計,最后,由頂層完成各模塊時(shí)序控制,重點(diǎn)在于時(shí)鐘信號管理,以達到同步目的。

  4 驗證

  采用 語(yǔ)言完成設計輸入,用仿真工具在硬件編程前驗證設計,綜合下載編程后用邏輯分析儀檢驗硬件功能。QuartusII工具提供了完成設計開(kāi)發(fā)平臺

  4.1

  仿真 I2C總線(xiàn)分析器主要有主機寫(xiě)操作、讀操作和作為從機寫(xiě)操作、讀操作功能。采用 Verilog HDL語(yǔ)言建立測試平臺,聯(lián)合 ModelSim完成功能和時(shí)序驗證。


  圖 3波形驗證了主機向從機發(fā)送地址和寫(xiě)數據的過(guò)程:發(fā)送 7位地址 0x40h和寫(xiě)控制字0,即0x80h、8位數據 0xa8h。在 I 2C總線(xiàn)上,首先產(chǎn)生起始條件,接著(zhù)發(fā)送從機地址和寫(xiě)控制信號,采樣響應信號后再發(fā)送數據,響應后產(chǎn)生停止條件。由下圖的波形分析,主機能正確的發(fā)送地址和數據,應對從機響應。

  下面測試作為從機接收數據,檢測I 2C總線(xiàn)信息,探測起始條件,接收從機地址和R/W,地址不同無(wú)響應,地址相同產(chǎn)生響應信號,并開(kāi)始接收數據。I 2C總線(xiàn)分析器的地址定義為0x50h。仿真波形如圖 4所示。由上圖的波形說(shuō)明設計能夠很好完成作為從機的功能。


  4.2 硬件驗證

  采用 Altera Cyclone器件 EP1C12驗證硬件。通過(guò)下載編程,調用 SignalTapII Logic Analyzer工具,實(shí)時(shí)觀(guān)察設計的內部信號波形。

  圖 5顯示了由邏輯分析儀得到的結果。I 2C總線(xiàn)分析器作為主機很明顯能夠驅動(dòng)總線(xiàn),向從機發(fā)送從機地址、命令和數據,符合對 TMS8083應用中傳輸數據描述,能進(jìn)行正確通訊。

  5 總結

  本文作者創(chuàng )新點(diǎn):提出了一種新的應用于醫療監護儀擴展接口的 I 2C總線(xiàn)分析器,具有低功耗、便攜式特點(diǎn)。能夠很好地連接微控制器及其外圍設備,滿(mǎn)足具有可擴展功能的需求,適合于開(kāi)發(fā)便攜式設備。在開(kāi)發(fā)具有可擴展功能的便攜醫療監護儀嵌入式項目中僅需要設計相應系統軟件庫,即可將 I 2C總線(xiàn)接口擴展到桌面系統應用中。I 2C總線(xiàn)在少的硬件資源消耗下將為項目帶來(lái)更多的拓展空間。同時(shí)經(jīng)過(guò)綜合后僅占用 EP1C12器件的6%邏輯單元,可以進(jìn)一步提出了新的基于 NIOSII開(kāi)發(fā)便攜醫療監護儀思想,必將大大縮小體積,提高系統可靠性。


存儲器相關(guān)文章:存儲器原理


分頻器相關(guān)文章:分頻器原理


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>