基于单片机系统采用DMA块传输方式实现高速数据采集
发布时间:2007/9/10 0:00:00 访问次数:1315
摘 要: 介绍一种基于单片机系统设计的DMA硬件电路,以字块传输方式与高速A/D接口。结合在数字式磁通表设计中的应用给出其硬件软件设计方案实例。
关键词: 单片机系统 直接存储器存取(DMA)方式 高速A/D
PC机中外设与内存储器之间数据直接传输的DMA功能以其高效、高速、CPU资源占用少等特点已被广泛应用,这一功能通过安装在主板上的专用DMA控制器芯片或集成在外围控制芯片来实现。单片机的应用领域也常常需要有高速数据传输或数据采集,虽然近些年单片机速度有所提高,仍然无法应付类似单脉冲信号捕获、周期信号频谱分析等需要采用高速A/D的场合。对于速率在100ksps以上的数据采集或传输一般的中断查询法就不易实现,因此考虑通过直接存储存取操作才能完成。然而单片机内部设计通常不具有DMA功能,也没有现成的控制芯片可以利用。而目前通用DSP芯片对于开发小型仪器仪表而言价格过高。
数字式磁通表主要应用在对恒定磁场的磁感应强度或脉冲场磁感应强度峰值的测量。是采用闭合线圈作为探测线圈,穿过线圈的磁通Φ变化时,探测线圈中感应电动势: 瞬间将线圈由0磁场移到磁场最大点,记录下整个过程中感应电动势ε的变化。变化过程结束后用软件对ε进行积分,计算出磁感应强度。本设计所需解决的是在瞬间记录下ε的变化曲线。
本文讨论一种采用数字逻辑电路设计的DMA控制电路。结合在撌质酱磐ū頂中的实际应用,给出高速A/D芯片MAX153与89C51单片机系统DMA接口电路的主要原理图和主程序流程。
1 系统构成
系统结构如图1所示。
设计采用89C51单片机芯片组成的单片机系统,外部64K RAM采用62512芯片,存储器的全部64K地址范围允许作为外设的A/D转换电路在DMA周期写入,以及单片机在非DMA周期读出写入。RAM的数据线和地址线由总线切换电路来控制,选择连接单片机系统总线或连接A/D转换电路的数据输出和地址发生器输出地址。总线切换电路不仅切换地址线和数据线,同时切换RAM的写控制线WRI,控制实现DMA周期外设写入和非DMA周期的单片机写入。RAM读控制线接单片机/READ。
DMA周期时,RAM的写入地址由地址发生器产生。它是一个可预置数的16位二进制计数器。其溢出信号作为DMA周期的结束控制和结束标志。
2 硬件组成
· 单片机芯片
采用ATMEL公司的89C51,片内有4K字节FLASH ROM。设计使用其最大时钟频率20MHz,可以有1us以下的指令周期。
· A/D转换器
采用MAXIM公司的MAX153芯片,转换精度8bit并行输出,转换时间660ns、采集速率1Msps。设计采用循环采集方式。
· 静态RAM
静态RAM62512芯片为64Kbytes,典型存取时间200ns。
· 总线(数据线、地址线和WR)切换电路
总线切换采用74HC245三态总线收发器并联,分别选通。如图2所示。
· 写地址产生电路
DMA写地址产生电路是一可预置数的16位2进制计数器,电路是采用四片4位可预置计数器74HC569级连方式。因此可以预置16位地址的初值,就是DMA传输数据块的起始地址。计数脉冲反向输入74HC569的CP端以保证写操作的时序。
3 工作原理
3.1 DMA允许与响应
单片机系统开机运行时或进行内部数据处理、显示时应置P1.0高,使其处于DMA禁止状态。单片机完成初始
摘 要: 介绍一种基于单片机系统设计的DMA硬件电路,以字块传输方式与高速A/D接口。结合在数字式磁通表设计中的应用给出其硬件软件设计方案实例。
关键词: 单片机系统 直接存储器存取(DMA)方式 高速A/D
PC机中外设与内存储器之间数据直接传输的DMA功能以其高效、高速、CPU资源占用少等特点已被广泛应用,这一功能通过安装在主板上的专用DMA控制器芯片或集成在外围控制芯片来实现。单片机的应用领域也常常需要有高速数据传输或数据采集,虽然近些年单片机速度有所提高,仍然无法应付类似单脉冲信号捕获、周期信号频谱分析等需要采用高速A/D的场合。对于速率在100ksps以上的数据采集或传输一般的中断查询法就不易实现,因此考虑通过直接存储存取操作才能完成。然而单片机内部设计通常不具有DMA功能,也没有现成的控制芯片可以利用。而目前通用DSP芯片对于开发小型仪器仪表而言价格过高。
数字式磁通表主要应用在对恒定磁场的磁感应强度或脉冲场磁感应强度峰值的测量。是采用闭合线圈作为探测线圈,穿过线圈的磁通Φ变化时,探测线圈中感应电动势: 瞬间将线圈由0磁场移到磁场最大点,记录下整个过程中感应电动势ε的变化。变化过程结束后用软件对ε进行积分,计算出磁感应强度。本设计所需解决的是在瞬间记录下ε的变化曲线。
本文讨论一种采用数字逻辑电路设计的DMA控制电路。结合在撌质酱磐ū頂中的实际应用,给出高速A/D芯片MAX153与89C51单片机系统DMA接口电路的主要原理图和主程序流程。
1 系统构成
系统结构如图1所示。
设计采用89C51单片机芯片组成的单片机系统,外部64K RAM采用62512芯片,存储器的全部64K地址范围允许作为外设的A/D转换电路在DMA周期写入,以及单片机在非DMA周期读出写入。RAM的数据线和地址线由总线切换电路来控制,选择连接单片机系统总线或连接A/D转换电路的数据输出和地址发生器输出地址。总线切换电路不仅切换地址线和数据线,同时切换RAM的写控制线WRI,控制实现DMA周期外设写入和非DMA周期的单片机写入。RAM读控制线接单片机/READ。
DMA周期时,RAM的写入地址由地址发生器产生。它是一个可预置数的16位二进制计数器。其溢出信号作为DMA周期的结束控制和结束标志。
2 硬件组成
· 单片机芯片
采用ATMEL公司的89C51,片内有4K字节FLASH ROM。设计使用其最大时钟频率20MHz,可以有1us以下的指令周期。
· A/D转换器
采用MAXIM公司的MAX153芯片,转换精度8bit并行输出,转换时间660ns、采集速率1Msps。设计采用循环采集方式。
· 静态RAM
静态RAM62512芯片为64Kbytes,典型存取时间200ns。
· 总线(数据线、地址线和WR)切换电路
总线切换采用74HC245三态总线收发器并联,分别选通。如图2所示。
· 写地址产生电路
DMA写地址产生电路是一可预置数的16位2进制计数器,电路是采用四片4位可预置计数器74HC569级连方式。因此可以预置16位地址的初值,就是DMA传输数据块的起始地址。计数脉冲反向输入74HC569的CP端以保证写操作的时序。
3 工作原理
3.1 DMA允许与响应
单片机系统开机运行时或进行内部数据处理、显示时应置P1.0高,使其处于DMA禁止状态。单片机完成初始