|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-10-9 17:00 编辑
. `! d! v; l% }- F" D3 m, {0 V6 E }0 x: B5 A
$ J) e1 R* g6 b/ S高速DAC实现, 用DMA支持的. ]) u* o' [" B5 E8 h
===TFT彩屏8位或16位并行数据接口送R-2R电阻网络% \* ^( C- R% B' o! ]6 n
===输出正弦波,或任意波形
1 _- ~7 t& ?* U+ M===@Ai8051U,DMA-M6800/i8080并行8/16位接口
* B/ w6 a7 l8 V使用TFT彩屏接口+DMA, 将正弦波数据输出到P2口,
" B5 t f2 k+ b0 a6 Q+ e接R-2R做DAC输出正弦波(或任意波形)。3 R2 f9 l' h6 ~2 C8 |
本例为32点正弦波,此法将极大程序减少对CPU的占用,
/ @1 L0 z1 s6 Q0 {, y; G9 u中断频率为输出波形的频率,比如输出2000Hz的正弦波,
0 `% _3 ~' ~( D& ]' d如果用传统的中断重装方式,将需要64KHz(15.625us)的中断,
7 r9 \ u) ~7 k4 ]8 k严重拖累CPU。8 u s( b6 d B# d% T0 l5 D6 o
而使用本方法,中断率为2000Hz,并且中断仅仅是重启DMA。
8 q+ j( r, q% O) {注意:
4 X4 b6 e8 a( ]! y Z重启DMA需要大约1us的时间,会附加到输出波形中,引起失真, I7 g( L8 i) Y% X! E
当波形小于5000Hz时,影响可以忽略,大于10KHz时,
9 r) O# h7 b9 Q7 h5 y影响开始能检测到。
5 e" a) {0 E" z. e后面做数字电桥LCR会考虑使用本部分电路及方法,$ d7 R/ o% {& s8 w! k5 F, W
或者使用DMA-PWM产生正弦波。( ^) I0 Y2 T3 E5 m- |& Q1 c( m$ W( |
要附加一个 R-2R DAC 电路:7 L) m# u0 i1 i: u
4 R# L9 X3 d' C! g, N' G
0 I: h: _2 a. N- O$ w$ r: {! H |
|