|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-10-9 17:00 编辑
% d( w& _* A1 d0 e% F, ~; O* y) g( U3 l% h
5 `9 R5 @7 ~9 b
高速DAC实现, 用DMA支持的
; x/ F3 f) B4 c===TFT彩屏8位或16位并行数据接口送R-2R电阻网络
9 n* g+ i8 ~% m1 O0 Y2 D===输出正弦波,或任意波形$ ^' a, a' r8 f4 m
===@Ai8051U,DMA-M6800/i8080并行8/16位接口
: e$ B# F2 W( F( ?8 f% Q( n) R使用TFT彩屏接口+DMA, 将正弦波数据输出到P2口,
8 _: s4 t( ~; ~% G g6 U5 @接R-2R做DAC输出正弦波(或任意波形)。
+ \( U6 K) z0 B本例为32点正弦波,此法将极大程序减少对CPU的占用,) T% [% K; P0 b+ @" w8 s
中断频率为输出波形的频率,比如输出2000Hz的正弦波,
- U6 M7 Z& X4 _! O如果用传统的中断重装方式,将需要64KHz(15.625us)的中断,
2 ~1 |+ P: B0 i" Z严重拖累CPU。
+ J0 G7 L& Z7 w, V而使用本方法,中断率为2000Hz,并且中断仅仅是重启DMA。
+ v6 ~9 S! a0 j( x i _: q' G, ]注意:1 n" K$ Y4 u; C$ j: @5 J# Y, y
重启DMA需要大约1us的时间,会附加到输出波形中,引起失真,
" S7 I N$ M0 I9 }当波形小于5000Hz时,影响可以忽略,大于10KHz时,% w5 d# W+ g0 S; l2 f) b" }
影响开始能检测到。
0 B% k& o. g6 H5 S( [后面做数字电桥LCR会考虑使用本部分电路及方法,
& _9 s- x" D' a) K7 Z或者使用DMA-PWM产生正弦波。0 A$ `3 @5 w' {4 l8 W ~( |
要附加一个 R-2R DAC 电路:
$ e% M0 O) S/ d
7 @, G9 a% U9 s9 u: a
1 y3 Z; ? n1 f, J! C" ] |
|