|
|
| | -文章搜索 - 最新文章 - | |
第2170篇:I²C总线的虚拟仿真软件工具 |
| 发布时间:2006年9月11日 点击次数:1325 |
| 来源: 作者:厦门振威安全技术有限公司 胡师勇 |
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器件。 软件下载地址http://www.c51.de/c51.de/Dateien/uVision2DLLs.php3?Spr=EN#I2C I2C软件实现的验证代码见本刊网站www.dpj.com.cn。 胡师勇 助理工程师,从事楼宇对讲、安全防范、门禁系统的开发。
|
|
|
|
|
[经验总结] 相关文章: RF电路设计中的常见问题及解决方案简介: 单片射频器件大大方便了一定范围内无线通信领域的应用,采用合适的微控制器和天线并结合此收发器件即可构成完整的无线通信链路。它们可以集成在一块很小的电路板上,应用于无线数字音频、数字视频数据传输系统,无线遥控和遥测系统,无线数据采集系统,无线网络以及无线安全防范系统等众多领域。 1数字电路与模拟电路的潜在矛盾 如果模拟电路(射频)和数字电路(微控制器)单独工作可能各自工作良好,但是一旦将两者放在同一块电路板上,使用同一个电源供电一起工作,整个系统很可能就会不稳定。这主要是因为数字信号频繁...... 曼码调制的非接触ID卡通用读卡程序编制 DSP56800系列开发软件包SDK使用经验点滴 在uC/GUI中实现汉字显示 Protel实用技巧之——建一个自己的SCH符号库 |
|
|
|