4877|7

449

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

at24c04调试的一点总结 [复制链接]

iic的eeprom调试了好长时间了,今天算是初步告一段落。以前没弄过iic的协议,所以在用fpga做之前,先用51单片机把协议跑了一遍,,对象是24c02,,倒是不难,,挺快的就跑通了,,但是到了用verilog做的时候,,就很棘手了,,不知道该从何下手,,单片机的思想一直影响着我的思路,老想着延时一下然后再做动作啥的,,后来就找到了特权的代码,,copy下载,,竟然没反应,,纠结了好久要不要再找个可以用的再研究,,后来还是直接看代码了,深入之后,发现也不是很难,,好在之前有用单片机做过,对协议有点了解,发现特权的代码有些小错误,,可能是笔误吧,,看懂之后,修改了一下,可以用了,,后来自己又加了个按键消抖的,因为我发现他没有消抖,造成的后果就是会有误操作,,iic以100khz的速率进行读写,整个写过程和读过程大概也就是几百个us的事,,如果某个脉冲保持几百us的话就很有可能会有误触发,,而且另外一个问题就是,按下一次按键,比如说按下了写数据的按键,特权的程序会连续执行很多次写的动作,,因为scl时钟线是一直 在走的,不像单片机,可以临时控制,,后来我改动一些,加了按键消抖,就不会误触发了,同时按下一次按键也不会执行太多次动作,,不过还是会执行重复的写或者读的动作,,我是在按下按键20ms之后给标志位拉高的,这就是说着20ms之内,如果按下写的按键,,还是会反复的往同一个地址写入同一个数据,,天哪,这样子eeprom估计用不了多久吧,,最后贴上代码,希望各位指导下怎么改进可以让按键按下一次只写入或者读出一次数据,,免得做无谓的动作。

control.v

11.63 KB, 下载次数: 34

iic协议处理部分

display.v

1.86 KB, 下载次数: 16

数码管显示部分

iic.v

1.59 KB, 下载次数: 31

顶层部分

key.v

1.59 KB, 下载次数: 22

按键消抖部分

此帖出自FPGA/CPLD论坛

最新回复

软件也可以实现脉冲检波哦。D触发器沿检测,计数器时间计数即可。不复杂。  详情 回复 发表于 2012-10-24 13:15
点赞 关注
 

回复
举报

6892

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 
关键就是按键消抖了。用加减滤波方法实验一下吧,看看效果怎样?
此帖出自FPGA/CPLD论坛

点评

我现在也没找到什么好的方法可以按下按键只写入或者读出一次的方式,,请教版主改怎么做?我后来驱动1602也遇到这个问题,同一个数据会被连续写液晶好多次,纠结了,,什么方式可以在数据改变的时候才写入呢?而且只  详情 回复 发表于 2012-10-20 19:32
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 

回复

1

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

请教

你好   我刚学习FPGA有很多地方不懂,一个人,也没人带,学习起来很慢,你能留个联系方式吗  以后有什么不懂好请教你    谢了
此帖出自FPGA/CPLD论坛
 
 
 

回复

449

帖子

0

TA的资源

纯净的硅(高级)

4
 

回复 沙发 eeleader 的帖子

我现在也没找到什么好的方法可以按下按键只写入或者读出一次的方式,,请教版主改怎么做?我后来驱动1602也遇到这个问题,同一个数据会被连续写液晶好多次,纠结了,,什么方式可以在数据改变的时候才写入呢?而且只写入一次?我试过组合逻辑,,不过貌似也很纠结,多重赋值啥的错误满天飞
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

5
 
加个脉冲检波电路。脉冲宽度大于多少才触发一次写操作
此帖出自FPGA/CPLD论坛

点评

额,要外加电路额,,我还是想想软件的解决办法吧  详情 回复 发表于 2012-10-22 08:45
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

449

帖子

0

TA的资源

纯净的硅(高级)

6
 

回复 5楼 eeleader 的帖子

额,要外加电路额,,我还是想想软件的解决办法吧
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

7
 
软件也可以实现脉冲检波哦。D触发器沿检测,计数器时间计数即可。不复杂。
此帖出自FPGA/CPLD论坛

点评

这个按键检测倒是不难,,我之前看特权的视频学习的,,有按键消抖的例程,但是后面检测到按键按下后,会连续的写入数据或者读出很多次,,这个才是我纠结的地方,,我只希望按下按键只动作一次,  详情 回复 发表于 2012-10-25 16:39
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

449

帖子

0

TA的资源

纯净的硅(高级)

8
 

回复 7楼 eeleader 的帖子

这个按键检测倒是不难,,我之前看特权的视频学习的,,有按键消抖的例程,但是后面检测到按键按下后,会连续的写入数据或者读出很多次,,这个才是我纠结的地方,,我只希望按下按键只动作一次,
此帖出自FPGA/CPLD论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表