×
嵌入式开发 > 详情

STM32F103VB的SD卡在应用编程设计

发布时间:2020-07-08 发布时间:
|

摘要:基于在应用编程的基本原理,本文提出一种使用SD卡并通过SPI接口进行嵌入式系统固件更新的方法。以STM32F103VB作为嵌入式系统核心处理器,给出了固件更新的实现过程和验证结果,可广泛应用于基于闪存的嵌入式系统的固件升级。
关键词:嵌入式系统;在应用编程SD卡;STM32F103VB

引言
对于大部分基于闪存的嵌入式系统来说,一项重要的需求就是当这些系统安装在终端产品上后,具有对固件更新的能力,这个能力称为在应用编程(In-Application Programming,IAP)。在应用编程方式允许用户在程序运行过程中对程序存储器的指定区域进行重新烧写,因此广泛应用于工业生产设备、智能仪器仪表、消费电子类产品的固件更新、软件维护和功能扩展上。
目前使用的在应用编程方案大多是通过嵌入式系统的串口或者网络接口并与PC机相连,再通过上位机软件或者网络完成对系统固件的更新,对硬件环境要求较高。考虑到目前工业设备、智能仪器和消费电子类产品多使用SD卡作为数据存储媒介,或者预留SD卡接口,在此拟采用SD卡作为固件更新文件的存储媒介,使用SPI通信接口完成对系统固件的更新。对硬件环境要求低且操作简便,可应用于工业现场设备升级和各种智能仪器仪表固件升级,也适用于消费电子产品用户升级自己的手持设备,如手机、音乐播放器、掌上游戏机等。

1 方案可行性分析
STM32F103VB是意法半导体公司基于Cortex-M3内核的32位增强型处理器,可以丁作在72 MHz的频率下,具有128 KB闪存(Flash)和20 KB静态随机存储器(SRAM),集成了丰富的外设资源,如SPI、USART、ADC等。STM32F103VB支持在应用编程方式对闪存进行重新编程,片上闪存接口实现了闪存编程和擦除所需的逻辑电路,包括访问和写入保护以及选择字节的控制。
SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制,由于其体积小、容量大、读写速度快、兼容性好、性价比高等特点,迅速得到了市场的认同,广泛应用于数码产品和嵌入式系统。SD卡支持SPI模式、1位SD模式和4位SD模式,可与微处理器相应外设接口进行连接。
基于上述条件,要完成相应的硬件电路设计和软件设计。其中,软件设计主要是IAP驱动程序的设计,包括SD卡底层驱动、固件更新文件的读取和对微处理器片内闪存的擦写操作。

2 硬件设计
STM32F103VB芯片内集成多达2个SPI接口,在从模式或主模式下,全双工和半双工的通信速率可达18Mb/s。3位的预分频器可产生8种主模式频率,可配置成每帧8位或16位。硬件的CRC产生/校验支持基本的SD卡和MMC模式。SD卡座与STM32F103VB连接示意图如图1所示。

 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
USB接口定义图