导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→基于虚拟I2C总线的仿真软件工具

* 57956: 基于虚拟I2C总线的仿真软件工具

   xionghui 
xionghui发表的帖子 

 基于虚拟I2C总线的仿真软件工具

作 者:■ 厦门振威安全技术有限公司 胡师勇

I2C总线是飞利浦公司推出的总线技术,因其只使用两根I/O,就可以对一系列的I2C器件进行控制,节省了I/O口,受到越来越多工程师的青睐。一般的MCU都需要用普通的I/O口虚拟I2C总线。在硬件还没有做出来时,软件工程师希望有一种方法可以知道自己写的I2C软件是否正确,或者在软件仿真时能够充分模拟每一个状态。如果没有I2C总线的软件仿真技术,软件工程师在运行软件仿真时,从I2C器件里是读不出有效数据的。KEIL uVision允许用户自己编写动态链接库仿真外围器件功能。

  在德国的一个个人C51网站中,提供了一个动态链接库来实时仿真I2C总线。通过这个动态链接库,可以检验自己编写的虚拟I2C软件包是否正确。在需要时,可以模拟向I2C器件写入数据。在软件仿真时保存数据,就像真正在使用I2C器件一样。笔者在开发一套系统时,充分利用了这个动态链接库的功能,使得最后在目标板调试时,节约了大量的开发时间,加快了产品的上市时间(Time To Market)。现把该动态链接库的使用方法介绍给大家。

① 在网上下载I2C动态链接库,解压后拷贝到..KeiL\C51\Bin\目录下。

② 修改Keil 下的tools.ini配置设置,直接用文本编辑软件打开tools.ini。

③ 在[C51]下面加入如下语句:
AGSI3=I2C.DLL(“I2C simulation”)。

④ 存盘退出。

⑤ 在KeiL uVsion下建立一个工程文件,然后把自己写的虚拟I2C加入到工程文件里。编译好后,点击Debug。在开始运行前,需要链接动态链接库。单击“Peripherals”后,会发现菜单下面多了一个“I2C-Simul”,然后选择“I2C-Simul”,屏幕上多了一个如图1所示的对话框。

⑥ 在对话框的空白处单击鼠标右键,选择“Add”,然后选择需要仿真的器件,如图2所示。然后配置串行时钟线(SCL)、串行数据线(SDA),单击“OK”即可。

⑦ 单击“OK”后,出现如图3所示的画面。

⑧ 选中刚才选择的器件,单击鼠标右键,选择“Show”,就可以查看I2C器件里面的数据了,如图4所示。
在这里是连续写入511个1到I2C EEPROM里面。

⑨ 可以把刚才的配置文件保存起来,供下次使用时调用。具体使用方法读者可以自己去试一下。

⑩ 该动态链接库可以仿真常用的11种I2C器件。

  软件下载地址#I2C

发表时间:2004年7月12日13:58:36

  
回复该帖

本主题共有 5 帖,分页:>>>>>该主题的所有内容[5]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  60064.[详细]http://www.c51.de/c51.de/Dateien/uVision2DLLs.php..
摘要:http://www.c51.de/c51.de/Dateien/uVision2DLLs.php3?Spr=EN#I2C  这个地址不能下载,你能发这个DLL到我的信箱吗?谢谢!   &n......(249字)
- [guest][882次] 2004年8月10日

  60326.[详细]这URL我也down不下来,可否给我mail一份,谢谢你!!!
摘要:我的mail:zj6969@163.com......(23字)
- [zhangjian][869次] 2004年8月13日

  60355.[详细]有的话也给我来一份谢谢!pdssc@sina.com.cn
摘要:......(无内容)
- [guest][925次] 2004年8月13日

[上一篇帖子]:多谢帮助!我刚找到812的勘误表,确有此误!
[下一篇帖子]:应该可以通过设置奇偶设置来变相实现。比如假设校验位为1表示奇校验和地址数据且初始化时为奇校验,则当发