引 言
在USB拓扑结构中PC机扮演着中心作用,没有PC机的参加,USB设备将无用武之地;但随着USB-OTG规范的提出和USB主机接口芯片的产出,USB主机逐步使用到各种场合中,如数码伴侣、打印机等。现在,大多数的温湿度记载仪都是经过单片机的A/D模块屡次采样.经过软件滤波,得到一个均值,然后再经过模仿传感器的数据校对表换算出实践的温湿度,并且都是经过串口与上位机进行通讯,上位机需求编写一个数据剖析软件来设置记载仪的作业方式,并对记载的历史数据进行剖析与处理。依据对以往记载仪的剖析和对USB-OTG技能的深入研究,提出了数字温湿度记载仪体系中USB主机规划的完结计划。将USB主机嵌入到数字温湿度记载仪体系中,把对记载仪的设置预先写到USB磁盘上,再将USB磁盘插到记载仪上,别离按下读/写按键,记载仪别离完结读取磁盘上的装备和将记载数据写到USB磁盘上。下面详细剖析其硬件规划和软件完结进程。
1 硬件规划
记载仪体系硬件结构如图1所示。该体系首要完结收集、显现和记载数据,并驱动USB磁盘,在单片机上完结读写USB磁盘功用。整个体系硬件首要由一个主控芯片、数字温湿度传感器、USB主机接口芯片、E2PROM、LCD液晶显现器等构成。体系由电池供电,无论是硬件规划仍是软件编程都要考虑功耗问题,所以主控芯片选用超低功耗的MSP430F1611单片机,结合软件编程能延伸电池寿数。数字温湿度传感器选用的是Rotronic公司的HygroC1ip,USB主机芯片选用Philips公司的ISPl362。
1.1 数字温湿度传感器HygroClip
HygroClip是一种数字温湿度传感器,具有5根线:电源、地、温度输出、湿度输出、数字输入/输出。供电电压需求5 V,而整个体系的作业电压小于5 V,所以要外加有使能端输出为5V的升压器,使能端由MSP430F1611的一般I/O口操控,这样能够有挑选地使传感器作业,有利于下降体系功耗。传感器首要由AIRCHIP2000和Micro-Controller/E2PROM两部分构成。AIRcHIP2000中的集成电路担任丈量温湿度,并将它们转化为数字量;D/A转化器将MicroController宣布的数据转为模仿输出。MicroController依据数字量算出温湿度的实践值,经过数字输出线发送到MSP430F16ll中。E2PROM用来保存校对数据、传感器数据等。HygroClip与MSP430F1611传输数据经过数据输入/输出线来完结,所以是一位一位地发送数据,发送8位代表发完1个字节,有点类似于串口通讯协议。串口通讯协议规则如下:先发送同步头,当HygroC1ip接入体系3秒钟后,主动进入发送温湿度数据状况,单片机检测到其下降沿中止,然后敞开上升沿中止,发动定时器计数,核算进入上升沿中止的时刻。若在800μs左右,表明可能是同步头,此刻开下降沿中止,并重计定时器的时刻。若在4700μs左右,则表明抓到同步头。该下降沿标志着第一位发送数据的开端,经过200μs检查接纳位的状况,为“1”表明收到的是“1”,为“0”表明收到的便是“0”。其数字输入/输出引脚的波形如图2所示。
1.2 ISPl362简介
ISPl362是Philips公司推出的USB芯片。它在单芯片上集成了OTG操控器、主机操控器、设备操控器、USB收发器、OTG收发器和缓存器等。OTG操控器彻底兼容USB2.0及On-The-Go Supplement 1.0协议,支撑OTG规范要求的一切功用。在OTG方式下作业时,可经过主机通讯协议HNP完结主机和外设两种功用的转化,并支撑对话恳求协议SNP。主机和设备操控器恪守USB2.O协议,支撑1.5 Mb/s的低速传输和12 Mb/s的全速传输。当作为设备操控器时,具有两个操控端点,且能使用14个端点进行四种传输类型的恣意类型。ISP1362还集成了计时器及支撑OTG功用所需求的模仿元件,并且内部还有一个锁相环PLL,因而能够选用12MHz的晶振,既下降了本钱,又下降了EMI。ISP1362支撑内置电源供电及外部电源供电两种方式。关于较低功耗的使用规划,可用内部集成的电荷泵鼓励器;而假如使用体系的功耗较高,则要用外部电源供电。ISPl362还供给2个USB端口。端口1可进行软件装备,并可用作下行、上行OTG端口。作为OTG端口,端口1可在主机或外设方式下作业,并可经过HNP或布线改变来动态转化人物。端口2只用作下行传输。ISPl362的接口电路如图3所示。
1.3 MSP430F1611简介
MSP430F1611是TI公司推出的一款16位超低功耗单片机,作业电源电压为1.8~3.6 V,可用电池作业,并且能够有很长的使用时刻;具有16位RISC结构,CPU中的16个寄存器和常数产生器使MSP430微操控器能到达最高的代码功率;灵敏的时钟源能够使器材到达最低的功耗;具有5种省电方式,在lMHz的时钟条件下运转,耗电电流(0.1~400 μA)因不同的作业方式而不同;数字操控振荡器(DCO)可使器材从低功耗方式敏捷唤醒,在少于6μs的时刻内激活到活泼的作业方式;支撑串行在体系编程和安全熔丝的程序代码维护,内部具有10KB容量的RAM,能够存扩大容量中心数据和变量。
2 软件规划
整个体系软件分为用户程序和uSB主机软件两部分,USB主机软件为用户程序供给软件接口。当记载仪需求读写USB磁盘时,调用接口发送读写指令即可完结。用户程序集成初始化、收集、显现、记载等子程序。初始化单片机与其外围模块;收集程序担任将数字温湿度传感器的脉冲输入转化为温湿度的值;显现程序则将收集到的数据经过液晶显现器显现出来,显现频率能够设置;记载程序将收集的数据写到F2PROM保存,掉电不丢掉,然后要经过I/O口模仿I2C协议完结读写32PROM,USB主机软件集成USB主机操控器驱动程序(HCD)、USB驱动程序(USBD)和MassStorage类驱动程序。HCD担任完结对USB主机操控器ISPl362装备和作业办理,经过数据线上的电平改变检测到USB设备的接入和拔出,如ISPl362的初始化、设置ISPl362的寄存器完结链路级数据传输等。USBD是整个主机软件的中心部分,相当于PC机上USB主机的中心驱动程序,依照USB协议合理调用HCD来获取设备、装备、接口及端点描述符,然后对USB设备设置地址并与之通讯,然后辨认并判别USB设备是否归于Mass Storage类。Mass Storage类驱动程序包含Bulk_Only传输协议的完结以及在协议完结的基础上发送特定的恳求指令,进而对USB磁盘上的F1ash进行读和写,从USB磁盘上读取对记载仪的装备,并将记载仪保存的数据写到USB磁盘上供上位机剖析处理。
为了将体系的功耗降到最低,仅仅在硬件规划上考虑是远远不够的,还需求规划低功耗的软件来合作硬件作业,才干到达抱负的方针。在本体系中,为了下降功耗,将用户程序和USB主机软件进行收拾和优化,分红主程序、看门狗中止子程序和USB主机程序三大模块。主程序担任初始化、开中止后进入低功耗作业方式,然后一向等候中止,看门狗中止程序担任收集数据、显现数据、保存数据等功用,由于记载仪需求不断的收集、显现和保存,所以要周期性地进入中止。收集、显现和保存这三个事情不是同步的,每次进入中止后都会收集数据,可是到达显现和保存条件之后别离进入相应的处理,并且显现和保存的时刻参数是经过USB磁盘装备得到的,能够更改。读写中止子程序担任判别按键类型,在Mass Storage类驱动程序基础上树立一个FAT文件体系,支撑FATl6/FAT32两种文件格局,以文件的方式统一办理USB磁盘上的内容。各个程序流程如图4至图6所示。