VC/MFC
VB
Delphi
C++ Builder
C/C++
Java
.NET技术
MS-SQL Server
PowerBuilder
DB2
Oracle
Web 开发
Linux/Unix社区
硬件/嵌入开发
移动平台
您的位置:
程序门
->
硬件/嵌入开发
-> 片机/工控
51单片机做从i2c,能做到400khz的通讯速度吗?
[
收藏此页
] [
打印本页
]选择字色:
默认
灰色
红色
黄色
绿色
橙色
紫色
蓝色
褐色
墨绿
深蓝
赭石
粉绿
淡绿
黄灰
翠绿
综红
砖红
淡蓝
暗红
玫瑰红
紫红
桔黄
军黄
烟灰
深灰
灰蓝
背景色:
默认
黑色
红色
黄色
绿色
橙色
紫色
蓝色
褐色
墨绿
深蓝
赭石
粉绿
淡绿
黄灰
翠绿
综红
砖红
淡蓝
暗红
玫瑰红
紫红
桔黄
军黄
烟灰
深灰
灰蓝
字体:[
大
][
中
][
小
]
51单片机做从i2c,能做到400khz的通讯速度吗?
[已结贴,结贴人:shen_guang_wu]
发表于:
2007-11-15 16:00:37
楼主
51单片机做从i2c,实现51单片机的模块作为一个标准的i2c设备,连接在标准的i2c总线上,晶体是使用的22.1184mhz,能实现400khz的速度吗?有做过这方面的高手没有?
发表于:
2007-11-15 18:57:07
1
楼 得分:
10
算一下:
400k要求一位的传送时间 / 一条指令时间(十二分频) == 400k下十二分频的单片机的机器周期
(1 / 400 000) / (12 / 22 118 400) == 4.608
才能跑4个周期,基本上几个mov就完了,
12分频的机器应该跑不上
但是,不分频或是四分频的51多的是,
像c8051f,msc等等
其它的机器肯定能跑上400k嘿嘿
不知道对不?大伙拍拍
发表于:
2007-11-16 15:29:37
2
楼 得分:
80
400k的速度肯定是到不了的,从i2c中处理也涉及到状态转换,不是几条指令好搞定的。但是i2c并没有严格的时序要求。master虽然很快,但它要等slave的应答啊,所以slave其实是可以做的很慢的。完全可以工作。如果对速度有很高的要求,建议不要选i2c了。
个人看法
发表于:
2007-11-16 19:35:44
3
楼 得分:
5
对啊,关键看iic 的从啊,别看他们吹的多少多少
如zlg7290 我只用了 30k , 吹的好象是 400k 吧
超50k 就不灵了
发表于:
2007-11-19 09:35:56
4
楼 得分:
0
呵呵,同意楼上的,有很多器件都达不到他说的速度,但是如果是从i2c的话,为了正确检测到起始条件,希望使用中断处理。我已经使用两个外部中断实现从i2c功能,现在我的系统中只有一个外部中断可以使用了,该怎样做才是最好的?
发表于:
2007-11-19 10:07:16
5
楼 得分:
5
某些扩展的51芯片好像有集成i2c总线接口,不知道速度怎么样。
发表于:
2007-11-20 12:07:17
6
楼 得分:
0
回4楼,这个简单啊,两个外部中断合用一根中断线就可以了,硬件产生中断的时候设置标志位,比如某寄存器比特0表示中断a发生,比特1表示中断b发生....以此类推。收到中断的时候,通过检测这些标志位区分是哪个中断。现在的复杂系统都是这么用的,要不然cpu哪有这么多中断线给设备用啊。
发表于:
2007-11-20 12:13:38
7
楼 得分:
0
关于速度问题,i2c有3种速度:普通模式100k;快速模式400k;还有高速模式,好像是1m吧。上面的100k,400k应该是指master 最高能以多少速度工作。实际上使用中slave是可以hold总线的,这样slave就可以控制总线速度。所以工作在400k的模式,slave照样可以将总线速度控制在不高于400k的任何速度。这可看一下i2c协议2.3版本的时序就知道了。
另外楼主因为要对i2c协议解码,涉及到状态转化等问题(通信协议都需要类似的处理),而且还需要处理上层的业务相关信息,另外中断也有一定延迟,所以你那频率要到到这个速度有困难。
发表于:
2007-11-21 11:03:38
8
楼 得分:
0
谢谢楼上的!现在我做了一些试验,slave在时钟下降沿时中断把数据放到总线上,master速度快的话,slave单片机还没有把数据放上去,master时钟就产生上升沿开始读数据了,因为时钟都是master发出的啊!对于这种情,我的程序该怎样hold总线?
发表于:
2007-11-21 13:02:59
9
楼 得分:
0
你看一下i2c的一些,应该是可以通过把时钟线拉低来实现hold的.
发表于:
2007-11-21 13:28:09
10
楼 得分:
0
从设备可以通过将scl(时钟线)拉低来实现暂停传输,等数据准备好后再传输。
下一篇:
[求助]关于cc2430 加载密钥的问题
上一篇:
单片机控制机械手臂的设计与制作.这个进栈push a 与 出栈 pop a 为何不相匹配? 在keil 中老是说表达类型不匹配指示?请指点!
相关文章
驱动中自定义函数的调用
急求:pda系统数据库同步问题
寻求合作,无线测绘的项目
如何取gprs 时间?
◆ 天空科技(北京)有限公司 ◆ ...
wince点击单步执行后 出现load file&n...
为什么我的platform builder装完后,new&nb...
热敏打印机串口调试程序
【求助】evb读写文件时“语句未结束”?
关于单片机的一个设计
我在evc下编译一个dll,提示:"definition ...
急..! 谢谢大家了.
各位大虾帮忙拉!wince4.2下的触摸屏校准问题!
50分,体系结构方向毕业之后主要从事什么样的工作...
gprs 数据传输 , 必须知道 ...
vc#2003.net连接不了windows ce4.0移动设备...
如何将nk.bin转化为nk.nb0
有关触摸屏驱动和串口驱动间通信问题
300分求牛人帮我把一个vc小游戏移植到evc
求教:串口通信怎会接收到两种按键扫描码值
其他资讯
lcd显示!
pppoe中的问题
知名外企招聘wince高级工程师--请联系:alice
寻求项目合作
高分求助单片机通信协议
怎样去掉串口通信时的回显信息?
ppc 2003模拟器问题
求助:at89s52控制tc35i无法读取消息内容
老板是不是想让我走人?
如果标准输出重定向到文件, 如果磁盘满了系...
急啊!我怎么将label背景透明呢?
arm开发菜鸟级问题
[求助]编译出现函数体和函数声明相矛盾的提示
关于延时程序问题,高手帮忙啊!!
要怎么把bitmap的数据保存为jpg文件或bmp文件
关于驱动加载的问题
红外遥控问题
evc上的进度条问题
【热心的软件从业人员请进】请教软件工程专业方向...
gprs modem的ip问题请问!
快速检索
分类导航标签a
Web 开发非技术区
Web 开发非技术区
产品/厂家Cell组件、插件
扩充话题程序人生
JavaWeb Services
其他数据库开发SQL
Windows专区网络管理配置和工具使用
Java基础类
《MSDN开发精选》杂志意见建议
专题开发/技术/项目人工智能技术
C++ BuilderWindows SDK/API
JavaWeb
移动平台开发平台
PowerBuilder语言
社区支持公告
最新资讯
我想编写一个dll,在网页上被调用,以运行本地程...
问关于接口的问题
每次打幵msn时提示"目前的安全性设定禁止在这个页...
symantec client firewall
如何用c实现文件夹的备份?
无法在真机上创建文件。。。
mysql如何当前所在数据库的名字?
有人会做网络视频的驱动吗
关于导出到excel的问题!
急问!为什么我的java程序运行这么耗内存?
要答辩咯急啊 在线等 用jspsmar...
有没有比较好的浏览器分析软件
form 提交问题
遇到oracle监听配置问题的同志们请进来看看,愿能...
java 中如何调用db2存储过程返回的结果集
关于跨域名实现单点登录的问题。请大侠来帮忙看看...
高分求救!!wince下如何读取光盘扇区数据?
clistctrl内的tooltip不能把内容显示全,我想改改...
关于在view中 添加面板的问题
急求ireport(在线等)
请教各位 初学者一个指针的概念问题
用某账户名和密码加入域,电脑说拒绝访问,是什么...
真金白银收购各类源代码!!
两个日期天数差(去掉周六日)??
如何把vss中的history倒入到tfs?
英文好点的来帮下忙!
pdf档转化为word档
急!! 我的一个验证码jsp文件在运行时出现错...
出售 ti c6416 驱动程序代码
点击不同的按钮,显示不同的输入文本框程序如何编...
怎样解决datagrid排序与分页问题
gis pda开发
jdk中主文那里有下载的
excel 導入sqlserver
帮我看看这段代码,急盼复
做过 wwf 的朋友进来看看....
vs.net编辑错误后,无法定位错误的文件及行和列?...
编译gdal, 请指点!!!
用sniffer pro监控内部网络发现的问题
windorm中dropdownlist可输入问题
热门点击
在word中如何替换图片~!
请问vb.net里怎么实现象vc里的cfiledialog的功能...
关于 fileinputstream 的问题
最新的内核除了用来升级外,可以编译好再刻录到c...
谁能给我介绍一下b树,b+树,b-树的区别?
access报表合计问题
怎样增加exe文件菜单
.net问题
如何设计一个“添加”按钮,将控件中的内容添加到...
如何仅一台电脑就能试验串行通讯?(不想用两台电...
asp技术交流群,网站推广群
安装myeclipse后启动不了eclipse问题
如何使用js禁止ie的弹出窗口阻止功能?
这个问题比较难,问了好多人都不知道
刚学完一遍java基础,现在学eclipse的话大概多少时...
要问的问题太长了,内容见正文
一直困扰我的c++问题,诚心求解
gridview中事件是如何觸發的?
winform记住用户名
关于delphi使用存储过程中的问题
请问怎么新建一个基于对话框的工程?
跪求水晶报表10企业版 最新注册码!
struts+spring时,struts的action是单例的么?
怎么装双系统?
iframe问题
如何在where子句中使用变量?
还有个问题请教大家一下,同样和eval()函数有关
framework1.1在vista下能否正常运行
电脑经常死机,而且鼠标还卡~请帮忙~!求助!!!...
招聘delphi程序员(长沙)
字段合并
c# form 中的combobox做了数据绑定后,...
请教vba计数单元格的值?
如何将一个网页存成一张jpg图?
mfc 下操作berkeley db 内容,急...
帮忙小小的改造一下这个存储过程,谢谢
ssis 序列容器的疑惑!!
请教高手个问题
散分,应广大接分人士要求
我的vc.net的帮助怎么会变成这个样子啊?