新闻  |   论坛  |   博客  |   在线研讨会
I²C总线的虚拟仿真软件工具
tvb2058 | 2007-12-08 12:38:28    阅读:2096   发布文章

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所示的对话框。


图1

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


图2

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


图3

  ⑧  选中刚才选择的器件,单击鼠标右键,选择“Show”,就可以查看I2C器件里面的数据了,如图4所示。


图4

  在这里是连续写入511个1到I2C EEPROM里面。

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

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

  软件下载地址http://www.c51.de/c51.de/Dateien/uVision2DLLs.php3?Spr=EN#I2C

  I2C软件实现的验证代码见本刊网站www.dpj.com.cn。

胡师勇  助理工程师,从事楼宇对讲、安全防范、门禁系统的开发。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客