推荐阅读最新更新时间:2024-05-03 00:02
I2C总线通信接口的CPLD实现
摘要: 介绍采用ALTERA公司的可编程器件,实现I2C总线的通信接口的基本原理;给出部分VHDL语言描述。该通信接口号专用的接口芯片相比,具有使用灵活,系统配置方便的特点。
关键词: I2C总线 CPLD VHDL
I2C总线是PHILIPS公司开发的一种简单、双向二线制同步串行总线。它只需要两根线(串行时钟线和串行数据线)即可在连接于总线上的器件之间传送信息。该总线是具备多主机系统所需要的包括裁决和高低速设备同步等功能的高性能串行总线,应用极为广泛。
目前,虽然市场上有专用I2C总线接口芯片,但是地址可选范围小,性能指标固定,功能单一,而且使用不方便。针对I2C总线的电气特性及其通信协
[应用]
STM32学习之路:I2C的基本读写
宏定义: /*I2C传输速度,最高为400kHz*/ #define I2C_SPEED 400000 /* STM32 自身的 I2C 地址, 这个地址只要与 STM32 外挂的 I2C 器件地址不一样即可 */ #define I2C_OWN_ADDR 0x77 /*EEPROM地址*/ #define EEPROM_ADDR (0x50 1) //0xA0 #define EEPROM_SCL_GPIO_CLK RCC_AHB1Periph_GPIOB #define EEPROM_SCL_PIN GPIO_Pin_6 #define EEPROM_SCL_GPIO_PORT GPIOB #de
[单片机]
采用数字示波器调试嵌入式I2C总线
本文阐述了在实际开发中所遇到的I2C通信问题及使用示波器分析问题和解决问题的方法。 分析过程中采用了RIGOL公司最新推出的DS6104示波器,其具体特性包括:高达1GHz带宽,足以满足常用标准总线的带宽需求;5GSa/s实时采样率,确保不会遗漏信号细节;每秒18万次的波形捕获率,最大概率捕获感兴趣的信号;标配140M深存储,同时满足总览全局和观察局部的需求;可录制多达18万帧的波形,奇异信号随意回放和分析;提供多种串行触发,RS232、I2C、SPI、CAN、USB等。 问题探讨 项目设计中计划采用Cypress 68013A芯片来实现USB器件功能。68013A是Cypress公司出产的一款高速
[测试测量]
对I2C总线协议的一些理解
1、无论读与写,都是在时钟线为低时把数据送到数据总线上,在高时采样数据,把数据锁存到内部,所以读之前先把时钟线拉低,做好准备(数据线为高表示释放数据线),为接下来读数据做好准备。也就是时钟信号为低时,数据线上的高低电平才允许变化,时钟信号为高时,数据总线上的数据必须保持稳定。 2、起始信号产生后,总线为被占用状态(SDA拉低);终止信号产生后,总线为空闲状态(SCL被释放了)。 3、接收器件收到一个完整的数据字节后有可能需要完成一些其它工作,如处理中断,可能无法立刻接收下一字节,这时从机将SCL拉成低电平,从而使主机处于等待状态。直到从机准备好接收下一字节,再释放SCL线使之为高,从而数据传送可继续进行。数据线上的数据是在
[单片机]
AT91SAM7X256的I2C控制器TWI接口的使用方法
1 前 言 I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。AT91SAM7X256是Atmel公司于2005年推出的基于ARM7的工业级芯片,他以体积小、功耗低、连接方式广泛、处理资源丰富、控制灵活等特点受到嵌入式领域开发人员的重视。本文介绍AT91SAM7X256的I2C控制器TWI接口(two-wired interface)的使用方法,并以I2C设备E2PROM和日历时钟芯片为例,实现AT91S
[单片机]
I2C总线在单片机上的实现
摘要: 本文介绍了I2C总线的性能、特点以及数据传输和结构,并详细分析了它的应用示例,给出了它在单片机上的具体实现和相应的汇编程序。
关键词: I2C总线 单片机
随着大规模集成电路技术的发展,把CPU和一个单独工作系统所必需的ROM、RAM、I/O端口、A/D、D/A等外围电路集成在一个单片内而制成的单片机或微控制器愈来愈方便。目前,世界上许多公司生产单片机,品种很多。其中包括各种字长的CPU,各种容量的ROM、RAM以及功能各异的I/O接口电路等等,但是,单片机的品种规格仍然有限,所以只能选用某种单片机来进行扩展。扩展的方法有两种:一种是并行总线,另一种是串行总线。由于串行总线的连线少,结
[应用]
STM32快速读写AT24C16 代码 模拟I2C
本帖只适用AT24C16及以下的芯片,AT24C32及以上的芯片读写方式不一样,故不适用!!! 如果你的代码可以正常读写24C01/02,直接拿来读取24C16是可以的,但是只能读取256字节。 AT24C16与AT24C01/02/04/08 不同,它引脚的A2,A1,A0是无效的,也就是它没有自己独立的地址,总线上只能挂一个AT24C16设备。 AT24C16总共2048字节,分为128页,每页16字节,地址范围是0~2047。 128页只需要7位地址,分为高3位和低4位,高3位在设备地址中,低4位在字节地址中。 设备地址:1010+页地址高3位+读写方向(1:读 0:写) 字节地址:页地址高4位+4位
[单片机]
STM32 硬件I2C外设
I2C 框图 通信引脚 输入的引脚有三个,SDA 数据传输引脚,SCL 时钟引脚, SMBA用于SMBUS警告,在 I2C 中并未用到。这些引脚实际对应的硬件引脚可以在 数据手册 的引脚定义中查到。这里小结如下: 时钟控制 时钟控制决定了 SCL 的时钟频率,决定了数据的传输速率。其对应的的寄存器是 CCR 可以配置 I2C的模式。 这个寄存器的15位确定 I2C 处于什么模式,11:0位具体配置频率。 数据控制 发送数据,数据先被写入数据寄存器,移到数据移位寄存器,再一位一位交由数据控制从 SDA 端口发送出去。 而框图下面的比较器,是在STM32作为从机,主机呼叫时用于比较。再下面的地址寄
[单片机]