首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于STM32的多路电压测量设计方案(4)

基于STM32的多路电压测量设计方案(4)

3.4 SD卡驱动电路          本设计中使用的SD卡为MicroSD,也称TF卡。MicroSD卡是一种极细小的快闪存储器卡,主要应用于移动电话,但因它的体积微小和储存容量的不断提升,现在已经使用于GPS设备、便携式音乐播放器、数码相机和一些快闪存储器盘中。 MicroSD卡引脚图如图9所示。
          MicroSD卡与SD卡一样,有SPI和SDIO两种操作时总线。SPI总线相对于SDIO总线接口简单,但速度较慢。我们使用SDIO模式。
          MicroSD卡在SDIO模式时有4条数据线。
          其实,MicroSD在SDIO模式时有1线模式和4线模式,也就是分别使用1根或4根数据线。当然,4线模式的速度要快于1线模式,但操作却较复杂。本设计中使用的是SDIO的4线模式。MicroSD卡的硬件连接图如图3所示。

       

          3.5 触摸屏电路
          本设计在测量的通道和显示设置上,除了使用按键设置,还使用触摸屏进行设置。
          触摸屏使用芯片TSC2046控制,其硬件连接图如图4所示。

       

          在图4中,TSC2046可以采集触摸屏的点坐标,从而确定触摸的位置,进行人机交互。
          STM32单片机通过SPI总线与TSC2046通信,可以得到触摸信息。本设计使用触摸屏进行测量通道数的设置和测量速度的设置。
          4.系统软件设计
          4.1 软件流程
          系统软件部分使用C语言编程,同时使用STM32官方提供的固件库,使用的版本为3.5版。 STM32固件库也称固件函数库或标准外设库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。简单的说,使用标准外设库进行开发最大的优势就在于可以使开发者不用深入了解底层硬件细节就可以灵活规范的使用每一个外设。
          软件部分为了方便存储数据的查看和读取,在MicroSD卡部分使用了fatfs文件系统。
          FAFFS是面向小型嵌入式系统的一种通用的FAT文件系统。FATFS完全是由AISI C语言编写并且完全独立于底层的I/O介质。因此它可以很容易地不加修改地移植到其他的处理器当中,如8051、PIC、AVR、SH、Z80、H8、ARM等。
          FATFS支持FAT12、FAT16、FAT32等格式,所以我们利用前面写好的SDIO驱动,把FATFS文件系统代码移植到工程之中,就可以利用文件系统的各种函数,对已格式化的SD卡进行读写文件了。
          以上是系统软件设计的两个主要部分,其他还有LCD驱动程序,ADC和DMA驱动程序,按键中断程序等。
          4.2 软件文件结构
          文件main.c是整个程序的入口文件,也是主要文件。global.c和global.h主要是共用的函数和全局性的宏定义。LCD_Disp.c和LCD_Disp.h是基于STM32固件库的对LCD的底层驱动函数。Lcdfunc.c和 lcdfunc.h是为了主程序更方便的操作LCD而编写的一些常用的复杂的对LCD底层函数的封装函数。sdio_sdcard.c和 sdio_sdcard.h是基于STM32固件库的对MicroSD卡的底层驱动函数。fat文件系统在STM32上的使用需要针对具体类型的硬件进行配置,所以它是基于MicroSD卡的底层驱动程序的。fatfunc.c和fatfunc.h是对fat文件操作接口的一些封装,是针对本设计中对文件的操作编写的。其余的按键中断和ADC等操作的函数是直接基于STM32固件库的,并直接被主程序调用。
          5.总结
          STM32在速度、功耗方面性能都更加优越,其丰富的外设也更加方便设计。另外,STM32价格较低,在成本上也有优势。STM32适合于控制电子设备的设计。设计中使用的ADC是STM32上的12位ADC,能够满足一定的测量精度,对于较高的测量要求,则需要使用更高精确度的ADC.但是使用高精度ADC和DSP芯片,将很大的增加开发成本。本设计方案完成了多路电压测量的各项功能,但是还需要在使用中检测其稳定可靠性,以使设计更加完善。
继承事业,薪火相传
返回列表