原创 I2C通信--读书笔记

2015-8-3 17:00 1049 12 12 分类: FPGA/CPLD

I2C通信

本实验有两个模块iic_comled_seg7iic_comI2C协议,led_seg7为数码管的显示(`define WRITE_DATA 8'b0100_1001 //写入EEPROM的数据 数据为49),显示即为WRITE_DATA值。

本实验的目的了解AT24C02I2C协议,I2C通信中涉及两条信号线,即时钟线SCL和数据线SDA,时序如下:

20150727151634842.jpg

PS:本实验是通过随机读时序来编程的。程序主要是根据SCLSDA的时序关系来书写程序。

器件地址(DEVICE ADDRESS)的定义如图:

20150727151725824.jpg

最低位R/W表示读或者写状态,1表示读,0表示写。

AT24C02的电路图:

20150727151831407.jpg

可知,A2,A1,A0均为0,故有`define DEVICE_READ 8'b1010_0001 //被寻址器件地址(读操作)

`define DEVICE_WRITE  8'b1010_0000 //被寻址器件地址(写操作)

Iic_com.v: //计数器,//当计数满时,锁存按键值(注意:按键的初值为高电平) //cnt_delay500计数循环,为iic提供时钟// cnt=0:scl上升沿,cnt=1:scl高电平中间,cnt=2:scl下降沿,cnt=3:scl低电平中间 //使能信号start赋值//读、写时序

Led_seg7:略(数码管的显示电路)

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /2 下一条