Cortex-M4内核微处理器DMA方式的高速A/D采样

发布者:HeavenlyMelody最新更新时间:2012-09-03 来源: 单片机与嵌入式系统 关键字:Cortex-M4  DMA方式  高速AD采样 手机看文章 扫描二维码
随时随地手机看文章

1 MK60N512VMD100微处理器简介
    MK60N512VMD100芯片是基于Cortex-M4内核的典型芯片,是飞思卡尔Kinetis系列中集成度最高的芯片。Cortex-M4内核是在Cortex-M3内核的基础上发展起来的,其性能比Cortex-M3提高了20%。Cortex-M4在Cortex-M3的基础上强化了运算能力,增加了浮点运算控制器、DSP和并行计算等。MK60N512VMD100具有丰富的通信接口,主频高达100MHz,32路DMA供外设和存储器使用,大大提高了CPU利用率,具有33路单路和4路差分的16位A/D转换器、2路12位D/A转换器等外设。

2 MK60N512VMD100芯片DMA和ADC介绍
    Kinetis系列微处理器都含有DMA,在最小的CPU干预下最高可提供32路DMA供外设和存储器使用,大大提高了CPU的利用率。DMA通道复用器(类似多路选择开关)可以把最多63个DMA请求源和16个DMA通道中的任意一个映射到一起。16路独立可选的DMA通道中,前4路还具有自触发功能。DMA复用器有3种工作模式:禁用模式、普通模式和周期触发模式。本文就介绍用周期触发模式实现高速A/D采样功能。
    DMA通道复用器除了提供正常的映射功能外,前4个通道还提供了周期触发功能,由周期性中断定时器(PIT)触发,这种机制能够实现在没有CPU的干预下传输字节、帧或数据包。这种触发功能可用于任何支持DMA传输的外设,最常用的应用包括以下两种情况:
    ①定期轮询一个特定的总线上的外部设备。例如:一个SPI总线作为源被映射到DMA通道0,一旦设置成功,只要SPI的发送缓冲区是空的就会请求DMA传输,从内存中复制数据到缓存。SPI传输通过此通道上的一个触发器每3μs(举例)自动执行一次。在SPI接收端,SPI和DMA可配置成把接收到的数据传到内存,在无需处理器干预的情况下有效地定期从外部没备读取数据送到内存中。
    ②利用GPIO端口产生或者采样波形。通过配置DMA将数据传送到一个或多个GPIO端口,可以使用存储在存储器中的表格数据产生复杂的波形。相反,使用DMA从一个或多个GPIO端口读取数据,是可以采样到复杂波形的,并把数据存储到内存中。
    MK60N512VMD100芯片的ADC模块具有线性逐次逼近算法与高达16位的分辨率,4路差分1 6位A/D转换和24路单端外部模拟输入。输出模式有差分16位、13位、11位和9位几种模式,单路支持16位、12位、10位和8位模式,并且输出无符号数右对齐格式。
    当应用程序需要连续采样时(每秒6 000个采样点),CPU可能会有相当大的负担。虽然使用可编程延迟模块(PDB)可能会减少一些CPU的负载,但是ADC支持DMA请求功能在高速采样时能获得更高的性能,ADC在转换完成后通过DMA中断请求触发DMA。本文就介绍此种方法。

3 软件设计
3.1 DMA周期触发方式相关寄存器的设置
    (1)DMA通道配置寄存器(DMAMUX_CHCFGn)
    DMA通道配置寄存器(DMAMUX_CHCFGn)数据格式如图1所示。

a.JPG


    bit7(ENBL):DMA通道使能,设置为0则通道禁用,为1则通道使能。
    bit6(TRIG):DMA通道触发使能,设置为0则触发禁用,为1则触发使能。
    bit(5:0)(SOURCE):DMA通道源。
    (2)ADC状态和控制寄存器2(ADCx_SC2)
    ADC状态和控制寄存器2(ADCx_SC2)数据格式如图2所示。

b.JPG


    bit7(ADACT):转换状态位,当一个A/D转换开始时ADACT被置位,当一个转换完成或中止时ADACT被清零。
    bit2(DMAEN):设置为0则DMA功能禁用,为1时DMA使能。当一个ADC完成时发出 ADCDMA请求。[page]

3.2 具体实现
    采用DMA的方式有利于提高系统的实时性和执行效率。当A/D转换完成后产生中断;DMA接收一次数据后,设备地址禁止后移;关闭接收一次数据后,目标内存地址后移。设置DMA循环写入模式,BUF写满后,自动回到初始地址开始传输。
    示例代码如下:
    c.JPG
    d.JPG

4 实验及结论
    首先将信号发生器输出的正弦波信号直接连接到示波器,调节波形,并选择适当的峰峰值,然后接到采样模拟信号输入引脚,通过串口在PC机上观察接收到的数据。实验证明,用DMA方式来传输模/数转换的值,提高了读取速度和采样频率,同时降低了CPU的负荷,具有很好的应用价值。

关键字:Cortex-M4  DMA方式  高速AD采样 引用地址:Cortex-M4内核微处理器DMA方式的高速A/D采样

上一篇:Xscale PXA255处理器与CF卡的接口设计
下一篇:Cortex-M4核Kinetis平台的电容式触摸键盘设计

推荐阅读最新更新时间:2024-03-16 13:07

STM32的 USART1 用 DMA 方式发送与接收
USART1的DMA发送比较简单,在要发送之前,重新设置好DMA_BufferSize的大小,然后启动DMA就行了。不过在设置这一值时,得先关闭DMA通道。代码如下: DMA_ClearFlag(DMA1_FLAG_TC4); //清DMA发送完成标志 DMA_Cmd(DMA1_Channel4, DISABLE); //停止DMA DMA1_Channel4- CNDTR = sizeof(TxBuffer1) / sizeof(TxBuffer1 );//重设传输长度 DMA_Cmd(DMA1_Channel4, ENABLE); //启动DMA USART1的DMA接收:如果向USART1发
[单片机]
Cortex-M4核Kinetis平台的电容式触摸键盘设计
引言 随着现代电子产品的日益更新和智能化发展,人机交互接口(HMI)得到越来越多的关注和应用,丰富了人们的体验.而作为其中重要的一部分,触控感应技术也在快速发展。触摔技术目前来讲主要分为电阻式触控和电容式触控,作为近年来飞速发展的新技术,电容式触控感应技术以其无机械损耗、寿命长、灵敏度高、节省空间和触摸动作丰富等优点得到越来越广泛的应用,与此同时,半导体厂商也不断地推出相应技术的IC以简化硬件设计人员的开发。汽车电子行业领先的飞思卡尔半导体厂商就在其新近推出的基于ARM Cortex-M4核的32位Kinetis系列MCU架构之中嵌入了高性能的电容式触摸感应接口(Touch Sensing Interface,TSI)模块,增强
[单片机]
<font color='red'>Cortex-M4</font>核Kinetis平台的电容式触摸键盘设计
以简驭繁 ST让Cortex-M4 MCU呈现多元面貌
自从MCU(微控制器)导入了DSP(数位讯号处理器)与FPU(Floating Point Unit;浮点运算单元)功能后,MCU可以拓展的应用范围便大幅增加,这几年来,诸多MCU大厂都纷纷导入,使得MCU市场战局变得更加诡谲多变。各家大厂就MCU的产品策略也不尽相同。 就ST(意法半导体)而言,该公司一直是ARM阵营非常重要的合作伙伴,在Cortex-M3推出之初,便与ARM有相当紧密的合作,在后期所推出的Cortex-M4与M7,ST也都是首批取得IP授权的MCU业者。ST资深产品行销经理杨正廉表示,广义来看,让MCU具备DSP与FPU功能,主要的目的在于能让MCU的客户群能够享受到DSP与FPU带来的功能与便利性,而
[单片机]
STM32F4学习笔记4——STM32的AD用DMA方式时的请注意初始化顺序
我突然意识到我的数据好像一直没有错位,看到这个我又试验了一下,发现把DMA_Cmd(DMA1_Channel1, ENABLE);放置到哪儿都是一样的啊~~~ 这个是原帖部分: STM32的AD用DMA方式时的请注意初始化顺序 珍情岁月(84848098) 17:19:23 DMA_DeInit(DMA1_Channel1); DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_Result; DMA_InitStructure.DMA_DIR
[单片机]
ZigBee-CC2530单片机 - DMA方式复制数据
程序源码 #include ioCC2530.h #include stdio.h #define LED1 P1_0 // P1_0定义为P1_0 #define LED2 P1_1 // P1_0定义为P1_1 #define SW1 P1_2 //SW1端口宏定义 enum SYSCLK_SRC { RC_16MHz,XOSC_32MHz }; /**************************************************************/ #pragma bitfields = reversed //使用大端格式 typedef struct { uns
[单片机]
东芝推出TXZ+TM族高级系列基于Arm® Cortex®-M4的新款M4G组MCU
东芝推出TXZ+TM族高级系列中用于高速数据处理基于Arm® Cortex®-M4的新款M4G组微控制器 中国上海,2021年9月8日——东芝电子元件及存储装置株式会社(“东芝”)今日宣布,已开始量产M4G组中用于高速数据处理的20种新器件。M4G组是TXZ+TM族高级系列的新成员,采用40nm工艺制造。这些产品采用带FPU的Arm Cortex-M4内核,运行频率高达200MHz,内部集成2MB代码闪存和32KB数据闪存,具有10万次的写入周期耐久性,此外还提供了丰富的接口和通信选项。因此,M4G组器件非常适用于办公设备、楼宇和工厂自动化应用。 M4G组中的微控制器配置增强型的通信功能,除UART、FUART、TS
[单片机]
东芝推出TXZ+TM族高级系列基于Arm® Cortex®-M4的新款M4G组MCU
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved