Stellaris LM3Sxxx------DMA【3-1】

本文深入探讨了微控制器内置的μDMA控制器,包括其特性、功能描述、优先级和仲裁数目,以及请求类型的详细解释。

由于EPI使用到DMA,故在此留下足迹。

概述

LM3S5R31 微控制器内置一个直接存储器访问(Direct Memory Access,简写为DMA)控制器,我们称之为微
型 DMA (μDMA) 控制器。μDMA控制器所提供的工作方式能够分载Cortex™-M3 处理器参与的数据传输任务,从
而更加高效地使用内核以及总线带宽。μDMA控制器能够自动执行存储器与外设之间的数据传输。片上每个支持
μDMA功能的外设都有专用的μDMA通道,通过合理的编程配置,当外设需要时能够自动在外设和存储器之间传
输数据。μDMA控制器具有以下特性:

■ ARM PrimeCell 32通道的可配置μDMA控制器
■ 支持存储器到存储器、存储器到外设、外设到存储器的μDMA传输
■ 通过优化设计,改进了μDMA控制器与处理器内核之间的总线访问性能
■ 优先级分为两级
■ 高度灵活的可配置的通道配置
■ 支持8位、16位或32位数据宽度
■ 待传输数目可编程为2的整数幂,有效范围1~1024
■ 源地址及目的地址可自动递增,递增单位可以是字节、半字、字、不递增
■ 可屏蔽的外设请求

功能描述

μDMA控制器是一种使用方便、配置灵活的DMA控制器,用于同微控制器 Cortex-M3处理器内核配合以实现高效工
作。μDMA控制器支持多种数据宽度以及地址递增机制,各DMA通道之间具有不同的优先级,还提供了多种传输模
式,能够通过预编程实现十分复杂的自动传输流程。

μDMA控制器对总线的占用总是次于处理器内核,因此绝不影响处理器的总线会话。由于μDMA控制器只会在总线
空闲时占用总线,因此它提供的数据传输带宽非常独立不会影响系统其它部分的正常运行。此外总线架构还经过了
优化,增强了处理器内核与μDMA控制器高效共享片上总线的能力,从而大大提高了性能。优化的内容包括RAM条
带处理以及外设总线分段,在大多数情况下允许处理器内核和μDMA控制器同时访问总线并执行数据传输通道分配。

优先级

每个通道μDMA的优先级由通道的序号以及通道的优先级标志位所决定。第0号μDMA通道的优先级最高;通道的序
号越大,其优先级越低。每个μDMA通道都有一个可设置的优先级标志位,由此可分为默认优先级和高优先级。若
某个通道的优先级位置位,则该通道将具有高优先级,其优先于所有未将此标志位置位的通道。假如有多个通道都
设为高优先级,那么仍将按照通道序号区分相互的优先级。通道优先级位可通过DMA通道DMAPRIOSET置位,通
过DMA通道优先清除(DMAPRIOCLR)清零。

仲裁数目

当某个μDMA通道请求传输时,μDMA控制器将对所有发出请求的通道进行仲裁,并且向其中优先级最高的通道提
供服务。一旦开始传输后,将持续传输一定数量的数据,之后再对发出请求的通道进行仲裁。每个通道的仲裁数
目都是可设置的,其有效范围为1~1024个数据单元。当μDMA控制器按照仲裁数目传输了若干个数据单元之后,
随后将检查所有发出请求的通道,并向其中优先级最高的通道提供服务。

如果某个优先级较低的μDMA通道仲裁数目设置得太大,那么高优先级通道的传输延迟将可能增加,因为μDMA控
制器需要等待低优先级的猝发传输完全结束之后才会重新进行仲裁,检查是否存在更高优先级的请求。基于以上
原因,建议低优先级通道的仲裁数目不应设得太大,这样可以充分保障系统对高优先级μDMA通道的响应速度。
仲裁数目也可以形象地看做一个猝发的大小。仲裁数目就是获得控制权后以猝发形式连续传输的数据单元数。

这里所说的“仲裁”是指μDMA通道优先级的仲裁,而非总线的仲裁。在竞争总线时,处理器内核始终优于μDMA
控制器。此外,只要处理器需要在同一总线上执行总线交互,μDMA控制器都将失去总线控制权;即便在猝发
传输的过程中,μDMA 控制器也将被暂时中断。


请求类型

μDMA控制器可响应来自外设的两种请求:单次请求或猝发请求。每种外设可能支持其中一种或两种类型。单次
请求表明外设已准备好传输一个数据单元,猝发请求表明外设已准备好传输多个数据单元。取决于外设发出的
是单次请求或猝发请求,μDMA控制器的响应也将有所不同。假如同时产生了单次请求和猝发请求,而且 μDMA
通道已按照猝发请求建立,那么优先响应猝发请求。

 猝发请求

当检测到猝发请求后,μDMA控制器将执行猝发传输,传输数目是以下两者的较小值:仲裁数目;尚未传输完
的数据单元数。因此,仲裁数目应与外设发出猝发请求时所包含的数据单元数相同。例如,UART模块可基于
FIFO触发深度产生猝发请求。此时仲裁数目应与满足触发深度条件后 FIFO能够传输的数据单元数相同。


由于篇幅较大,分两篇写,后半部分下一篇写。
本课题设计了一种利用Matlab平台开发的植物叶片健康状态识别方案,重点融合了色彩与纹理双重特征以实现对叶片病害的自动化判别。该系统构建了直观的图形操作界面,便于用户提交叶片影像并快速获得分析结论。Matlab作为具备高效数值计算与数据处理能力的工具,在图像分析与模式分类领域应用广泛,本项目正是借助其功能解决农业病害监测的实际问题。 在色彩特征分析方面,叶片影像的颜色分布常与其生理状态密切相关。通常,健康的叶片呈现绿色,而出现黄化、褐变等异常色彩往往指示病害或虫害的发生。Matlab提供了一系列图像处理函数,例如可通过色彩空间转换与直方图统计来量化颜色属性。通过计算各颜色通道的统计参数(如均值、标准差及主成分等),能够提取具有判别力的色彩特征,从而为不同病害类别的区分提供依据。 纹理特征则用于描述叶片表面的微观结构与形态变化,如病斑、皱缩或裂纹等。Matlab中的灰度共生矩阵计算函数可用于提取对比度、均匀性、相关性等纹理指标。此外,局部二值模式与Gabor滤波等方法也能从多尺度刻画纹理细节,进一步增强病害识别的鲁棒性。 系统的人机交互界面基于Matlab的图形用户界面开发环境实现。用户可通过该界面上传待检图像,系统将自动执行图像预处理、特征抽取与分类判断。采用的分类模型包括支持向量机、决策树等机器学习方法,通过对已标注样本的训练,模型能够依据新图像的特征向量预测其所属的病害类别。 此类课题设计有助于深化对Matlab编程、图像处理技术与模式识别原理的理解。通过完整实现从特征提取到分类决策的流程,学生能够将理论知识与实际应用相结合,提升解决复杂工程问题的能力。总体而言,该叶片病害检测系统涵盖了图像分析、特征融合、分类算法及界面开发等多个技术环节,为学习与掌握基于Matlab的智能检测技术提供了综合性实践案例。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值