对I2C器件(LTC4303)进行PSpice仿真并验证上拉电阻和负载电容的影响
本文以LTC4303为例,介绍了如何使用Cadence对I2C器件进行仿真,并验证了不同的上拉电阻和负载电容条件下,对SDA和SCL波形的影响,库文件(ibs、lib和olb)、仿真工程文件的下载路径:
https://download.csdn.net/download/liyuannian/10696850
目录
1. 下载LTC4303的仿真模型(.ibs)
去官网下载LTC4303的仿真模型文件,将文件内容保存为4303.ibs。
2. .ibs文件转换为.lib文件
打开Cadence的Model Editor,执行Model -> IBIS Translator -> 选择4303.ibs,并勾选Make model names unique –> OK,得到下图。
图 2‑1 将4303.ibs导入到model editor后的界面
点击上图中的OK即可得到下图。
图 2‑2转换成的PSpice文件
选择上图中的File –> Export to Capture Part Library,出现下图所示的界面。
图 2‑3 生成.lib和.olb文件
3. 使用.lib和.olb文件
3.1 创建仿真环境
在Capture中依次执行File->New->Project,并设置如下:
图 3‑1新建仿真工程4303_simulation
点击OK进入下一步,见下图。需要注意的是,上图中的路径不应包含中文,否则在仿真时报错。
下图中,选择Create based upon an existing project,从而可直接使用AnalogGNDSymbol.opj工程中的GND,点击OK即可进入Capture的仿真界面。
图 3‑2建立AnalogGNDSymbol工程
3.2 LIB文件路径设置
在Capture中依次选择PSpice->Edit Simulation Profile->Configuration Files->Category中选择Library,见下图。
图 3‑3 LIB文件路径设置界面
在上图中点击Data Collection,并设置Probe为32bit,以防止仿真报错,点击确定即可,见下图。
图 3‑4 Data Collection设置
3.3 搭建仿真电路
在Capture选择Place Part,并在Library中选择4303.olb文件,见下图。
图 3‑5 将4303.olb添加进工程
图 3‑6 LTC4303的典型电路
图 3‑7 搭建的LTC4303仿真电路
3.4 仿真结果
3.4.1 负载电容的仿真结果
图 3‑8 仿真结果(负载电容C1为400pF且上拉电阻R1为10KΩ)
上图可以看出,如果负载电容太大,导致建立时间太长,会使在SDA和SCL还未建立完毕,I2C就进入到下一阶段。
图 3‑9 仿真结果(负载电容C1为100pF且上拉电阻R1为10KΩ)
图 3‑10 仿真结果(负载电容C1为10pF且上拉电阻R1为10KΩ)
图 3‑11 仿真结果(负载电容C1为1pF且上拉电阻R1为10KΩ)
3.4.2 上拉电阻的仿真结果
图 3‑12 仿真结果(上拉电阻R1为20KΩ且负载电容C1为100pF)
图 3‑13 仿真结果(上拉电阻R1为10KΩ且负载电容C1为100pF)
图 3‑14 仿真结果(上拉电阻R1为5KΩ且负载电容C1为100pF)
图 3‑15 仿真结果(上拉电阻R1为1KΩ且负载电容C1为100pF)
3.4 结论
- 当SCL或SDA波形无法上升到供电电压时,可能是建立时间太长导致的,要么负载电容太大要么上拉电阻太大。
- 当SCL和SDA的低电平值较大时,可能是上拉电阻太小导致的。