国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Actel FPGA的I2CIP的應(yīng)用

2009-09-05 07:22:24
電子產(chǎn)品世界 2009年8期
關(guān)鍵詞:數(shù)據(jù)線高電平寄存器

I2C(Inter Integrated Circuit)雙向二線制串行總線,是由飛利浦公司制定的。I2C總線是一個(gè)多主機(jī)的總線,使用串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)在總線上傳遞信息。每個(gè)器件都有一個(gè)唯一的識(shí)別地址,而且都可以作為一個(gè)發(fā)送器或接收器。當(dāng)連接在I2C總線上的多個(gè)主機(jī)器件同時(shí)傳輸數(shù)據(jù)時(shí),通過仲裁來避免沖突。SDA和CHSCL都是雙向線路,通過一個(gè)電流源或上拉電阻連接到電源。器件輸出級(jí)必須是漏極開路或集電極開路,當(dāng)總線空閑時(shí),兩條線路處于高電平,執(zhí)行線與的功能。

Actel公司免費(fèi)提供I2C IP核——Core I2C。Core I2C是基于APB總線形式的,它的優(yōu)點(diǎn)是可以連接到Core 8051或者是Cortex M1處理器上,方便用戶進(jìn)行SoC設(shè)計(jì),本文將主要介紹Core 12C的原理與應(yīng)用。

1、Core I2C介紹

(1)I2C協(xié)議簡(jiǎn)介

I2C總線協(xié)議定義如下:只有在總線處于“非忙”狀態(tài)時(shí),才能開始數(shù)據(jù)傳輸。在數(shù)據(jù)傳輸期間,只要時(shí)鐘線為高電平,數(shù)據(jù)線都必須保持穩(wěn)定,否則數(shù)據(jù)線上的任何變化都被當(dāng)作“啟動(dòng)”或“停止”信號(hào)。圖1所示為總線狀態(tài)的定義。

I2C總線的工作方式為:當(dāng)SCL為高電平時(shí),如果檢測(cè)到SDA的下降沿,則啟動(dòng)數(shù)據(jù)的傳輸;在數(shù)據(jù)傳輸時(shí),只要SCL為高電平時(shí),SDA數(shù)據(jù)必須保持穩(wěn)定,SDA數(shù)據(jù)可以在SCL的低電平時(shí)發(fā)生變化;當(dāng)SCL為高電平時(shí),如果檢測(cè)到SDA的上升沿。則停止數(shù)據(jù)的傳輸。

(2)Core I2C內(nèi)部結(jié)構(gòu)

Core I2C的內(nèi)部結(jié)構(gòu)框圖如圖2所示。它主要由串行時(shí)鐘發(fā)生器、地址寄存器、控制寄存器、狀態(tài)寄存器和APB總線接口等組成的。

·串行時(shí)鐘發(fā)生器模塊:提供SCL時(shí)鐘脈沖。

·地址寄存器模塊:包含了內(nèi)核編程的地址信息。

·控制寄存器模塊:控制串行傳輸?shù)膯?dòng)、重啟、終止、位速率、地址識(shí)別和應(yīng)答等功能。

·狀態(tài)寄存器模塊:包含了Core I2C內(nèi)部寄存器工作的狀態(tài)信息。

·APB總線接口:提供了I2C和APB總線通信的接口。

·控制寄存器——I2C_CTRL

Bit7:串行時(shí)鐘位2,和第0位、第1位一起決定分頻系數(shù)。

Bit6:I2C使能位,1表示I2C被使能,否則被禁止。

Bits:起始標(biāo)志位,1表示起始標(biāo)志位有效,總線在空閑時(shí)將會(huì)產(chǎn)生一個(gè)起始狀態(tài)位。

Bit4:停止標(biāo)志位,1表示停止標(biāo)志位有效,總線將會(huì)產(chǎn)生一個(gè)停止?fàn)顟B(tài)位。

Bit3:串行中斷標(biāo)志位,在狀態(tài)寄存器的值被更新以后,這位必須被清零。

Bit2:主/從機(jī)設(shè)置位,1表示工作在從機(jī)模式,0表示工作在主機(jī)模式。

Bit1:串行時(shí)鐘位1,和第7位、第0位一起決定分頻系數(shù)。

Bit0:串行時(shí)鐘位0,和第7位、第一位一起決定分頻系數(shù)。

Core I2C時(shí)鐘頻率的定義如表2所示。

·狀態(tài)寄存器——I2C STA

狀態(tài)寄存器取出所有內(nèi)部狀態(tài)位并將它們壓縮成一個(gè)5位的代碼,該代碼與每個(gè)I2C總線狀態(tài)位一一對(duì)應(yīng),5位代碼可用于產(chǎn)生向量地址,以便快速處理不同的服務(wù)程序,每個(gè)服務(wù)程序處理一個(gè)特定的總線狀態(tài)。如果I2C模塊的所有模式都被使用,則有26種可能的總線狀態(tài)。

·數(shù)據(jù)寄存器——I2C_DAT

數(shù)據(jù)寄存器包含要發(fā)送或剛接收的數(shù)據(jù),當(dāng)它沒有處理字節(jié)的移位時(shí),APB控制器可以對(duì)其進(jìn)行讀寫。

·地址寄存——I2C ADDR

Bit7~BitI:自身從機(jī)地址。

Bit0:通用調(diào)用位,該位設(shè)置為1,通用調(diào)用地址有效,否則無效。

(4)Core I2C的基本操作

Core I2C可以配置成主機(jī)或從機(jī),總線時(shí)鐘速率可調(diào)整,最高可支持400kb/s的總線傳輸速率。使用I2C總線時(shí),在總線上要連接兩個(gè)上拉電阻,阻值為1~10k歐姆。

·主機(jī)發(fā)送模式

主機(jī)發(fā)送模式的數(shù)據(jù)發(fā)送格式如圖3所示。先發(fā)送起始條件,然后發(fā)送從機(jī)地址和寫方向位,這時(shí)從機(jī)會(huì)產(chǎn)生一個(gè)應(yīng)答,主機(jī)在接收到應(yīng)答位后,依次發(fā)送n個(gè)數(shù)據(jù),每個(gè)數(shù)據(jù)發(fā)送后,從機(jī)都會(huì)產(chǎn)生一個(gè)應(yīng)答位,發(fā)送完n個(gè)數(shù)據(jù)后,主機(jī)發(fā)送停止位。

·主機(jī)接收模式

主機(jī)接收模式的數(shù)據(jù)接收格式如圖4所示。主機(jī)先發(fā)送起始條件,然后發(fā)送從機(jī)地址和讀方向位,這時(shí)從機(jī)會(huì)產(chǎn)生一個(gè)應(yīng)答,主機(jī)在接收到應(yīng)答位后,依次讀出n個(gè)數(shù)據(jù),主機(jī)在接收到每個(gè)數(shù)據(jù)后,都會(huì)產(chǎn)生一個(gè)應(yīng)答位,接收完數(shù)據(jù)后,主機(jī)發(fā)送停止位。

(5)應(yīng)用場(chǎng)合

I2C協(xié)議主要應(yīng)用于對(duì)串行設(shè)備的控制,如各種串行的存儲(chǔ)器等。圖5所示為使用I2C接口控制EEPROM。

2、小結(jié)

本文主要介紹了Actel FPGA的Core I2C Ip核,除了Core I2C,Actel公司還提供了UART、SPI、PWM、Timer等IP核,請(qǐng)關(guān)注周立功公司的網(wǎng)站獲得更多的信息。我們有著一個(gè)接近30人的FPGA團(tuán)隊(duì)提供強(qiáng)有力的售后服務(wù),解決用戶在產(chǎn)品使用和研發(fā)過程中遇到的困難。若有更多的需求可以與我們聯(lián)系,我們將會(huì)竭誠(chéng)為您服務(wù),并能關(guān)注下期的FPGA專題技術(shù)講座。

猜你喜歡
數(shù)據(jù)線高電平寄存器
數(shù)據(jù)線長(zhǎng)短影響充電速度
一種基于FPGA的PWM防錯(cuò)輸出控制電路
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
TS-03C全固態(tài)PDM中波發(fā)射機(jī)開關(guān)機(jī)控制電路原理及故障分析
科技傳播(2019年15期)2019-08-22 08:07:44
分簇結(jié)構(gòu)向量寄存器分配策略研究*
DM 50KW中波廣播發(fā)射機(jī)欠推動(dòng)故障分析
PDM 1kW中波廣播發(fā)射機(jī)保護(hù)電路分析
數(shù)據(jù)線接口超聲波焊接設(shè)備設(shè)計(jì)
焊接(2016年7期)2016-02-27 13:05:07
會(huì)叫喚的數(shù)據(jù)線
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
深州市| 修武县| 志丹县| 江华| 崇文区| 子长县| 会东县| 葫芦岛市| 固阳县| 化隆| 灵寿县| 德安县| 林西县| 崇阳县| 彭山县| 宾川县| 呼和浩特市| 凤庆县| 安化县| 新安县| 焦作市| 建德市| 铁岭市| 报价| 陕西省| 宁南县| 犍为县| 克山县| 财经| 桃源县| 大连市| 东乡族自治县| 布尔津县| 梁山县| 兰西县| 湟源县| 巍山| 长子县| 西盟| 墨脱县| 云浮市|