|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-10-9 17:00 编辑 |3 [$ E) j$ W
8 q! m! M9 @, u+ a& b- {' ~
# }! R1 [$ p' ~( _1 L" q- X. Y高速DAC实现, 用DMA支持的! ^+ @- @2 v& Z; _/ S
===TFT彩屏8位或16位并行数据接口送R-2R电阻网络8 E. d# x) W9 o: l% W9 y
===输出正弦波,或任意波形7 e3 X- o5 n0 _* s+ f
===@Ai8051U,DMA-M6800/i8080并行8/16位接口 6 J* F6 }) `7 }6 P
使用TFT彩屏接口+DMA, 将正弦波数据输出到P2口,' Y2 ?9 U& U s' Q* l
接R-2R做DAC输出正弦波(或任意波形)。
7 T9 Z! E2 U) ~7 ] c: D# D本例为32点正弦波,此法将极大程序减少对CPU的占用,7 x) M: U4 d- ^5 ?# _$ }# V! f
中断频率为输出波形的频率,比如输出2000Hz的正弦波,7 ]1 k6 l( G$ |) T5 M6 Q9 m# i6 N
如果用传统的中断重装方式,将需要64KHz(15.625us)的中断," B2 ]; C ] b& F0 A$ L6 w5 R
严重拖累CPU。5 D7 _! N9 ~4 z: y; `: {, p
而使用本方法,中断率为2000Hz,并且中断仅仅是重启DMA。
& n' M$ r0 J. E2 d. E% }+ g: B注意:
7 N, z) j, o. G$ C/ [- p4 j4 }重启DMA需要大约1us的时间,会附加到输出波形中,引起失真,
1 [+ R) w7 `7 h$ ~( h' g6 S当波形小于5000Hz时,影响可以忽略,大于10KHz时,6 Q2 D+ n1 a' Z
影响开始能检测到。
# z5 A. i8 X2 D* z8 c& b后面做数字电桥LCR会考虑使用本部分电路及方法,1 D" `* D1 I/ h. H1 D% p' f( Q
或者使用DMA-PWM产生正弦波。* A' p: o+ i5 {' |2 p6 L
要附加一个 R-2R DAC 电路: G5 X& Q* @, s5 C' J/ w, K! g& a
/ M1 [- y; l& [; G" d
! m3 n C) _* ^ |
|