S3C2440A SDIO控制器详解
需积分: 0 177 浏览量
更新于2024-11-18
收藏 143KB PDF 举报
"S3C2440A中文Datasheet"
S3C2440是一款微处理器,其中集成了SDIO(Secure Digital Input/Output)控制器,它支持多种存储卡标准,包括SD(Secure Digital)卡和MMC(MultiMediaCard)卡,以及SDIO设备。该控制器具有丰富的特性,使得它可以高效地处理与这些卡的通信。
19.1 特点
- 兼容性:S3C2440的SDIO控制器设计符合SD存储卡规格1.0版本和MMC规格2.11版本,同时也能处理SDIO卡规格1.0版本的设备。
- FIFO缓冲区:内部包含一个16字(64字节)的FIFO(First In First Out)缓冲区,用于数据的接收和发送,提高数据传输效率。
- 命令和响应寄存器:拥有40位的命令寄存器和136位的响应寄存器,以处理各种操作和响应。
- 预定标器逻辑:通过8位预定标器逻辑,可以调整系统时钟频率,实现灵活的时钟管理。
- 传输模式:支持通常模式和DMA(Direct Memory Access)传输模式,可以进行字节、半字和字的传输。
- DMA突发访问:对于字传输,支持DMA突发4访问。
- 总线宽度切换:支持1位和4位的宽总线模式,以及模块和流模式的切换。
19.3 SD操作
在SD操作中,串行时钟线用于同步五根数据线上的数据移位和采样。SDIPRE寄存器用于设置传输频率,允许根据需求调整波特率。初始化卡时,需要等待74个SDCLK时钟周期。
19.3.1 编程过程
为了配置SDI模块,需要执行以下步骤:
1. 通过设置SDICON寄存器配置时钟和中断启用。
2. 设置SDIPRE寄存器以设定合适的时钟预分频值。
3. 初始化卡前,等待74个SDCLK时钟周期。
19.3.2 CMD路径编程
- 写入命令参数到SDICmdArg寄存器。
- 设定命令类型和开始命令传输,通过设置SDICmdCon寄存器。
- 监控SDICmdSta寄存器中的标志,以确定命令操作是否结束。
- 如果命令无响应,标志位CmdSent会被设置;如果有响应,标志位RspFin会被设置。
- 清除SDICmdStaD的标志位,通过写1到相应的标志位置。
19.3.3 数据路径编程
- 设置数据超时值到SDIDTimer寄存器。
- 写入模块大小(即传输字节数)到SDIBSize寄存器,通常为0x80字。
- 通过设置SDIDatCon寄存器确定传输模式(如宽总线、DMA等),开始数据传输。
- 发送数据时,将数据写入数据寄存器(SDIDAT),当检测到发送FIFO有效(TFDET)、半满(TFHalf)或空(TFEmpty)时,可继续写入。
S3C2440的SDIO控制器提供了全面的功能,用于与SD卡和MMC卡的交互,支持多种传输模式,并具有灵活的时钟管理和数据传输机制。这对于嵌入式系统中处理存储和扩展功能非常重要。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2018-03-08 上传
2018-03-16 上传
2018-01-25 上传
2013-05-16 上传
2019-08-19 上传
2022-08-04 上传
fantasy89f
- 粉丝: 2
- 资源: 41
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率