新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于I2C总线和SD卡的火车轮轴承温度采集系统

基于I2C总线和SD卡的火车轮轴承温度采集系统

作者:时间:2013-03-06来源:网络收藏


  3.3 基于S3C2440的控制器设计

  主控制器S3C2440片内集成了功能强大的的控制器,加上其提供的1组寄存器,使编程工作变得相对简单。程序中定义相关寄存器如下:


  从各个寄存器定义后面的注释中可以看出相应寄存器的作用。

  这些寄存器相互配合,就可以很方便地实现协议所要求的复杂时序。在对各个寄存器有了全方位的把握之后,就可以实现的相关功能,其操作过程为:

  ①CPU寄存器设置过程

  ◆正确设置SDICON寄存器;

  ◆正确设置SDIPRE寄存器;

  ◆等待74个时钟信号初始卡。

  ②CMD命令发送过程

  ◆向SDICARG寄存器中写入发送的参数;

  ◆确定命令类型并且通过设置SDICCON[8]来启动命令;

  ◆确定命令是否发送完成,没应答的话看SDICSTA[11],有应答的话看SDICSTA[9];

  ◆清除SDICSTA中的相应位。

  ③数据传输过程

  ◆向SDITIMER中写入超时值;

  ◆向SDIBSIZE中写入块大小的值;

  ◆设置块模式,总线宽度等,通过SDIDCON启动传输;

  ◆通过SDIFSTA检查TxFIFO是否可用,再通过SDIDAT写入发送数据;

  ◆通过SDIFSTA检查RxFIFO是否可用,再通过SDIDAT读入接收数据;

  ◆通过检查SDIDSTA[4]确定传输过程已完成;

  ◆清除SDIDSTA中的相应位。

  程序采用模块化设计思想。以主程序为核心设置功能模块子程序,简化了设计结构。运行过程中通过主程序调用各功能模块子程序。通过程序的联合作用,实现了对SD卡的读写,对大量的温度、时间信息进行了实时可靠的保存。以下是数据采集保存部分的函数分析。




评论


相关推荐

技术专区

关闭