Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 5799|回復: 4
打印 上一主題 下一主題

[問題求助] 請問要怎麼去跑出DAC的動態模擬?拜託各位,極需要動態模擬的結果。

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2010-6-2 02:25:30 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
由於我現在設計完DAC電路,可是我只會跑DNL和INL的靜態模擬,7 ?$ b8 P) Q$ y3 U; u0 j
非常需要動態模擬的結果,可是不知道怎麼用。* {: f9 y% ]0 q5 ]/ H/ S, j* J
) R' _- B0 p. N1 u
ADC要模擬應該是輸入一個SIN波,可是DAC輸入是數位值,要輸入什麼值才對?, _* W2 B, M; H7 p# z( l, O9 S# W
. G- P2 O& l9 s1 D# H0 i9 ^7 U
另外好像就是跑完模擬以後,需經由Matlab跑出動態模擬波形,
! \# S/ Q2 b; |! q4 d! i- V+ g' C可是我完全不知道動態模擬的Matlab Code應該怎麼寫?
5 {. P- q2 |, |6 }8 N! k3 `! w7 K8 c$ ^! G. ]
麻煩板上各位幫忙小弟我,我真得很急需要跑出動態模擬波形,# \5 K* Z1 ?) x5 C
感激不盡,謝謝。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
5#
發表於 2010-6-20 15:48:12 | 只看該作者
非常感谢finster大大的无私分享与方向指导,我去深入学习一下matlab
4#
發表於 2010-6-16 01:16:50 | 只看該作者
這個程式是我當初作DAC時我老板給我的範本6 K" A% h8 g" R  I# T! ]% O, \8 c+ S
當然,這只是一個產生DAC的數位碼的sin波產生器的MATLAB程式
0 s$ x+ l6 h3 p. C測試DAC的程式則是另外一個程式,但因為原始程式並不是我撰寫的,故而無法貼在這裡分享
1 N2 H  L2 `. l7 x% S$ Q( f8 B如果,你想走類比且DAC or ADC這條路,熟悉MATLAB是一定要會的工具程式, Q3 {1 u8 j( ~9 X
若無法熟悉操作MATLAB這套軟體,對於日後設計DAC or ADC將會是一條很艱辛的路程
6 Y3 T& C5 B3 s: R, L. b! {
; T9 e5 N! a5 H( e6 K%clear all
" h' b1 S- `8 @& o* G# E%fid=fopen('test.txt','w')
9 x) [1 _  V# c# q7 b
5 j$ K" T9 N, ]; q% R%% 10MHz data-input speed
$ N# @4 N( n* |: [  d%for M=1:1:1024) U, O! H7 z/ B5 z
%       T=M-1;
2 L2 ]1 Z# D5 b3 f" b# j7 w4 b  d%       from=(50*T)+45; %DUAL DAC measure time, K2 \/ w# U3 f: H
%       to=50+(50*T);7 ?1 {8 l3 U3 J! i; c
%       fprintf(fid,'.MEASURE TRAN A%g RMS v(daci_outp) from=%gn to=%gn\n',M,from,to);
7 C: J, I; u. y2 `) ]2 ^) E+ [- ?$ n%end
5 c  ?7 v8 I( [9 P5 q
/ n( A% L( @8 M0 _7 s  g% [%fid=fopen('test2_2.txt','w');4 w' O3 U' K) x% t$ C: T; o
%for i=1:12^20)2 L( T7 |& ~, s- i( f7 R+ v
%    value=rand(1);0 l6 O  `9 ?/ P- F
%    fprintf(fid,'%g\n',value);$ r6 p; k- q* b! a
%end
% m4 T5 O9 x, Z8 G0 ^+ R%fclose(fid);
# F! m+ o' A8 z+ \3 j, Q: c* n8 Y6 B! o: w. l2 E; h- B
4 c8 m' d) L* k) S1 M& m, N0 x
clock_1000=1000/4000;
0 ^+ u+ f9 l7 r) i" n0 H2 n%%fid=fopen('test1.txt','w')
! m. q% ~7 ~; v; A. [: D8 S; Xfid=fopen('Measure_4G.txt','w');
3 M: G  D+ f5 ?0 H% B) _for N=1:12^20)3 {' u: B2 ^, L8 S
    value3=clock_1000*N;( @- e" g0 u& k( I
%%    fprintf(fid,'%g  Measure_Point=%gn\n',N,value3);' ?% P% y, b2 J6 n$ ~
    fprintf(fid,'%g  %g\n',N,value3);
& u! M# x+ I" s6 ?end! J/ l! n  Q* h- {% O2 F- Q
fclose(fid);
7 n4 f2 Q/ g4 o% Y& N  T7 V* P2 I- f2 R% r! a
9 l; @+ I1 b) H2 X7 D5 W  u
clock_88=1000/88;  
- b3 S. v8 X( Y) A8 z5 _0 `%%fid=fopen('Measure_88MHz.txt','w')2 b! R2 Z1 ]8 [% h
fid=fopen('Measure_88MHz_round.txt','w')4 y; Y9 B7 a7 g$ B/ m
for M=1:12^14), v5 M" Q. X# }, b
  value1=clock_88*(M+1);
  _* @! M5 ]: ?  J6 K* \  K& G  value2=value1-(clock_88/8)*1;
8 m1 _/ V3 b5 }  value3=round(value1-(clock_88/8)*1);
) Z* G0 f/ N6 J( j. `- B9 M  fprintf(fid,'%g\n',value3);* [0 z* A: C( E( B
%%  fprintf(fid,'%g   Clock=%gn   Measure_Point=%gn   Round_Value=%gn\n',M,value1,value2,value3);
4 k% }( J2 y0 l# P% S7 W6 e5 qend* A/ m2 e# e- c7 W
fclose(fid);
3#
發表於 2010-6-15 09:26:11 | 只看該作者
我也特别想知道,finster大大能不能给一个示例啊???
2#
發表於 2010-6-12 09:01:21 | 只看該作者
論壇有相關的文章討論,你找一下應該有
! y3 o' d$ k& Q/ W' V1 I% U至於DAC的動態模擬,你要先在matlab上把一個sin波轉成你DAC的數位碼,然後再把這些數位碼餵到你DAC的電路作模擬,然後再將輸出的analog output voltage記錄起來,將這些值再丟到matlab去跑出相關的值出來,這是目前量測DAC的流程
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-15 10:49 AM , Processed in 0.110514 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表