EEPROM IIC】的更多相关文章

1. 数据位的有效性规定 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化 2. 起始和终止信号 SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号:SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号 起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态:在终止信号产生后,总线就处于空闲状态 接收器件收到一个完整的数据字节后,有可能需要完成一些其它工…
a - 什么是IIC总线 -什么是EEPROM -IIC总线的通信格式 模块化设计注解 整体代码 - 什么是IIC总线 IIC总线是同步通信的一种特殊形式,具有接线口少.控制简单.器件封装形式小.通信速率高等特点.在主从通信中,可以有多个IIC总线器件同时连接到IIC总线上,所有与IIC兼容的器件都具有标准的接口,通过地址来识别通信对象,使他们可以经由IIC总线互相直接通信. IIC总线由SDA数据线和SCL时钟线俩条线构成通信线路,既可发送数据也可以接收数据.在CPU和IC之间.IC与IC间都…
从ISE转换到Vivado时,UCF转XDC的几种方法: (1)软件自动转换 参考网址:Youtube 用ISE->EDK->PlanAhead打开所需转换的工程文件*.xise,并打开bd 在Tcl Console 栏中 write_xdc -file YourFileFullPath/test.xdc (2)参考文档人工转换 文档:ug911-vivado-migration.pdf 下载:地址 (3)附 xdc文件: #set_property PACKAGE_PIN H20 [get_…
[导读]Flash存储器,简称Flash,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程的性能,还不会因断电而丢失数据,具有快速读取数据的特点;在现在琳琅满目的电子市场上,Flash总类可谓繁多,功能各异,而你对它了解有多少呢? 为了让大家更深入了解Flash,今天将主要根据芯片的通信协议并且结合Flash的特点,给大家一个全新认识. Flash存储器,简称Flash,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程的性能,还不会因断电而丢失数据,具有快速读取数据的特点;在现在琳琅…
目标板:Zybo(7Z010) 主机操作系统:Ubuntu 14.04.5 LTS 64bit 交叉编译链: arm-xilinx-linux-gnueabi-       [gcc version 4.9.2 (Sourcery CodeBench Lite 2015.05-17)] Linaro系统:linaro-precise-ubuntu-desktop-20120923-436.tar.gz 〇.准备工作 1.交叉编译环境搭建,见之前的记录:Zynq7000开发系列-4(新:Xilin…
1.采用串行总线技术可以使系统的硬件设计大大简化.系统的体积减小.可靠性提高.同时,系统的更改和扩充极为容易. 常用的串行扩展总线有: IIC (Inter IC BUS)总线.单总线(1-WIRE BUS).SPI(Serial Peripheral Interface)总线及Microwire/PLUS等.   2.IIC IIC总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL. IIC总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任一器件输出的低电平…
案例采用明德扬设计思想完成.IIC协议是非常常用的接口协议,在电子类岗位招聘要求中经常出现它的身影.关于IIC协议这里只做简要介绍,详细信息请自行百度或查阅相关Datasheet,网上资料非常多.该篇博文主要讲如何使用verilog来描述IIC协议,以读写EEPROM为例带领大家了解下明德扬四段式状态机规范和优势,另外还有一些自己在设计过程中总结的经验技巧. IIC协议时序格式以Datasheet中时序图的形式供大家参考.IIC协议有一条时钟线SCL和一条双线数据总线SDA.SDA在SCL高电平…
IIC是两根线,单总线,只有一根数据线,发送数据和读取收据都是一根线,像我们之前学的AD.DA都是许多线,许多线的话,这样做系统可以少浪费资源,少浪费控制IO口的资源,这种并行的处理速度快.所以线越多,速度越快. 我们用的较多的是SIP和IIC,单总线用得少,一般就BS18B20用. 这两条线可以接很多I²C设备,凡是具有I²C通信功能的设备都可以接在这总线上.要和哪个设备通信,先发送一个地址码给总线,总线全会响应这个地址码,这条总线上所有I²C芯片会检测这个地址,哪一个地址和它相符,就和主机建…
十六.IIC协议详解+Uart串口读写EEPROM 本文由杭电网友曾凯峰根据小梅哥FPGA IIC协议基本概念公开课内容整理并最终编写Verilog代码实现使用串口读写EEPROM的功能. 以下为原文内容: 在看完小梅哥讲解IIC总线基本概念后,就有种想跃跃欲试的想法,下面先复习下梅哥讲解的IIC总线若干基本概念.以下基本概念均为小梅哥总结,我就直接拿过来供大家参考学习. IIC基本特性 总线信号 SDA:串行数据线 SCL:串行数据时钟 总线空闲状态 SDA:高电平 SCL:高电平 IIC协议…
我TMD也是服了,反正我板子搞了半天也不成功我也不知道为什么,野火STM32-MINI,一直卡EV5,不管了 先代码沾上 工程目录(板子为野火STM32 MINI) 串口相关代码: bsp_usart.h #ifndef __USART_H #define __USART_H #include "stm32f10x.h" #include <stdio.h> /** * 串口宏定义,不同的串口挂载的总线和IO不一样,移植时需要修改这几个宏 * 1-修改总线时钟的宏,uart…
IIC EEPROM读取解析 1. 编译错误处理(这里可以忽略) 在解压包解压了程序后,直接编译,出现如下错误. *** WARNING L14: INCOMPATIBLE MEMORY MODEL MODULE:  .\EZUSB.LIB (RESUME) MODEL:   SMALL *** WARNING L14: INCOMPATIBLE MEMORY MODEL MODULE:  .\EZUSB.LIB (DISCON) MODEL:   SMALL *** WARNING L14:…
main.c #include <reg51.h> #include "iic.h" #define AT24C02 0xa0 //AT24C02 地址 sbit LS138A=P2^; //译码器端 sbit LS138B=P2^; sbit LS138C=P2^; sbit K1 = P1^; //保存 sbit K2 = P1^; //读取 sbit K3 = P1^; //+数据 sbit K4 = P1^; //-数据 void delay(unsigned in…
参考: 1.https://www.arduino.cc/ 2.https://www.arduino.cc/reference/en/ 3.https://www.arduino.cc/en/Reference/Wire 4.https://www.arduino.cc/en/Reference/WireRead 5.https://www.arduino.cc/en/Reference/WireWrite 6.https://github.com/settings/installations…
2010-04-24 12:58:00 注:如果要读24c128或264,地址位为16位的.现在的地址位为8位. protues仿真图 源程序如下: #include <iom16v.h> #include <macros.h> #include "delay.h" #define I2C_DDR     DDRB #define I2C_PORT    PORTB #define I2C_PIN     PINB #define SDA         PB1…
1.       用C语言编程,利用定时器产生一个0~99秒变化的秒表,并且显示在数码管上,每过一秒将这个变化写入实验板上AT24C02,当关闭实验板电源,并再次打开实验板电源时,单片机从AT24C02中将原来写入的数据读出来,接着继续变化在数码管上. #include<reg51.h> #define uchar unsigned char #define uint unsigned int //=========全局变量区==================================…
....妈的太难.    反正就是控制引脚的高低电平 实现数据的读取....参考 I2C的协议层和物理层的那个几个图,个个信号产生的电平 自己看源码去把. 头疼…
关于I2C 学习的时候介绍得最多的就是24C02 这里存储EEPROM了,但学的时候基本只是讲讲简单的I2C 的总线数据传输而已,即使先gooogle上搜索也绝大部分这这样的文章,很少有说到如何在实际情况中如何使用的程序. 24Cxx系列数据块存储时也是比较讲究的, 图为 几类不同容量的芯片的存储空间结构,24C16以下空间的大于8位后的寻址高位地址在片选地址中选择,详细看芯片手册.另外要注意的就是字节页,一次连续写入的数据量不能超过一页的数据量.有些老款的芯片甚至不支持跨页写入.为了适用也参照…
一. 概述 1. IIC总线是PHILIPS公司推出的一种串口总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串口总线. 2. IIC总线只有两根双向信号线.一根是数据线SDA,一根是时钟线SCL. 3. 连接到相同总线的IC数量,受总线最大电容400pF的限制. 4. IIC总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任何一个器件输出的低电平,都将使总线的信号变低, 即各器件的SDA和SCL都是线“与”的关系. 5. 每个连到总线上的器件都有一个唯…
IIC简介: IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源.这种方式简化了信号传输总线接口. IIC的主要构成只有两个双向的信号线,一个是数据线SDA,一个是时钟线SCL. IIC主要特点: 具有多机功能,该模块既可以做主设备也可以做为从设备 IIC主设备功能,主要…
在读写的过程中,发现写数据成功但是读取数据却失败,猜测是因为iic的读写操作过快,故在写操作后给一定的延迟,进而读写成功. 代码如下: #include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <unistd.h>#include <sys/ioctl.h>#include <linux/types.h> struct i2c_msg { unsigned shor…
/*----------------------------------------------- 名称:IIC协议 EEPROM24c02 存数读取数据 内容:此程序用于检测EEPROM性能,测试方法如下:写入24c02一个数据,然后在内存中改变这些数据, 掉电后主内存将失去这些信息,然后从24c02中调入这些数据.看是否与写入的相同.这里用8个LED演示 函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作 一定的修改....(本例是1us机器 周期,即晶振频率要小于12MHZ) --…
先将数据存进去,然后再读出来显示在数码管上. 除了代码里定义的连线外还要把p0连接到8位数码管的8针上. /*----------------------------------------------- 名称:IIC协议 EEPROM24c02 内容:此程序用于检测EEPROM性能,测试方法如下:写入24c02一些数据,然后在内存中清除这些数据, 掉电后主内存将失去这些信息,然后从24c02中调入这些数据.看是否与写入的相同. 函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作 一定的…
这里把EEPROM 24c02封装起来,今后可以直接调用,其连线方式为:SDA-P2.1;SCL-P2.0;WP-VCC >_<:i2c.c /*----------------------------------------------- 名称:IIC协议 内容:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作 一定的修改....(本例是1us机器 周期,即晶振频率要小于12MHZ) ------------------------------------------------*…
硬件程序烧录 1)因为本产品要求将二进制代码和硬件PID/VID烧录在EEPROM,而不是使用CYPRESS推荐的在线下载方式,所以外部采用了8K的EEPROM.上电后68013A会将EEPROM中的数据和程序加载到RAM中运行. 2)HEX文件只是68013A上8051的程序代码,还要加上PID/VID等信息才能正确运行,CYPRESS在开发包中提供了HEX2BIN.EXE这个工具,可以根据HEX生成完备的IIC文件,将此文件烧录到EEPROM上即可. 3)HEX2BIN.EXE的使用方法如下…
IIC设备是一种通过IIC总线连接的设备,由于其简单性,被广泛引用于电子系统中.在现代电子系统中,有很多的IIC设备需要进行相互之间通信 IIC总线是由PHILIPS公司开发的两线式串行总线,用于连接微处理器和外部IIC设备.IIC设备产生于20世纪80年代,最初专用与音频和视频设备,现在在各种电子设备中都广泛应用 IIC总线有两条总线线路,一条是串行数据线(SDA),一条是串行时钟线(SCL).SDA负责数据传输,SCL负责数据传输的时钟同步.IIC设备通过这两条总线连接到处理器的IIC总线控…
在前面阅读理解了I2C的官方协议文档后,就拿s3c2440和EEPROM来验证一下. 本来是想用s3c2440的SDA和SCL管脚复用为GPIO来模拟的,但在没有示波器的情况下搞了一周,怎么都出不来,最后还是放弃了.甚至参考了linux下i2c-algo-bit.c和i2c-gpio.c,依然没调出来.如果有示波器,可能很快就能找到原因,现在完全不知道问题出在哪里.其实想用GPIO模拟I2C的目的很简单,以一种简单而又深刻的方式来理解I2C. 既然这条路暂时没法走,退而求其次,用s3c2440的…
前言:年前给老师做个红外抄表系统,,现在对当中用到的一些模块总结一下. 1.只有在总线空闲时才允许启动数据传送. 2.在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变.时钟线为高电平时,数据线的任何电平变化将被看做总线的起始或停止信号. 3. 任何将数据传送到总线的器件作为发送器任何从总线接收数据的器件为接收器, 主器件和从器件都可以作为发送器或接收器但由主器件控制传送数据. 4.有两根数据线: SDA : IIC数据传送位 SCL : IIC 时钟控制位 下面对IIC…
IIC总线协议 前言:年前给老师做个红外抄表系统,,现在对当中用到的一些模块总结一下. 1.只有在总线空闲时才允许启动数据传送. 2.在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变.时钟线为高电平时,数据线的任何电平变化将被看做总线的起始或停止信号. 3. 任何将数据传送到总线的器件作为发送器任何从总线接收数据的器件为接收器, 主器件和从器件都可以作为发送器或接收器但由主器件控制传送数据. 4.有两根数据线: SDA : IIC数据传送位 SCL : IIC 时钟控制…
板子上设置了EEPROM存储器,型号为AT24C02.板子的硬件连接为:SCL--->P2.4,SDA--->P2.5.直接了当,贴上程序! ========================24cxx.h文件========================= #ifndef _24CXX_H_ #define _24CXX_H_ #include <msp430x14x.h> #define WRITE_ADDR 0xA0 //A0 A1 A2均接地 #define READ_AD…
mini2440开发板提供的测试代码过于复杂,让人很难理解,而且有些错误,如GPE14-15不能设置上拉电阻,可是代码里却设置了,虽然无关紧要.为了方便学习,我在闲暇之时我研究了一下.IIC的原理是比较简单的,可是在实际编程中却遇到很多困难.不知道哪里出了错误,有些逻辑上认为正确的,但在硬件上却不能实现.如下两行代码: rGPECON &= ~(0x0f<<28); rGPECON |= (0xa0<<28); 是为设置GPE14.GPE15位SCL和SDA的,在加上第一句…