找回密码
 注册
关于网站域名变更的通知
查看: 853|回复: 3
打印 上一主题 下一主题

串行模数转换器PSpice仿真分析

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-5-28 11:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
5 e. f5 j) A, k4 U9 }. a5 n

. s$ P/ L" ^0 ~3 {7 ~

. o- w/ l' [  j2 A3 G
Pspice的仿真中,经常需要使用模数转换,往常,一般忽略模数转换部分,只对其它部分进行仿真。其实,在pspice中,也提供了模数转换模型库,可以在电路中对AD/DA转换进行仿真。
在PSpice提供的仿真库中,有一个dataconv库,里面就包含了AD/DA模型。其位置位于“安装路径”\SPB_17.4\tools\capture\library\pspice下
这里,我们重点介绍其中的ADCSER器件。ADCSER是指串行输出的模数转换器,紧接着ADCSER后面的数字,是串行数据的位数,如ADCSER2是指2位的串行输出模数转换器,ADCSER24是指24位的串行输出模数转换器。位数越多,转换的精度就越高。  T2 d6 t' P2 z4 N! i" J9 C# _
+ |0 x, F4 }# @; Y* O; C( R



$ v) [0 N5 U8 v1 Q0 {+ Y1 Y  [+ A
首先,我们对4位串行输出模数转换器进行仿真。
- s' ?" Z' T2 S, \
在Capture中创建pspice仿真项目——ADC_DEMO.opj,原理图如下:
    选中模数转换器,点击鼠标右键,选择Desend Hierarchy,可以进入查看AD转换器的内部模型。

. U) @5 {9 N8 c: |. v& g) N
从内部原理图中,不难看出,PSpice中提供的ADCSER,是把模拟数据先转换成并行的数字数据,再用D寄存器串行输出。
其中:# U# o) I$ }% z; }! p: Z& @$ y# F

" U* a1 `0 V0 n
AIN – Analog Input, 0 to 5V unipolar(0-5V的模拟输入信号)
VREF - Reference voltage output, -5.25V(参考电压,输出)
DATA - Serial Data Output(串行数据输出)
CLOCK - Clock input(时钟信号输入,要求小于5Meg,大于178.571K)
CONVST/EOC* - Conversion Start Input; End-of-Conversion output(使能信号——开始转换,转换结束)- `! F6 `# G' U; j) T

) Z) O1 P+ y9 Z, g' q4 b& G4 |
在这个实验中,我们把CLK信号定义为1Meg,Ain采用直流信号输入,CONVST/EOC——使用脉冲信号,周期为50us。

, y0 @, d) i+ c. l$ l
创建仿真分析文件,进行时域仿真:
仿真时间定为0.3ms,启动仿真。此时capture弹出一个错误窗口,根据提示,查看session log。
错误提示窗口
Session Log窗口
其中有个error:ERROR(ORNET-1019): Pin PWR in template not found on U1.U11,意思是U1.U11的template中管脚PWR错误。进入U1 的Desend Hierarchy,找到U11,如图所示,没有看到名为PWR的Pin,猜测PWR应该是电源管脚,进一步双击U11,进入原件属性,把Power Pins Visible选中,使得元器件的电源管脚显示出来,发现U11的电源pin是VCC和GND。
  c9 @3 b+ V" ^9 Z* U% I# M
再次进入U11的属性,找到PspiceTemplate,其内容如下:
X^@REFDES %MODE %CLK1 %CLK2 %SER %A %B %C %D %QA %QB %QC %QD %PWR %GND @MODEL PARAMS:\n+ IO_LEVEL=@IO_LEVEL MNTYMXDLY=@MNTYMXDLY \n+ CLKHI=@CKHI CLKLO=@CKLO CLKMAX=@CKMAX CLKMIN=@CKMIN CKDPDMIN=@CKDMIN CKDPDMAX=@CKDMAX
其中,“%”开头的是管脚的名称,其中有%PWR,而原理图中的U11没有PWR管脚,而是VCC管脚。(猜测:这是cadence直接从早期pspice导入的模型,导致出现偏差)。
修正方法:直接把“%PWR”修改为“%VCC”,然后保存。再次启动仿真。
查看U1.U12的DB0~DB3的并行转换结果,与DATA的输出,图形如下:
可以看出,开始转换控制信号送给AD后,AD开始转换并串行输出。
( K: a( e5 [6 V2 D$ @5 I
对波形进行放大,可以得出以下结论:
* I# w2 b) ~/ [
1、 模数转换的串行DATA输出,是从高位到低位,串行输出的;2、 每个时钟周期输出1位;$ E9 p. @; |/ `" D: x# D
3、从使能信号有效后的第二个时钟周期开始串行输出。
  g1 |3 j4 t) X4 ]3 h

该用户从未签到

2#
发表于 2021-5-28 11:23 | 只看该作者
串行模数转换器PSpice仿真分析: g* k. ?/ n; E8 G: s) |

该用户从未签到

3#
发表于 2021-5-28 13:40 | 只看该作者
模数转换的串行DATA输出,是从高位到低位,串行输出的
) q; G9 |: B+ [$ I

该用户从未签到

4#
发表于 2021-5-28 14:29 | 只看该作者
很详细哦,真心不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-9 20:04 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表