SD卡文件传输技术研究

上传人:众众****夺宝 文档编号:26864627 上传时间:2021-08-13 格式:DOCX 页数:2 大小:13.80KB
返回 下载 相关 举报
SD卡文件传输技术研究_第1页
第1页 / 共2页
SD卡文件传输技术研究_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述
基于STM32芯片的U盘/SD卡文件传输技术研究 摘要:基于STM32F107VCT6微控制器,在C/OS?系统下针对U盘与SD卡之间的文件传输进行研究。控制器分别通过SPI串行总线和OTG接口与SD卡和U盘实现数据传输,控制系统通过FATFS文件系统将U盘的文件数据存入控制器的缓存之中,再将数据写入SD卡,实现了U盘与SD卡之间的数据传输。实验说明:该文件传输原理简单、功能稳定,可广泛应用于日常生活和工农业的小型嵌入式设备当中。关键词:STM32;C/OS?;U盘;SD卡;文件传输中图分类号:TP274.2文献标识码:A文章编号:1004?373X202118?0107?03StudyonfiletransmissionbetweenUdiskandSDcardbasedonSTM32chipLIUZhi?yong,CHENPeng?fei,SULei,LIAOGuang?lanStateKeyLaboratoryofDigitalManufacturingEquipmentandTechnology,HuazhongUniversityofScienceandTechnology,Wuhan430074,ChinaAbstract:ThefiletransmissionbetweenUdiskandSDcardintheC/OS?systembasedonSTM32F107VCT6chipisstudiedinthispaper.ThecontrollerachievesdatatransmissionbySDcardandUdiskrespectivelythroughSPIserialbusandUSBOTGinterface.ThecontrolsystemsavesthefiledataofUdiskintothecacheofcontrolleritselfbyFATFSfilesystem,andthenwritesthedataintotheSDcardtorealizethedatatransmissionbetweenUSBandSDcard.Thefilecommunicationmodeissimpleandstable,andcanbewidelyappliedtosmallembeddeddevicesusedindailylife,agricultureandindustry.Keywords:STM32;C/OS?;Udisk;SDcard;filetransmission随着科技的开展,微控制器本钱越来越低,性能越来越强大,这使得其应用越来越广泛,普及各个领域之中。由于控制器本身的存储空间是非常有限的,因此通常自身不承担存储大量数据的任务,而由控制器的外设比方SD卡、U盘等存储设备承担。本文以ARM微控制器STM32F107VCT6作为系统的核心,针对SD卡、U盘外围存储设备的通信进行了研究,详细分析了它们之间文件传输过程。1硬件设计1.1STM32F107VCT6STM32F107VCT6是意法半导体公司STMicroelectronics,ST推出的一款STM32互联型微控制器。该控制器集成了各种高性能工业标准接口,且STM32不同型号产品在引脚和软件上具有完美的兼容性,可以轻松适应更多的应用。它包括10个定时器、2个12位A/D模/数转换器、2个12位D/A数/模转换器、2个I2C接口、5个USART接口和3个SPI端口和高质量数字音频接口IIS,另外STM32F107拥有全速USBOTG接口,2路CAN2.0B接口,以及以太网10/100MAC模块,可以满足工业、医疗、自动化和家电市场等多种需求【1】。采用32位ARMCortex?C/OS?【2】是一个可裁剪、可固话、可剥夺型的实时内核,管理任务的数目不受限制,是由著名的C/OS?开展而来,是第三代内核。C/OS?针对以ARMCortex为代表的新一代CPU,面向带有可用于优先级查表的硬件指令的32位CPU的嵌入式应用。C/OS?允许利用这类高端CPU的特殊硬件指令来实现高效的任务调度算法,而无须使用C/OS?的软件任务调度算法,而且C/OS?支持时间片轮转调度算法。从核心任务调度算法的改变来看,C/OS?已经是一个全新的嵌入式RTOS内核。从C/OS算起,该内核已有20余年应用史,在诸多应用领域得到了广泛的认可。2.2FATFS文件系统FATFS是面向小型嵌入式系统的一种通用FAT文件系统。它完全是由ANSIC语言编写并且完全独立于底层的I/O介质。因此它可以很容易移值到其他处理器当中,如8051,PIC,AVR,SH,Z80,H8,ARM等【3】。在配置了SD卡以及USB的驱动之后,把FATFS文件系统代码移值到工程工程的建立本次研究所完成的内容是将储存有一定文件的U盘热插到开发板上的USB接口上时,系统会自动将U盘中的文件复制到连接在开发板上的SD卡当中。软件工程建立所用的集成开发编译环境为keilMDK4.12,再将C/OS?移值到工程当中,初始化后,通过C/OS?的任务机制建立两个任务,分别对SD卡以及USB接口进行初始化。还需要将对SD卡以及USB读写的函数放入到FATFS的底层函数中去,供上层函数调用,系统需要实时检测是否有U盘连接上。系统程序流程图如图4所示。图4系统程序流程图当设备检测到有U盘插入时,系统会对USB设备进行枚举操作,即USB主机通过一系列命令要求USB设备发送描述符信息,从而知道设备具有什么功能、属于哪一类设备、要占用多少带宽、使用哪类传输方式及数据量大小,只有主机确定了这些信息之后,设备才能真正的正常工作【4】。枚举通过后USB设备会触发名为OTG_FS_IRQHandler的中断,在该中断下最后会执行用户应用程序USBH_MSC_Application,在该程序下将U盘中文件拷贝到SD当中。文件传输过程如图5所示。实验中将U盘中的文件数据通过FATFS系统代码读取到STM32F107主芯片的缓存之中,然后再通过FATFS系统代码将缓存中的数据写入SD卡当中。该过程是双向的,且一次传输的数据多少取决于缓存的大小。假设是出现文件数据大于缓存的情况,系统也能完成拷贝,但拷贝后的文件并不完整。故定义缓存的大小对文件的传输过程是非常重要的。程序编写完成后通过J?LINK将程序烧写入STM32芯片内部的FLASH中。图5文件传输过程图3实验结果与讨论本实验中定义了3KB的缓存,选用了1.93KB的BMP图片文件a.bmp。BMPBitmap?File图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图像处理软件都支持BMP图像文件格式。实验过程是将图片a.bmp并拷贝到U盘,再将U盘插入开发板上。可以发现,SD卡中也存入了a.bmp位图文件,成功实现了文件由U盘到SD卡的传输。4结语本文重点介绍了基于STM32F107VCT6主芯片在C/OS?系统下USB与SD卡的文件传输过程,描述了系统的硬件设计以及软件设计流程。该传输过程简单、稳定,充分利用了STM32F107系列芯片的OTG接口功能,适用于小型嵌入式系统的文件传输,可应用于日常生活、农业以及工业中的各种中小型设备。参考文献【1】意法半导体.STM32F107参考手册EB/OL.2021?08?09. :/ ?M.宫辉,译.北京:北京航空航天大学出版社,2021.【3】刘火良,杨森.STM32库开发实战指南M.北京:机械工业出版社,2021.【4】王川北,刘强.USB系统开发:基于ARMCortex?M3M.北京:北京航空航天大学出版社,2021?M3核微控制器开发与应用M.北京:清华大学出版社,2021.【6】佚名.STM32神舟IV号用户手册EB/OL.2021?05?13. :/ armjishu .【7】谭浩强.C+程序设计M.北京:清华大学出版社,2021.8谭浩强.C+程序设计题解与上机指导M.2版.北京:清华大学出版社,2021?经典实例M.北京:北京航空航天大学出版社,2021?原理及应用M.2版.北京:北京航空航天大学出版社,2021.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类 > 其它学术


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!