找回密码
 注册
关于网站域名变更的通知
查看: 426|回复: 1
打印 上一主题 下一主题

[毕业设计] 89c51单片机dma方式的一种高速采样电路设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-3 11:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
摘要:采用高速的A/D(如TLC5540)转换从传感器接收的数据,往往存在高速A/D转换的速度与6 M4 J" X, r" N! B
低速智能管理的速度不匹配的问题。本文介绍一种用5l单片机和并行A/D TLC5540设计的实用性强的
  g/ N* k6 Q: }6 m1 X) A/ \. M高速采样电路.采样使用DMA方式,硬件电路产生A/D转换需要的时钟、存贮器的地址和写信号,当
, \. [4 z& F4 b: t4 u数据采样完毕时要自动停止写RAM,然后把采样结束信息传递给CPU。本电路设计的特点是:数据线, ?/ J" L, ]- m' u, Y2 t1 h$ c
是公用,RAM的地址线也是公用的,RAM数据写是DMA方式,地址也由硬件产生,RAM读的地址
  `( J6 L: E- l是由CPU产生的.本文对该电路工作的原理和时序作详细介绍并用实例说明。, U' v5 H6 S3 Z2 D% R, I, C/ c, x% V
' p, \# U7 F9 Q2 }5 c! O4 _  [) B
1.引言3 O% h, }! P$ y3 z$ Z' W: k
在单片机应用系统中,有时也需要用A/D转换器把某些连续变化的模拟量转换为数字量以便计算机进行2 U! R. i3 P7 h8 f% W1 h/ |, n
加工和处理【lJ。高速A/D最高可达1G次/S以上,而一般的CPU总线或智能管理设备无法控制如此高的速: X$ R! i1 {# O: ?: W
度,比如MCS--51单片机最高时钟频率为12MHz,大部分指令周期只需1 Il s,乘除指令也仅需4 u s【11'并0 |+ Y( `' J( M' P, D% J- ?: o4 H
行A/D(TLC5540)转换时间为0.025 p S,因此不能应用象在中低速A/D用的发启动转换一查转换结束~/ x, {/ M; }' f, v4 F
再读转换结果的方式。高速A/D的数字输出高于总线以及控制系统的速度,针对这一特性,解决这种问题7 S8 z) l7 }, w, |5 M3 \
所使用的方法,一般采用:高速一储存一慢速读取得方案。即:对采样先使用DMA方式(直接存储器操作),( g) }( }3 P5 J0 l" L
把数据高速采样存储在RAM中,数据采样结束后,再从RAM中把数据“慢速”读出。所谓的DMA控制! h* }( z% ]" z
方式是一种成块传送数据的方式12J。DMA方式要利用硬件电路产生A/D转换需要的时钟、存储器的地址信
5 O, e9 y! b9 n. q- f号、存储器的写写信号,当数据采样完毕要自动停止写RAM以及把采样结束信息传递给CPU。采样和存储
4 d7 W* O' m; f5 e之间由于高速,全部硬件实现。0 A# l9 n- p" o) E6 c" t
以下介绍的高速采样是利用了TLC5540/5510这种8位20M/40M高速A/D,数字元件控制信号只有CLK
4 F, T# o$ D, ?1 B9 _; Y和三态输出控制,当三态输出有效时,输出数据随CLK更新。利用计算机(单片机进行管理,当高速RAM1 _+ R1 a. t' L) f* n
采满后,再慢速读tt:l。单片机采用查询方式来判断RAM数据是否采慢)控制A/D,并由40M的FOSC来控制洲的写功能。
) a; G4 `$ z- M8 ?( O5 Y, C2.设计思想及原理分析(时序图)
! i  S/ B. R( dDMA方式A/D采样电路的设计要解决:采样的启动、采样中RAM地址的产生和A/D的时钟、采样完
& F* g0 b8 t% p9 ?. I毕的自动停止和停止信号的输出、RAM数据读出的地址的产生等。
9 y4 [' l7 `, L. o2 b6 D2 h设计的难点是数据线和地址线的控制。单片机的引脚的限制,因此数据线是公用的,在采样期间数据流的方向是由A/D到洲;而数据读出期间,数据流的方向是由RAM到CPU的。同时,RAM的地址线也
1 m- U6 e4 _5 V! \是公用的,RAM数据写是DMA方式,地址是由硬件产生的,RAM读的地址是由CPU产生的。
/ t: h2 N* d# D# I5 C: }% p+ ^该系统采用的芯片有A/D TLC5540、74F00与非门、62256RAM和74F393等。TLC5540(40M)的A/D2 v6 l( c' ?3 m2 s+ `! h4 j
转换器产生数据,地址的产生用两个74F393二进制计数器产生32K地址线A0--A14。RAM是用来暂时存
( a* z1 f1 M. n" c+ Q放高速产生的数据,以便单片机的慢速读出。另外,系统用到的74F00,用来控制A/D数据的产生、RAM
' o& a5 c9 V- k. H# T. l& N* Z7 ^+ Z的读写功能和计数器的工作。7 y! f& E0 f  _% p. U2 F5 D
图l是89C51单片机DMA方式的40MHz、8位高速采样电路。图中A/D转换器使用采样速度40MHz8 o- H5 \$ w' ~  g
的高速8位并行式A/D转换器TLC5540,存储器采用32K静态RAM62256。TLC5540的数字接13带有3态
6 Z: n7 T! L4 Q4 C输出,由OE控制。5540的数字接口非常简单,数字输入只有时钟CLK和输出3态控制信号OE。8位并行
8 S) d) \  Z! b2 d3 d* \) p/ U& @3 W( Z- l- |, h4 A
数字输出和40MHz时钟CLK同步。
% Q: {* p5 U: A/ f0 v5 Z5 @2 o系统除了需要一个40MHZ的信号FOSC外,f~'、T)T。T输L山.U的H4控制信号有:。TN.、,K。A、方式A/D采样的H J1自1。4动信号
8 E* m1 J0 o0 Y( o( v* x。h I。"tQ。T.。h DI、T.,。D—A'A,A.读信号RD,地址清0信号t。'、T—D、。r。'q.)T。T接收的信号只有一个:采样结束信号,直接送  R3 Q' C: H, \3 v, c
5l单片机的INTO。
) u8 F0 O' ^* c) z由电路可以看出,ADSTART=O可以启动A/D转换的时钟信号,使得计数器的时钟和FOSC接通,
9 G- \9 L5 J/ [; m* p9 c并且A/D的输出3态控制为0;当ADSTAI玎=1时,计数器和FOSC的通路被切断,并且A/D的输出3* y  a, \7 B- E( O* {7 G$ o3 H5 W
态控制为l而断开了A/D输出的数据线。
" l) F, W6 y, a# W. B" p0 O) n当74F393产生的32K数据采满时,地址线A15变为高电平,A15连接到RAM62256的片选线CS,A15
, K4 @; D0 p4 r1 ^% P& {. @+ m的高电平使得对RAM的操作被屏蔽,停止了数据的继续写入。同时A15作为采样结束信号送到CPU。CPU- t% F. h# i. }$ i  Q; `
产生中断开始读RAM中的数据。3 m- O( [; y1 S* g$ k$ P) ~* C! \: b
数据的读出地址的产生用Im实现,当FOSC信号被中间的74F00屏蔽后,RD的每一个脉冲会使得二4 X- Y) W5 L' a0 k$ n$ x
进制计数器的地址加1,使用中用MOVX指令,把RAM的数据读入CPU,.同时MOVX指令会在RD上产
: H8 Y9 u- X' o( ?4 _5 I生一个脉冲信号,地址会自动加l。数据读出期间,控制信号ADSTAIH。% }! @4 ~8 k' c+ V( A( U
CLR的作用为把计数器的输出清0,由于采样的数据写入和读出的地址都由计数器产生,所以采样前和
+ a6 [5 |+ G% @, H; R" w+ o! ~读出前要用CLR把地址清0。0 T( C  G# g' A4 Q7 \( S
7 A; L% t3 i8 w* E' B5 T
附件下载:
游客,如果您要查看本帖隐藏内容请回复

0 x7 H$ x* J6 U( U7 x  E" c
; a5 v" V4 o; `/ }
# B, N7 |  j2 G# C! T
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-28 12:20 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表