基于dsp处理器tms320f2812与sd卡的接口,设计了一种便携式的生理信号数据采集系统,用于大容量多参数人体生理参数的采集。采用tms320f2812作为主控芯片,以sd卡作为主要存储介质实现了数据的实时采集与存储。按照fat32文件系统规范设计了一种优化的文件系统,可以快速地把实时采集的数据以文本的形式保存在sd卡中。实验表明,该系统在实际测量中操作简单、携带方便,可用于人体生理参数的实时监测。
生理信号是表征人体生命特征的基本参数,如血压、脉率、体温等都是人体重要的生理信号,这些信号中都包含着有用的病理信息。通过分析这些信号可以诊断体内各部位的疾病。多参数生理信号数据采集要求数据存储量大,使用无线、usb与上位机通信存储数据可以解决这一需求。但是,这些方案都需要上位机来存储数据不利于便携式操作。
sd卡(secure digital card)具有体积小、重量轻、容量大、数据传输率快、极大的移动灵活性以及很好的安全性等优点,非常适合应用在长时间存储大量数据的测量系统中。因此采用sd卡作为生理信号数据采集系统的存储介质是很好的解决方案。
本文设计了一种便携式的生理信号数据采集系统。硬件上设计了电源管理模块,解决了系统中各个模块不同电压的需求。同时采用处理速度很快的dsp处理器tms320f2812作为主控芯片,使采集数据和处理数据的性能更加优越。软件上设计了优化的fat32文件系统,使大容量sd卡的写入数据速度更快。
1 总体设计
本文设计的采集系统主要由电源管理模块、sd卡、tms320f2812等部分组成,充分体现了便携化设计。系统设计框图如图1所示。系统采用干电池作为电源,并通过电源管理模块分别给系统各个模块供电。tms320f2812利用片内的12位a/d对传感器采集的模拟信号进行采样和变换处理,结果保存在sd卡中。大容量的sd卡中嵌有fat32文件系统可以把数据保存为文本格式,便于在上位机上进行数据处理和波形分析。
本文引用地址: http://www.21ic.com/app/test/201203/109889.htm
2 dsp与sd卡的接口电路设计
根据sd卡的通信协议,主控制器和sd卡有两种通信模式:sd模式和spi模式。前者速度快(4位并行数据总线),使用所有的信号线;后者速度慢(数据以单线传输),但是简单易用、兼容性好、便于和主控制器连接通信。spi模式的传输速度可以满足本文设计的系统要求,因此,本设计采用spi模式。表1是sd卡在spi模式下的各引脚定义。
sd卡与dsp的4个i/o口相连。sd卡的cs管脚连接到dsp的spistea管脚,用作普通i/o功能,其高低电平控制sd卡的使能与否;di管脚连接到spisimoa管脚,dsp通过这个管脚向sd卡发送数据和命令;do管脚连接到spisomia管脚,dsp通过这个管脚读取sd卡内的数据;sclk管脚连接到spiclka管脚,dsp通过这个管脚向sd卡发送时钟信号。具体连接电路如图2所示。
3 sd卡的软件设计
sd卡工作在spi模式下,主控制器向sd卡发送命令、数据并接收sd卡的响应。被使能的sd卡总是对来自主控制器的命令有所响应,当sd卡出现错误时,会返回一个出错响应来代替期望的数据。
3.1 sd卡的初始化
对sd卡进行读写操作之前,首先应该初始化sd卡。sd卡初始化流程如图3所示。为了保持sd卡的兼容性,设置spi的时钟频率在100~400 khz范围内。sd卡上电后,主机必须先向sd卡发送至少74个时钟周期,同时cs处于低电平,以完成sd卡上电过程。sd卡上电后默认进入sd模式,在此模式下向sd卡发送复位命令(cmd0)并保持cs为低电平,如果收到应答信号为01h,则sd卡进入spi模式。
sd卡进入spi模式后,主机即可不断地向sd卡发送命令(cmd55+acmd41)并读取应答信号,如果应答信号为00h,则表明sd卡完成初始化。初始化完成后,需要把spi时钟频率设置为高速模式,在这种模式下才能保证sd卡的高速读写。
3.2 sd卡的读写操作
sd卡支持单块写操作(cmd24)和多块写操作(cmd25)。图4为单块写操作流程图,数据长度为512 b。执行单块写操作时,主机发送写数据块命令(cmd24),等待sd卡的应答信号为00h后,然后发送数据起始标志位0xfe,接着发送512 b数据和2 b的(2rc校验。当sd卡的应答信号为0x05时,即表明sd卡已经正确地写入了数据。在写sd卡时,sd卡的输出口为低电平,当输出口变为高电平时表明写操作完成。
sd卡同样支持单块(cmd17)和多块(cmd18)读操作。单块读操作的数据长度也是512 b,其操作流程与写操作类似。操作时,首先向sd卡发送读数据块命令(cmd17),当接收应答信号0xfe后,即可接收512 b数据块和2 b的crc校验。
4 fat32文件系统设计
4.1 fat32文件系统的结构
为了更直观地查看sd卡中的数据,并与计算机进行数据交互式操作。本文采用了fat32文件系统,该文件系统不仅实现了对大容量sd卡的文件操作,而且读写文件的速度很快。
fat32文件系统在sd卡上的基本结构包含以下几个部分:分区引导记录dbr(dos boot record)、文件分配表fat(file allocation table)数据区。
分区引导记录dbr,通常包括跳转指令、厂家标识和dos版本号、bpb(bios parameter block)和。bios引导程序。其中bpb记录着每个扇区字节数、每簇扇区数、总扇区数等sd卡的基本信息,这些信息是正确操作sd卡的基础。
fat32文件系统有两个文件分配表fat1和fat2。fat2是fat1的备份,记录了簇与簇之间数据的链接关系。
fat32与fat12、fat16不同的是,它没有专门的根目录区,根目录区与数据区合并在一起。
4.2 fat32文件系统的实现
4.2.1 fat32文件系统的初始化
对sd卡的正确操作,需要初始化该卡的信息结构体变量如每个扇区字节数、每簇扇区数、fat表数目等。
初始化流程如图5所示。首先读卡的物理扇区0,得到引导扇区的偏移地址。正常的话,该扇区最后两个字节为55aa。然后读引导扇区dbr的具体内容,得到文件系统的基本信息,初始化sd卡的信息结构体变量。
4.2.2 fat32文件系统的相关操作
在本设计中,为了提高sd卡的写入速度,对fat32文件系统进行优化。fat32文件系统在保留区增加了一个fsinfo扇区,用以记录文件系统中空闲簇的数量以及不可用簇的簇号等信息。在执行写sd卡操作时,可以通过读取该扇区的内容快速地定位到下一个空闲簇,然后进行数据的写入。优化后的文件系统主要包括以下操作:文件的创建与文件的读写操作。
创建新文件时,首先判断该文件是否存在。如果存在,则打开该文件读取该文件的fat表项,获取开始簇的地址、文件所占的字节数及第一个扇区的地址等信息;如果文件不存在,则查询空闲簇并设置起始簇号,同时根据这个起始簇号创建簇链,然后读取fdt(file directory table)表项查找空闲的32 b fdt,以存放文件名、扩展名、属性值等信息。
读文件时,根据文件名查找fdt表项并读取文件的起始簇号,根据起始簇号找到第一个簇的内容,并逐个扇区读取。同时,根据簇链就能查找到第2个簇,然后读取簇里的内容。按照此方法,直到读取所有的数据。写文件的流程和读文件类似,不同的是写满一个簇时要查找空闲的簇并添加到簇链中,同时更新fat1,fat2和fsinfo的内容。
5 结语
本文设计了一种基于dsp和sd卡的生理信号数据采集系统,详细介绍了dsp与sd卡的硬件接口电路设计以及sd卡软件设计流程。通过对人体手指体表温度和湿度的实时测量,该系统可以实现对16路模拟信号的采集、处理、存储等一系列操作。sd卡存储容量为2 gb,最高读写速度可以达到1.2.mb/s,完全满足在高速ad采集系统中的应用。随着人体监测仪器的智能化、小型化发展,以及大容量sd卡的高性价比优点,sd卡在生理信号采集中的应用前景广阔。
健身房中的智能魔镜,感受镜面显示屏的魅力
魅族15周年梦想机将现身:或为月底的魅族Pro7
无线AP与无线路由器的区别解析
箱式变压器的安装规范要求和位置考虑因素
物联网标准和协议解析
基于DSP和SD卡的生理信号数据采集系统设计
雷神911 P1笔记本怎么样?
智慧医疗服务系统可以有多方便
戏剧性转变!贝恩资本拟以182亿美元竞购东芝芯片业务
充电宝风云变幻,美团屡败屡战
金河田TRX500评测 用料中规中矩转换效率也处于电源行业内的中端水平
变压器工作原理及基础知识汇总
充电机器人未来应用及市场前景如何?
芯讯通LTE Cat.4模组SIM7600G-H通过PTCRB认证
互联网技术的推广普及,促动了智慧城市的建设步伐
沟通接触器由什么组成
LED显示屏相关知识教程
三星S9屏占比或提升至90%,搭骁龙845,预计2018年1月量产
亚马逊可视化门铃系统已在美国大规模使用
超高性价比领泰双P电源MOS LT4953SQ介绍