关键字 |
I2C协议、数据监视、FPGA硬件描述语言(VHDL) SDA, sci, OV7620 |
介绍 |
I2C总线是2线、低中速通信总线,减少电子产品的制造成本。它提供低成本但强大的芯片,芯片性能将受到影响不当复杂电磁环境下的音频/视频监控首先提出,然后I2C协议实现的技术说明。连续监测监控区域内的视频是通过采取的地方。使用CMOS传感器捕获的视频帧的形式。这些帧存储和比较计算任意两帧之间的差异。没有入侵时,变化为零。当任何运动检测运动物体的大小来计算如果对象的大小大于特定值在这种情况下威胁将会如此之高的水平。这将使一个安全系统,不需要人力,直到检测到入侵。 |
|
不同阶段的接口设备 |
I2C协议接口设备有四个基本阶段,这四个条件设备必须配置主或FPGA板。 |
•I2C总线事件:启动和停止条件 |
•I2C总线事件:接收机传送一个字节 |
•I2C总线事件:从接收获得承认 |
•I2C总线事件:从收到接收一个字节 |
|
2.1。I2C总线事件:启动和停止条件之前任何事务在公共汽车上,一个开始状态需要发布在公共汽车上。开始条件作为信号集成电路连接所有的事情即将在总线上传输。因此,所有连接芯片将注意到总线。消息已经完成后,发送一个停止条件。这是信号总线,总线上的所有设备是可用的(空闲)。如果一个芯片是访问和接收的数据在过去的事务,现在处理这些信息(如果不是消息的接收期间已经处理过的)。 |
开始启动芯片发行条件首先把SDA(数据)线低,和明年将sci(时钟)线低。首先停止总线主控释放sci然后SDA线。一个消息可以包含多个启动条件。这种所谓的“重复启动”的使用在I2C很常见。停止条件总是表示传输的结束。即使是在中间的事务或发行的一个字节。芯片是“好行为”,在这种情况下,它忽视了信息发送和简历“倾听”状态,等待一个新的开始。 |
2.2 I2C总线事件:一位receiver-Once传送一个字节开始条件已经发送,可以通过主传送一个字节接收第一个字节开始条件后将确认车上的接收机(地址),并将选择的模式操作。所有字节之后的意义取决于接收器。的地址已经被用于特殊用途。其中一个地址被预留给“扩展寻址模式”。I2C总线得到普及,很快就发现可用地址的数量太小了。因此,保留的地址被分配给一个新的任务切换到10位地址模式。如果一个标准接收机(不能够解决扩展寻址)收到这个地址,它不会做任何事情(因为它不是地址)。如果有接收器在公共汽车上,可以延长10位寻址模式,他们都应对ACK签发主循环。第二个字节被主会被传播和评估他们的地址。即使在10位扩展的寻址模式,有些开始后的第一个字节0条件决定了接收机访问模式(' 1 ' =读/ ' 0 ' =写)。 |
2.3 I2C总线事件:从接收得到承认——当一个地址或数据字节被传送到公共汽车那么这必须由接收方承认(年代)。在一个地址:如果地址匹配自己的那只接收器和接收机将与一个ACK回复地址。一个字节,然后传送到一个已经解决了接收方,接收器将应对一个ACK。给一个ACK的接收机后立即把SDA线低接待8位传播,或者,一个地址字节,后立即评估它的地址。在实际应用中这将不会被注意到。这意味着,一旦主拉sci低完成的传播。 |
•SDA将拉低的接收机 |
•主现在在sci行发出一个时钟脉冲 |
•接收器将发布SDA线完成后,这个时钟脉冲 |
•公共汽车现在可以再次主继续发送数据或产生一个停止条件。 |
数据被写入到一个接收器,这种循环必须完成前可以生成一个停止条件。接收机将屏蔽总线(SDA保持低的接收机),直到主在sci行生成一个时钟脉冲 |
2.4 I2C总线事件:从接收机接收一个字节—接收者已经解决,接收方也承认这一点,可以从接收机接收一个字节如果R / W在地址设置为里德(设置为' 1 ')。协议的语法是一样的在接收器传送一个字节,除了现在的主人是不允许触摸SDA线。之前发送所需的8个时钟脉冲时钟在sci行一个字节,主释放SDA线。这条线的接收器将控制。线将会走高,如果想发送一个“1”或,如果对方想要发送一个“0”,仍然很低。 |
|
主所要做的就是在sci行生成一个前沿(2),阅读水平SDA(3)并生成一个下降沿在sci行(4)。接收方不会改变数据期间,sci很高。(否则启动或停止可能无意中生成)。在(1)和(5),接收方可能会改变SDA的状态。总的来说,这个序列必须8倍执行完成数据字节。字节总是传播MSB第一。所有字节被阅读的意义取决于接收器。没有所谓的“万能的状态寄存器”。你需要参考接收机的数据表是写给知道每一位在任何字节传送的意义。 |
理论相关的工作 |
I2C协议是level-sensitive。的数据时,必须稳定sci很高。除了两种情况,SDA线的状态只能改变当sci很低。除了有特殊意义。1与0过渡信号传输的开始,称为一个开始状态。0到1过渡信号的传输和称为一个停止条件。字节的数据传输,发送第一个最重要的一点。字节传输需要九个时钟脉冲。转让一个字节的位需要8个脉冲,和第九用于承认。启动和停止条件,之间一个无限制的字节数可以被转移。 The communication in between the devices is very simple but before interfacing Master as well as Slave checks some condition of follows the condition only the device is being interface. The interfacing need several condition like SATRT1,ACK2,Device Id3,Register location address4, Register data5 and finally the STOP6. After a start condition, the byte containing the slave address (or part of the address, when 8-bit addressing is used) and a data direction bit is always sent first. A start condition can be repeated without first generating a stop condition. This is used to change transfer direction or to address another slave. If there is no acknowledgment from the addressed slave (because it is not connected or performs some internal operation), the master can abort the transfer. Next, i f the slave is being written to, it must acknowledge each byte received. Lack of acknowledgment indicates that it cannot accept data. While reading from the slave, the master is also obliged to acknowledge each byte, except the last byte. The master can communicate with the slave according to several scenarios called transfer formats. |
|
开始从SDA行,SDA线的第一的位置高到低意味着1 - 0后,一些Pico第二sci线的位置是高到低1到0。这意味着奴隶的FPGA发送起始信号,主(FPGA)准备进一步沟通。 |
ACK -每个字节后由母亲传播或奴隶一个应答信号可以通过其他设备,应答信号意味着无论设备被其他设备传输可以正常接收正常。 |
设备Id——每个设备的设备Id是固定的帽子可以在FPGA接口e。Id为多个系统无法匹配。Id是8位长,它可以传播串联意味着一个接一个…Id是8位长意味着总256设备接口。添加超过256台设备正在增加。 |
寄存器地址寄存器地址是8位长,它表明总256个地点注册是可以控制的。每个寄存器是适当的接口通过I2C协议。 |
寄存器数据——数据也8位长,是帮助我们控制参数的值来控制。 |
停止在Id,注册地址,注册一个停止信号被传输的数据FPGA。这表明,一个周期的转换完成 |
3.1是阶段过渡,过渡从时钟线,时钟系统将提供约100 ps, butten设置为1的位置通过强制的值和位置external_rst将1,过渡开始但它是空白的过渡。适当的过渡的价值只有当启动external_rst迫于0值,同时迫使突然SDA行高到低意味着1 0几即时sci后线也会高到低意味着1到0。表明FPGA开始发送起始信号接口的奴隶。当这个起始信号收集的奴隶,开始发送应答信号。这将FPGA接收到应答信号,实际的传输将开始,沟通是串行通信技术和价值可以改变每上升sci的边缘线。 |
收到ACK FPGA,奴隶开始发送设备Id即40 h(0100 0000)的每一个串行设备Id交换一个接一个,美国将改变每上升边像[Low-High-Low-Low-Low-Low-Low-Low]。后设备Id被奴隶发送和接收由FPGA将ACK发送信号接收器接收到应答信号后的地址寄存器准备发送我。3 e(0011 1010)的每一个串行设备Id交换一个接一个,美国将改变每上升边像[高-低-高-低-高-低-高低]。当注册是否正确建立以FPGA,接收器再发送应答信号后奴隶开始发送数据。e 16(0001 0110)的每一个设备Id交换顺序一个接一个,美国将改变每上升边像[低新低-高低高-高低)。寄存器的数据决定决定的参数要控制但设备Id和寄存器的地址是固定的。 |
这个公式是: |
PS_gain = 1 + (p < 7:0 > - [80] / [100];范围(0.5 ~ 1.5 x)。 |
PS < 7 >——符号位。如果“1”,PS通道增益增加;“0”得到减少。 |
|
RTL描述 |
——RTL I2C图如图。结果可以验证在ModelSim和有效的,可以实现高速通信链路和验证。可以强制输入值和输出3 a16 (0011, 1010, 0001, 0110), 5004 (0101、0000、0000、0100), 0 e80(0000、1110、1000、0000)和设备的Id是固定即40(0100、0000)十六进制。 |
|
|
|
4.4 -优势与I2C通讯的fpga尤其适合满足许多数据处理应用程序的需求。fpga有以下特征,使其非常有吸引力 |
高性能:高清处理可以在一个FPGA实现。 |
灵活性:fpga快速升级架构提供能力来满足不断变化的需求,而可扩展性允许使用低成本和高性能的fpga系统。 |
低开发成本:数据开发工具从开始低至1095美元,包括所需要的软件工具开发一个数据系统使用fpga。报废证明:fpga对船舶有很大的客户群产品很多年了。此外,FPGA设计很容易从一个流程节点迁移到下一个。 |
为降低生产成本计划:提供了几种方法来帮助计划的时候产品从低单位量更高的体积 |
结论 |
理想的监测与I2C架构将有以下特点:高性能、灵活性、易升级性、开发成本低、迁移路径来降低成本随着应用的成熟和体积斜坡。在结合fpga功能丰富的数据和图像处理套件,IP数据参考设计,和伴侣的压缩解决方案提供数据系统设计师所需的所有关键构件产生这样的一个系统。 |
引用 |
- I2C总线规范2.1版2000年1月,飞利浦半导体。
- 弗雷德伊迪法官明确指出“与微控制器网络和网络互连”爱思唯尔,2004年。
- j . Bhasker硬件描述语言(VHDL)合成引物,BS出版物第二版,2003年,页132。
- TMS470R1x Inter-Integrated电路(I2C)参考指南,德州仪器(SPNU223)。
- 设计制品Inter-IC I2C VIP数据手册,版本1.10,2月18日2005年,剧情简介。图6。流的总结设备1。
- P。Venkateswaran, a . Saynal S Das。K Saynal和r .南帝”,基于FPGA的有效界面无标度模型计算机网络使用I2C协议”15 th.intl”设计计算——中投2006年Proc。计算科学研究:特殊问题——计算机科学的进步中。ISSN 1870 - 406年,酒吧.National理工学院、墨西哥、Vol.23,页191 -198,11月21 - 24日,2006年
- 泽维尔Righetti Xavier Righetti”命题的模块化I2C-Based可穿戴架构”ieee - 2010
- Jan o . Borchers沃尔夫冈均湿,马克斯·M¨uhlh¨用户“个人乐团:进行音频/视频音乐录音”ieee - 2002。
- A.R.M.汗,美联社Thakare,克里Gulhane“fpga设计控制器的声音获取从编解码器使用阿尔特拉德板”国际科学和工程研究期刊》的研究,
- 马丁Berrandjia A.K. Oudjida, r .冠状头饰,a . Liacha k Tahraoui„FPGA实现I2C & SPI协议“比较研究”的IEEE 2009
- J.M. Irazabel& s Blozis飞利浦半导体、“I2CManual、应用注意ref。AN10216-0”3月24日,2003年。
- f·利恩,”介绍I2C和SPI协议”,IEEE仪表和测量》杂志,2009年2月8日至13日,页。。
- Bacciarelli et al .“设计、测试和原型设计软件可编程的I2C总线上安巴/ SPI IP,“Ph.D.Res会议上
|