本系统中巡更机采用3.6V可充电电池供电,充电电源由USB接口的5V电源线提供,电源电压监测电路如图2所示。其吕AMS1117是一个 DC-DC电压变换器,其输入端为USB接口的5个电源线,输出端为3.3V电压,以此电压为3.6V电源充电。MAX9117是一个带有1.245V基准电压(Vref)的比较器。当电池电压下降到3V以下时,LED点亮,指示电量不足。
PDIUSBD12是一种性能优化的USB器件。它是一种与微控制器进行通信的高速爱用并行接口,它同时也支持本地DMA传输。设计人员可以在各种不同类型的微控制器中选择出最合适的微控制器,而且不需要专用的开发设备。这种组件方式增强了系统开发的灵活性,减少了开发时间、风险和费用,是开发USB外设的一种快捷和经济的途径。PDIUSBD12符合USB1.1规范,也符合大多数在规范,如成像类、大容量存储类、通信类、打印类和人工输入设备等。因此,PDIUSBD12非常适合数外围设备,如打印机、扫描仪、外部大容易存储器(Zip驱动器)和数码相机等的接口芯片。它使得当前使用SCSI的系统可以立即降低成本。
2 电子巡更系统软件设计
2.1 巡更机固件程序
巡更机固件程序从功能上主要分为两部分。
①信息钮扣的读取操作程序。这一部分实现MCU主外围器件的初始化、读取信息钮以及对DS1302和24LC64的读写操作。调试时要注意I2C总线的时序问题。巡更机固件程序采用C语言编程。信息钮读取操作程序流程如图3所示。
②MCU和USB接口的通信程序。这一部分程序要实现将24LC64中的数据经USB接口读入到上位计算机中。USB接口芯片 PDIUSBD12的端点适用于不同类型的设备,可通过命令配置为4种不同的模式:模式0(非同步传输)、模式1(同步输出传输)、模式2(同步输入传输)和模式3(同步输入输出传输)。PDIUSBD12带有三个端点,即端点0、端点1和端点2。这里仅列出模式0(非同步传输)时各端点的配置表格,如表1所列。
表1 模式0各端点配置
端点号端点索引传输类型端点类型方向最大数据包容量/B
00
1控制输出
控制输入缺少值输出
输入16
16
12
3普通输出
普通输入普通
普通输出
输入16
16
24
5普通输出
普通输入普通
普通输出
输入64×2(双缓冲区)
64×2(双缓冲区)