www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]分析了I2C串行總線(xiàn)的數(shù)據(jù)傳輸機(jī)制,用VHDL設(shè)計(jì)了串行總線(xiàn)控制電路,其中包括微處理器接口電路和I2C總線(xiàn)接口電路。采用ModelSim Plus 6.0 SE軟件進(jìn)行了前仿真和調(diào)試,并在Xilinx ISE 7.1i開(kāi)發(fā)環(huán)境下進(jìn)行了綜合、后仿真和CPLD器件下載測(cè)試。 結(jié)果表明實(shí)現(xiàn)了I2C串行總線(xiàn)協(xié)議的要求。

串行總線(xiàn)和并行總線(xiàn)相比具有結(jié)構(gòu)簡(jiǎn)單、占用引腳少、成本低的優(yōu)點(diǎn)。常見(jiàn)的串行總線(xiàn)有USB、IEEE1394、I2C等,其中I2C總線(xiàn)具有使用簡(jiǎn)單的特點(diǎn),在單片機(jī)、串行E2PROM、LCD等器件中具有廣泛的應(yīng)用。

  I2C(Inter IC BUS)是Philips公司開(kāi)發(fā)的用于芯片之間連接的總線(xiàn)。 I2C總線(xiàn)用兩根信號(hào)線(xiàn)進(jìn)行數(shù)據(jù)傳輸,一根為串行數(shù)據(jù)線(xiàn)(SDA),另一根為串行時(shí)鐘線(xiàn)(SCL)。I2C總線(xiàn)允許若干兼容器件(如存儲(chǔ)器、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、LCD驅(qū)動(dòng)器等)共享總線(xiàn)。I2C總線(xiàn)理論上可以允許的最大設(shè)備數(shù),是以總線(xiàn)上所有器件的總電容(其中包括連線(xiàn)本身的電容和連接端的引出電容)不超過(guò)400pF為限,總線(xiàn)上所有器件依靠SDA線(xiàn)發(fā)送的地址信號(hào)尋址,不需要片選線(xiàn)。任何時(shí)刻總線(xiàn)只能由一個(gè)主器件控制,各從器件在總線(xiàn)空閑時(shí)啟動(dòng)數(shù)據(jù)傳輸。I2C總線(xiàn)數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)模式速率為100kbps,快速模式速率為400kbps,高速模式速率為3.4Mbps。

  用VHDLCPLD設(shè)計(jì)數(shù)字系統(tǒng)具有傳統(tǒng)方法無(wú)可比擬的優(yōu)越性,它已經(jīng)成為大規(guī)模集成電路設(shè)計(jì)最為有效的一種手段。為簡(jiǎn)單起見(jiàn),本文采用VHDL設(shè)計(jì)標(biāo)準(zhǔn)模式的I2C總線(xiàn)控制電路。

  1 I2C總線(xiàn)上的數(shù)據(jù)傳輸

  I2C總線(xiàn)包含時(shí)鐘線(xiàn)SCL和數(shù)據(jù)線(xiàn)SDA兩條連線(xiàn),SCL由主機(jī)產(chǎn)生。I2C總線(xiàn)的數(shù)據(jù)傳輸流程如圖1所示。其傳輸過(guò)程為:首先主機(jī)產(chǎn)生起始位,然后傳送第一個(gè)字節(jié)。8位數(shù)據(jù)中首先傳送的是數(shù)據(jù)的最高位MSB,最低位LSB為讀寫(xiě)指示位,1表示主機(jī)讀,0表示主機(jī)寫(xiě),高7位地址可使主機(jī)尋址128個(gè)從器件。

  從機(jī)收到第一字節(jié)數(shù)據(jù)后發(fā)響應(yīng)位,主機(jī)收到響應(yīng)位后接著發(fā)送第二個(gè)字節(jié)的數(shù)據(jù)。數(shù)據(jù)發(fā)送完畢后產(chǎn)生結(jié)束位,數(shù)據(jù)傳送結(jié)束。數(shù)據(jù)傳送時(shí),只有時(shí)鐘SCL為低電平時(shí)SDA才允許切換,SCL為高電平時(shí)SDA必須穩(wěn)定,此時(shí)SDA的電平就是總線(xiàn)轉(zhuǎn)送的數(shù)值。

在SCL為高電平時(shí),SDA線(xiàn)由高到低切換表示起始位,SDA線(xiàn)由低到高切換表示停止位。起始位和停止位由主機(jī)產(chǎn)生,在起始位產(chǎn)生后總線(xiàn)處于忙狀態(tài),停止位出現(xiàn)并經(jīng)過(guò)一定時(shí)間后總線(xiàn)進(jìn)入空閑狀態(tài)。發(fā)送器每發(fā)送一個(gè)字節(jié)后,接收器必須產(chǎn)生一個(gè)響應(yīng)位。響應(yīng)位的驅(qū)動(dòng)時(shí)鐘由主機(jī)產(chǎn)生則接收器將SDA線(xiàn)拉低產(chǎn)生響應(yīng)位。如果主機(jī)是接收器,則接收最后一個(gè)字節(jié)時(shí),響應(yīng)位為1,通知從機(jī)結(jié)束發(fā)送,否則響應(yīng)位為0。當(dāng)從機(jī)不能響應(yīng)從機(jī)地址(例如它正在執(zhí)行一些實(shí)時(shí)函數(shù),不能接收或發(fā)送)時(shí),或響應(yīng)了從機(jī)地址但在傳輸一段時(shí)間后不能接收更多的數(shù)據(jù)字節(jié),此時(shí)從機(jī)可以通過(guò)響應(yīng)位為1通知主機(jī)終止當(dāng)前的傳輸,于是主機(jī)產(chǎn)生一個(gè)停止位終止傳輸,或者產(chǎn)生重復(fù)開(kāi)始位開(kāi)始新的傳輸。

  SDA線(xiàn)上傳送的數(shù)據(jù)必須為8位,每次傳送可以發(fā)送的字節(jié)數(shù)量不受限制。如果從機(jī)要完成一些其他功能(例如執(zhí)行一個(gè)內(nèi)部中斷服務(wù)程序)才能接收或發(fā)送下一個(gè)數(shù)據(jù)字節(jié),則從機(jī)可以使SCL維持低電位,迫使主機(jī)進(jìn)入等待狀態(tài)。從機(jī)準(zhǔn)備好接收或發(fā)送下一個(gè)數(shù)據(jù)字節(jié)時(shí),釋放SCL,數(shù)據(jù)傳輸繼續(xù)。

  SDA和SCL都是雙向線(xiàn)路,使用時(shí)通過(guò)上拉電阻連接到電源。總線(xiàn)空閑時(shí)這兩條線(xiàn)路都是高電平,連接到總線(xiàn)的器件的輸出級(jí)必須是漏極開(kāi)路或集電極開(kāi)路,這樣總線(xiàn)才能執(zhí)行“線(xiàn)與”的功能。

  主機(jī)發(fā)完第一個(gè)字節(jié)后,數(shù)據(jù)傳輸方向的變化可能存在三種情況。(1)傳輸方向不變,如主機(jī)向從機(jī)寫(xiě);(2)傳輸方向改變,如主機(jī)從從機(jī)讀數(shù)據(jù);(3)傳輸方向改變多次,如主機(jī)對(duì)從機(jī)進(jìn)行多次讀寫(xiě)。

  2 時(shí)鐘同步與仲裁

  I2C總線(xiàn)在任何時(shí)刻只能有一個(gè)主機(jī),當(dāng)I2C總線(xiàn)同時(shí)有兩個(gè)或更多的器件想成為主機(jī)時(shí),就需要進(jìn)行仲裁;時(shí)鐘同步的目的就是為仲裁提供一個(gè)確定的時(shí)鐘。時(shí)鐘SCL的同步和仲裁通過(guò)“線(xiàn)與”來(lái)執(zhí)行,SCL的低電平時(shí)間取決于低電平時(shí)間最長(zhǎng)的主機(jī),高電平時(shí)間取決于高電平時(shí)間最短的主機(jī)。

 仲裁過(guò)程在數(shù)據(jù)線(xiàn)SDA線(xiàn)上進(jìn)行,當(dāng)SCL為高電平時(shí),如果SDA線(xiàn)上有主機(jī)發(fā)送低電平,則發(fā)送高電平的主機(jī)將關(guān)閉輸出級(jí)。因?yàn)榭偩€(xiàn)的狀態(tài)和自身內(nèi)部不一樣,于是發(fā)送低電平的主機(jī)贏得仲裁。仲裁可以持續(xù)多個(gè)位,在實(shí)際通信過(guò)程中,仲裁的第一階段比較地址位,如果多個(gè)主機(jī)尋址同一個(gè)從機(jī),則繼續(xù)比較數(shù)據(jù)位(主機(jī)是發(fā)送機(jī))或響應(yīng)位(主機(jī)是接收機(jī))。由于I2C總線(xiàn)上的地址和數(shù)據(jù)由贏得總線(xiàn)的主機(jī)決定,因此仲裁過(guò)程中不會(huì)丟失信息。如果一個(gè)主機(jī)具有從機(jī)功能,則當(dāng)它失去仲裁時(shí),必須立即切換到從機(jī)狀態(tài),因?yàn)樗赡苷诒黄渌鳈C(jī)尋址。

  3 I2C總線(xiàn)控制器設(shè)計(jì)

  I2C總線(xiàn)控制器的主要作用是提供微控制器(μC)和I2C總線(xiàn)之間的接口,為兩者之間的通信提供物理層協(xié)議的轉(zhuǎn)換。在串行應(yīng)用系統(tǒng)中,外圍器件(如串行E2PROM、LCD、實(shí)時(shí)鐘等)連接在I2C總線(xiàn)上,再通過(guò)I2C總線(xiàn)控制器和μC連起來(lái)。其典型的應(yīng)用,如現(xiàn)在許多彩電的控制系統(tǒng)都基于I2C總線(xiàn)。為了使設(shè)計(jì)清晰明了,本文將控制器的設(shè)計(jì)分成兩部分。一部分為微控制器(μC)接口,另一部分為I2C接口,如圖2所示。

  μC接口部分主要包含狀態(tài)寄存器(MBSR)、控制寄存器(MBCR)、地址寄存器(MADR)、數(shù)據(jù)寄存器(MBDR)和地址譯碼/總線(xiàn)接口模塊。狀態(tài)寄存器指示I2C總線(xiàn)控制器的當(dāng)前狀態(tài),如傳輸是否完成、總線(xiàn)是否忙等信息??刂萍拇嫫魇铅藽控制I2C總線(xiàn)控制器的主要途徑,通過(guò)置0/1完成I2C總線(xiàn)控制器使能、中斷使能、主/從(Master/Slave)模式選擇、產(chǎn)生起始位等操作。地址寄存器保存著I2C總線(xiàn)控制器作為從機(jī)時(shí)的地址。數(shù)據(jù)寄存器用于保存接收的數(shù)據(jù)或是待發(fā)送的數(shù)據(jù)。

I2C接口的核心是主狀態(tài)機(jī),它控制著整個(gè)I2C接口的運(yùn)作。和I2C總線(xiàn)直接相連的模塊有起始/停止位產(chǎn)生模塊、I2C Header寄存器、I2C數(shù)據(jù)寄存器和仲裁及起始/停止位檢測(cè)模塊。當(dāng)控制器是Master時(shí),起始/停止位產(chǎn)生模塊用于在I2C總線(xiàn)上產(chǎn)生起始位和停止位;I2C數(shù)據(jù)寄存器用于保存總線(xiàn)上傳送的數(shù)據(jù);仲裁及起始/停止位檢測(cè)模塊的作用是執(zhí)行仲裁,并檢測(cè)I2C總線(xiàn)上的起始/停止位,以便為主狀態(tài)機(jī)提供輸入。其他模塊包括:I2C狀態(tài)寄存器,用于記錄I2C總線(xiàn)的狀態(tài);地址比較模塊,用于比較總線(xiàn)上傳送的地址和本機(jī)的從機(jī)地址是否一致,如果一致,說(shuō)明其他主機(jī)正在尋址本控制器,控制器必須立即切換到從機(jī)狀態(tài),同時(shí)發(fā)出響應(yīng)位。

  3.1 μC接口設(shè)計(jì)

  μC接口用于連接I2C接口電路和μC,主要實(shí)現(xiàn)兩者之間的信號(hào)交互握手機(jī)制。設(shè)計(jì)時(shí)可以用VHDL提供的狀態(tài)機(jī)來(lái)描述信號(hào)交互機(jī)制中的工作狀態(tài)切換,如圖3(a)所示。

  μC接口電路中使用的四組寄存器的地址是24位的,高16位為I2C總線(xiàn)控制器的基址(MBASE),占用μC的地址空間,低8位用于區(qū)別不同的寄存器。寄存器本身是8位的,圖3(b1)為控制寄存器,圖3(b2)為狀態(tài)寄存器。圖中示出了每一位的含義。

  3.2 I2C接口設(shè)計(jì)

  I2C接口用于連接μC接口電路和I2C總線(xiàn),由兩個(gè)狀態(tài)機(jī)構(gòu)成:一個(gè)是I2C接口主狀態(tài)機(jī),用于執(zhí)行發(fā)送和接收操作;另一個(gè)為“SCL/SDA/ STOP 產(chǎn)生”狀態(tài)機(jī),當(dāng)I2C總線(xiàn)控制器為主機(jī)時(shí),這個(gè)狀態(tài)機(jī)產(chǎn)生SCL/START/STOP信號(hào)。

  I2C接口用于I2C總線(xiàn)的驅(qū)動(dòng)和接收,當(dāng)I2C總線(xiàn)控制器為主機(jī)時(shí),I2C接口必須按I2C總線(xiàn)規(guī)范驅(qū)動(dòng)總線(xiàn);當(dāng)總線(xiàn)控制器為從機(jī)時(shí),I2C必須能正確接收滿(mǎn)足I2C總線(xiàn)規(guī)范的信號(hào)。I2C設(shè)計(jì)規(guī)范對(duì)總線(xiàn)的時(shí)序作了詳細(xì)的定義,在不同模式下這些參數(shù)的具體數(shù)值都有明確的規(guī)定?!癝CL/START/STOP 產(chǎn)生”狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換如圖4所示, I2C接口主狀態(tài)機(jī)的轉(zhuǎn)移圖如圖5所示。

  4 仿真與硬件實(shí)現(xiàn)

  本文中仿真工具采用Mentor公司的ModelSim Plus 6.0 SE,其顯著的優(yōu)越性能是提供了一個(gè)混合語(yǔ)言仿真環(huán)境,已在產(chǎn)業(yè)界廣泛應(yīng)用。為了測(cè)試驗(yàn)證系統(tǒng)的功能,本文采用了Atemel公司提供的采用I2C總線(xiàn)協(xié)議的AT24C02 E2PROM芯片(256B 8bit)的VerilogHDL仿真模型(AT24C02.v)作為從器件對(duì)象,用VerilogHDL語(yǔ)言構(gòu)建了testbench(測(cè)試向量),對(duì)所設(shè)計(jì)I2C總線(xiàn)控制器進(jìn)行仿真。

  圖6和圖7為μC通過(guò)I2C總線(xiàn)控制器對(duì)E2PROM進(jìn)行數(shù)據(jù)寫(xiě)/讀的仿真波形(將數(shù)據(jù)FFH~0HH寫(xiě)進(jìn)地址0~255單元,然后將它們?cè)侔错樞蜃x的模式讀出)。往E2PROM寫(xiě)入時(shí)需要給出所寫(xiě)起始單元的地址(圖6中為00H); 從E2PROM順序讀時(shí)不用給出起始單元地址而從當(dāng)前地址處開(kāi)始讀(本文中寫(xiě)完256B數(shù)據(jù)后,地址指針又回到0處)。相關(guān)狀態(tài)及數(shù)據(jù)已在圖中作了標(biāo)示。由此可見(jiàn),所設(shè)計(jì)的總線(xiàn)控制器完全符合標(biāo)準(zhǔn)I2C串行協(xié)議的時(shí)序要求。

  本文設(shè)計(jì)的系統(tǒng)實(shí)現(xiàn)平臺(tái)采用Xilinx公司的XC95216-10-PQ160 CPLD芯片,總邏輯門(mén)個(gè)數(shù)為4 800。經(jīng)綜合、適配、布局布線(xiàn)后占用器件資源的情況為:宏單元120/216(56%)、寄存器111/216(52%)、功能塊331/432(77%)、乘積項(xiàng)分配器544/1080(51%)??梢?jiàn),系統(tǒng)占用約一半的資源,相當(dāng)精簡(jiǎn)。整個(gè)系統(tǒng)下載到CPLD后在2MHz時(shí)鐘頻率下運(yùn)行正常。

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

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

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

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

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

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(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ì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

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

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(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)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

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