图9 电平兼容说明
通常来说,电平转换会采用类似SN74ALVC4245[4]的专用芯片,该类芯片可实现升压、降压功能,并且可允许两边电源不同步。但是,这种专用芯片一般都是同时转换8路、16路或者更多的电平,且代价相对昂贵,本系统仅仅需要转换3路电平(Dout是数据输出,刚好满足电平兼容原则,可勿需电平转换,直接相连),使用专用芯片会造成极大的资源浪费,导致系统制作成本的提高。
考虑SD卡在SPI通讯模式下,单向通讯,可采用AMS1117,它可固定输出3.3V电压,且满足电平转换兼容原则。为确保AMS1117的稳定性,在输入和输出部分各连接一个小电容,其基本电路如图9(b)。
3.3.2 SD卡通讯模式选择
3.3.2.1 SD模式
在SD模式通讯模式下,CPU使用SD总线访问SD卡,其拓扑结构如图10所示。
图10 SD存储(SD模式)的总线拓扑结构
SD总线上的信号线的详细功能描述如表1所示。
7
表1 SD总线信号线功能描述
3.3.2.2SPI模式
在SPI通讯模式模式下,SPI总线以字节为单位进行数据的传输,所有数据令牌都是字节(8位)的整数倍,而且字节需要与CS片选信号对齐。其拓扑结构如图11所示。
图11 SD存储(SPI模式)的总线拓扑结构
SD卡的SPI接口兼容绝大多数控制器的SPI接口。卡的SPI总线的信号线如表2所示。
表2 SD卡的SPI接口描述
3.3.2.3模式选择
SD卡有两种可供选择的通讯协议[4]:SD模式和SPI模式。SD模式是SD卡的标准读写方式,但是SD模式需要与之相连的MCU带有SD卡控制器接口,否则必须额外加入控制SD卡的单元以支持SD卡的读写功能。然而,STC89C52单片机本身没有集成SD卡控制器接口,若选用SD模式通讯就必须额外加入控制SD卡的单元,势必会增加产品的硬件成本。在SD卡数据读写对时间的要求不是很精确的时候,选用
8
SPI模式不需要SD控制器,且使用我们比较熟悉的同步串行传输方式,通过SPI总线控制集成在SD卡内部的控制器来驱动flash和内部ROM模块,仅需四条线就能完成对SD卡的数据读写、命令发送与相应命令的返回,而且目前市场上很多MCU都集成有现成的SPI接口电路,操作相对简单,是一种比较方便实用的解决方案。采用SPI模式对SD卡进行读写操作可大大简化硬件电路的设计,降低硬件设计成本。
虽然STC89C52不带SD卡硬件控制器,也没有现成的SPI接口模块,但是可以用软件模拟出SPI总线时序。本文用SPI总线模式读写SD卡。
3.4 TFT-LCD液晶显示系统
由于本系统为电子书阅读器设计,因此液晶显示器要求显示较多信息,所以,本设计采用了320*240的TFT-LCD液晶显示屏进行显示。液晶驱动控制器以及背光升压电路集成在模块内部,图12为液晶显示系统电路,图的左边为液晶显示模块的接口电路,其中滑动变阻器可实现LED屏亮度调节,右边为液晶模块。
图12 TFT-LCD液晶显示电路
TFT液晶模块引脚中,DB0~DB7是八位数据传输端口;CS片选信号;WR是写入使能;RS是指令\\数据选择信号;RESET复位信号;NC为空脚。电路工作时,TFT-LCD模块的1脚与液晶接口的3脚对应,模块2脚与接口4脚对应,依次顺次,将TFT-LCD液晶模块插入接口槽中(接口槽的1脚、2脚空着)。
3.5按键控制系统
由于按键控制不需要太多的键,因此采用独立按键的形式,按键按下,单片机对应I/O口置低电平。整个按键控制部分使用两个独立按键,分别实现上翻和下翻功能,以实现SD卡的数据显示控制,其电路图如图13所示。
9
图13 按键控制电路
4元器件介绍
4.1 STC89C52RD+
4.1.1功能特性
STC89C52RD+单片机[5]是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机,1个时钟/机器周期,可用低频晶振,大幅降低EMI,采用增强型8051内核,速度比普通8051更快速。STC89C52 单片机是一种高性能的CMOS8位微控制器,三种工作模式,更低功耗。该器件指令与工业标准的80C51指令集兼容。片内程序存储器允许重复多次在线和在应用编程。它的应用范围广泛,可用于解决复杂的控制问题,且成本较低。
具有如下特性:
l 完全兼容51系列产品
l 工作电压:5.5V~3.3V(5V单片机) 3.8V~2.4 V(3V单片机) l 工作频率范围:0~35MHz,相当于普通8051的0~420MHz l 8K字节可擦写1000次的在线可编程闪存
l 在系统可编程ISP和在应用可编程IAP,勿需专用编程器,勿需专用仿真器,用户可通过串口直
接下载程序,高效快速 l 片上集成1024字节内部RAM l 32条可编程I/O线 l 3个16位定时器/计数器
l 通用异步串行口(UART),还可用定时器软件实现多个UART l 低功耗空闲方式和掉电方式 l 看门狗定时器 l EEPROM功能
l 兼容TTL和COMS逻辑电平 l 双DPTR数据指针 l PDIP封装
10
4.1.2 STC89C52RD+单片机的标准工作模式
l l l
掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序 空闲模式:典型功耗2mA
正常工作模式:典型功耗4mA~7mA
其中掉电模式和空闲模式是该芯片的低功耗设计,可由外部中断唤醒,适用于电池供电系统,如气表、水表、便携应用设备等。
4.1.3引脚说明
图14 STC89C52单片机引脚图
按照功能,STC89C52的引脚可分为多功能I/O口、主电源、外接晶体振荡或振荡器、控制和复位等。 1) 多功能I/O口
STC89C52共有四个8位的通用I/O端口:P0、P1、P2、P3,对应的引脚分别是:P0.0 ~ P0.7,P1.0 ~ P1.7,P2.0 ~ P2.7,P3.0 ~ P3.7,共32个I/O口。每个口可以单独用作输入或者输出。
① P0端口,该口是一个8位漏极开路的双向I/O端口。在作输入口时,写入高电平,可作高阻收入;作输出口时,每个引脚可带动8个TTL输入负载。当存取外部程序或数据存储器时,P0可用作低字节地址或者数据总线(此模式内部集成有上拉电阻);当编程Flash存储器时,P0端口将用于接收代码字节;在校验时,则输出代码字节(此模式需外加上拉电阻)。
② P1端口,该口是8位双向I/O端口,集成有内部上拉电阻。对端口写“1”时,通过内上拉电阻把端口拉到高电位,此时可用作输入口。因为有上拉电阻,P1口作输入口使用时,那些被外部信号拉低电平的
11