|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-10-9 17:00 编辑 5 o6 J6 k9 P B
2 ~( x$ d$ k; c3 n% y
$ A/ }1 V+ G# d3 i% T
高速DAC实现, 用DMA支持的
4 A1 j6 r! i- j- Z- m===TFT彩屏8位或16位并行数据接口送R-2R电阻网络. K6 A! U) |- Z. `2 g, c3 G# F
===输出正弦波,或任意波形
1 t( D1 y$ b/ s4 m===@Ai8051U,DMA-M6800/i8080并行8/16位接口
M* a2 ?" v. W+ V" v+ ?+ T使用TFT彩屏接口+DMA, 将正弦波数据输出到P2口,
! M, E1 ?+ h2 d4 e) W2 m接R-2R做DAC输出正弦波(或任意波形)。
5 I0 l8 |7 F& G6 D, \本例为32点正弦波,此法将极大程序减少对CPU的占用,
9 a, h- l/ R7 ]+ c1 r. i1 I中断频率为输出波形的频率,比如输出2000Hz的正弦波,
9 k( T+ m& N4 i9 d如果用传统的中断重装方式,将需要64KHz(15.625us)的中断,4 R: ]' w3 `8 D/ k1 `
严重拖累CPU。8 ]. ~, c( V+ |- L8 W. |
而使用本方法,中断率为2000Hz,并且中断仅仅是重启DMA。
' n* ~$ Z: w3 o* w. q注意:* h- E9 ^4 B5 t5 C0 B, d
重启DMA需要大约1us的时间,会附加到输出波形中,引起失真,
Z8 e4 R( E$ |9 B. G7 v当波形小于5000Hz时,影响可以忽略,大于10KHz时,
8 r& I" ?$ S, r( |* G( j影响开始能检测到。
8 u! A4 S" ^" x. V( X后面做数字电桥LCR会考虑使用本部分电路及方法,
1 D9 r/ U9 U$ T0 A3 A或者使用DMA-PWM产生正弦波。: h' D5 i" }$ W; ~" v
要附加一个 R-2R DAC 电路:
( x: p+ ?- \2 f+ x' B# r
" d9 V4 k) h. O$ O
* L& q3 f: Z( E0 Z
|
|