當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]要:提出了采用 Verilog HDL設(shè)計(jì)I 2C總線分析器的方法,該 I 2C總線分析器支持三種不同的工作模式:被動(dòng)、主機(jī)和從機(jī)模式,并提供了嵌入式系統(tǒng)設(shè)計(jì)接口。通過硬件總體框架分析,分模塊輸入,經(jīng)過仿真、邏輯綜合和 FP

要:提出了采用 Verilog HDL設(shè)計(jì)I 2C總線分析器的方法,該 I 2C總線分析器支持三種不同的工作模式:被動(dòng)、主機(jī)和從機(jī)模式,并提供了嵌入式系統(tǒng)設(shè)計(jì)接口。通過硬件總體框架分析,分模塊輸入,經(jīng)過仿真、邏輯綜合和 FPGA硬件驗(yàn)證表明,該總線分析器與其它常用接口方式相比具有低功耗、占用資源少和功能完備等特點(diǎn),并較少占用微處理器指令周期,應(yīng)用在醫(yī)療檢測(cè)系統(tǒng)中解決了增加可靠擴(kuò)展平臺(tái)問題。

1 引言

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

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

2 I2C總線標(biāo)準(zhǔn)模式

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

I2C總線數(shù)據(jù)傳輸以字節(jié)為單位,按照高位在前順序傳輸。數(shù)據(jù)傳輸首先以 I 2C主機(jī)發(fā)出開始條件和從機(jī)地址,讀寫控制字。從機(jī)必須對(duì)地址完成識(shí)別,之后傳輸由器件規(guī)則和協(xié)議定義的一系列讀或?qū)懙臄?shù)據(jù)。字節(jié)傳輸要有響應(yīng)信號(hào),確認(rèn)后再發(fā)下一個(gè)字節(jié),當(dāng)通訊結(jié)束后,主機(jī)產(chǎn)生停止?fàn)顟B(tài)。

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

3 硬件設(shè)計(jì)

I2C總線分析器為醫(yī)療檢測(cè)儀或其它嵌入式系統(tǒng)提供很好的外設(shè)擴(kuò)展。在不同工作模式下提供系統(tǒng)更多的功能。

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

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


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

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

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

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

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

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

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

3.3信息收集模塊

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

3.4器件地址模塊

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

3.5 FIFO讀、寫存儲(chǔ)器

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

3.7 主系統(tǒng)狀態(tài)機(jī)

這是 I2C總線分析器的核心單元,需要完成在被動(dòng)模式、主機(jī)模式和從機(jī)模式下狀態(tài)轉(zhuǎn)換和控制,根據(jù)控制寄存器中控制字,采用有限狀態(tài)機(jī)嵌套設(shè)計(jì)完成。狀態(tài)機(jī)編碼采用獨(dú)熱編碼,有利于提高傳輸速度并節(jié)省面積。


I2C總線分析器狀態(tài)轉(zhuǎn)移如圖 2所示,整個(gè)過程受控制字和狀態(tài)寄存器調(diào)節(jié)。圖中主要描述了作為主機(jī)模式下狀態(tài)變換,從機(jī)模式下,在準(zhǔn)備階段需要加上 I2C總線識(shí)別、器件地址識(shí)別,其它過程與主機(jī)相似,這里不詳細(xì)描述。

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

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

4 驗(yàn)證

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

4.1

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


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

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


4.2 硬件驗(yàn)證

采用 Altera Cyclone器件 EP1C12驗(yàn)證硬件。通過下載編程,調(diào)用 SignalTapII Logic Analyzer工具,實(shí)時(shí)觀察設(shè)計(jì)的內(nèi)部信號(hào)波形。

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

5 總結(jié)

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



參考文獻(xiàn):

[1].VGAdatasheethttp://www.dzsc.com/datasheet/VGA_2568786.html.
[2].Altera Cyclonedatasheethttp://www.dzsc.com/datasheet/Altera+Cyclone_2445471.html.
[3].EP1C12datasheethttp://www.dzsc.com/datasheet/EP1C12_527237.html.


來源:維珍0次

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉