數(shù)字溫度記錄儀中的USB主機設計
簡要介紹數(shù)字溫濕度傳感器,提出數(shù)字溫濕度記錄儀系統(tǒng)中usB主機設計的實現(xiàn)方案。誼記錄儀通過讀取U磁盤的內(nèi)容來配置其工作狀態(tài)、屬性等,同時按照配置顯示和記錄數(shù)據(jù),將記錄的歷史數(shù)據(jù)寫到USB磁盤上,再通過PC機上住機軟件進行數(shù)據(jù)分析度處理。
??? 關鍵詞 數(shù)字溫濕度傳感器HygroClip USB主機MSP430F1611
??? 引 言
??? 在USB拓撲結構中PC機扮演著核心作用,沒有PC機的參與,USB設備將無用武之地;但隨著USB-OTG規(guī)范的提出和USB主機接口芯片的產(chǎn)出,USB主機逐漸應用到各種場合中,如數(shù)碼伴侶、打印機等。目前,大多數(shù)的溫濕度記錄儀都是通過單片機的A/D模塊多次采樣.經(jīng)過軟件濾波,得到一個均值,然后再通過模擬傳感器的數(shù)據(jù)校正表換算出實際的溫濕度,而且都是通過串口與上位機進行通信,上位機需要編寫一個數(shù)據(jù)分析軟件來設置記錄儀的工作模式,并對記錄的歷史數(shù)據(jù)進行分析與處理。根據(jù)對以往記錄儀的分析和對USB-OTG技術的深入研究,提出了數(shù)字溫濕度記錄儀系統(tǒng)中USB主機設計的實現(xiàn)方案。將USB主機嵌入到數(shù)字溫濕度記錄儀系統(tǒng)中,把對記錄儀的設置預先寫到USB磁盤上,再將USB磁盤插到記錄儀上,分別按下讀/寫按鍵,記錄儀分別完成讀取磁盤上的配置和將記錄數(shù)據(jù)寫到USB磁盤上。下面詳細分析其硬件設計和軟件實現(xiàn)過程。
????
??? 1 硬件設計
??? 記錄儀系統(tǒng)硬件結構如圖1所示。該系統(tǒng)主要完成采集、顯示和記錄數(shù)據(jù),并驅(qū)動USB磁盤,在單片機上實現(xiàn)讀寫USB磁盤功能。整個系統(tǒng)硬件主要由一個主控芯片、數(shù)字溫濕度傳感器、USB主機接口芯片、E2PROM、LCD液晶顯示器等構成。系統(tǒng)由電池供電,無論是硬件設計還是軟件編程都要考慮功耗問題,所以主控芯片選用超低功耗的MSP430F1611單片機,結合軟件編程能延長電池壽命。數(shù)字溫濕度傳感器選用的是Rotronic公司的HygroC1ip,USB主機芯片選用Philips公司的ISPl362。
??? 1.1 數(shù)字溫濕度傳感器HygroClip
??? HygroClip是一種數(shù)字溫濕度傳感器,具有5根線:電源、地、溫度輸出、濕度輸出、數(shù)字輸入/輸出。供電電壓需要5 V,而整個系統(tǒng)的工作電壓小于5 V,所以要外加有使能端輸出為5V的升壓器,使能端由MSP430F1611的普通I/O口控制,這樣可以有選擇地使傳感器工作,有利于降低系統(tǒng)功耗。傳感器主要由AIRCHIP2000和Micro-Controller/E2PROM兩部分構成。AIRcHIP2000中的集成電路負責測量溫濕度,并將它們轉(zhuǎn)換為數(shù)字量;D/A轉(zhuǎn)換器將MicroController發(fā)出的數(shù)據(jù)轉(zhuǎn)為模擬輸出。MicroController根據(jù)數(shù)字量算出溫濕度的實際值,通過數(shù)字輸出線發(fā)送到MSP430F16ll中。E2PROM用來保存校正數(shù)據(jù)、傳感器數(shù)據(jù)等。HygroClip與MSP430F1611傳輸數(shù)據(jù)通過數(shù)據(jù)輸入/輸出線來完成,所以是一位一位地發(fā)送數(shù)據(jù),發(fā)送8位代表發(fā)完1個字節(jié),有點類似于串口通信協(xié)議。串口通信協(xié)議規(guī)定如下:先發(fā)送同步頭,當HygroC1ip接入系統(tǒng)3秒鐘后,自動進入發(fā)送溫濕度數(shù)據(jù)狀態(tài),單片機檢測到其下降沿中斷,然后開啟上升沿中斷,啟動定時器計數(shù),計算進入上升沿中斷的時間。若在800μs左右,表示可能是同步頭,此時開下降沿中斷,并重計定時器的時間。若在4700μs左右,則表示抓到同步頭。該下降沿標志著第一位發(fā)送數(shù)據(jù)的開始,經(jīng)過200μs查看接收位的狀態(tài),為“1”表示收到的是“1”,為“0”表示收到的就是“0”。其數(shù)字輸入/輸出引腳的波形如圖2所示。
???
??? 1.2 ISPl362簡介
??? ISPl362是Philips公司推出的USB芯片。它在單芯片上集成了OTG控制器、主機控制器、設備控制器、USB收發(fā)器、OTG收發(fā)器和緩存器等。OTG控制器完全兼容USB2.0及On-The-Go Supplement 1.0協(xié)議,支持OTG標準要求的所有功能。在OTG模式下工作時,可通過主機通信協(xié)議HNP實現(xiàn)主機和外設兩種功能的轉(zhuǎn)化,并支持對話請求協(xié)議SNP。主機和設備控制器遵守USB2.O協(xié)議,支持1.5 Mb/s的低速傳輸和12 Mb/s的全速傳輸。當作為設備控制器時,具有兩個控制端點,且能利用14個端點進行四種傳輸類型的任意類型。ISP1362還集成了計時器及支持OTG功能所需要的模擬元件,而且內(nèi)部還有一個鎖相環(huán)PLL,因此可以選用12MHz的晶振,既降低了成本,又降低了EMI。ISP1362支持內(nèi)置電源供電及外部電源供電兩種模式。對于較低功耗的應用設計,可用內(nèi)部集成的電荷泵激勵器;而如果應用系統(tǒng)的功耗較高,則要用外部電源供電。ISPl362還提供2個USB端口。端口1可進行軟件配置,并可用作下行、上行OTG端口。作為OTG端口,端口1可在主機或外設模式下工作,并可通過HNP或布線變化來動態(tài)轉(zhuǎn)換角色。端口2只用作下行傳輸。ISPl362的接口電路如圖3所示。
????
??? 1.3 MSP430F1611簡介
??? MSP430F1611是TI公司推出的一款16位超低功耗單片機,工作電源電壓為1.8~3.6 V,可用電池工作,而且可以有很長的使用時間;具有16位RISC結構,CPU中的16個寄存器和常數(shù)發(fā)生器使MSP430微控制器能達到最高的代碼效率;靈活的時鐘源可以使器件達到最低的功耗;具有5種省電模式,在lMHz的時鐘條件下運行,耗電電流(0.1~400 μA)因不同的工作模式而不同;數(shù)字控制振蕩器(DCO)可使器件從低功耗模式迅速喚醒,在少于6μs的時間內(nèi)激活到活躍的工作方式;支持串行在系統(tǒng)編程和安全熔絲的程序代碼保護,內(nèi)部具有10KB容量的RAM,可以存放大容量中間數(shù)據(jù)和變量。
??? 2 軟件設計
??? 整個系統(tǒng)軟件分為用戶程序和uSB主機軟件兩部分,USB主機軟件為用戶程序提供軟件接口。當記錄儀需要讀寫USB磁盤時,調(diào)用接口發(fā)送讀寫命令即可實現(xiàn)。用戶程序集成初始化、采集、顯示、記錄等子程序。初始化單片機與其外圍模塊;采集程序負責將數(shù)字溫濕度傳感器的脈沖輸入轉(zhuǎn)換為溫濕度的值;顯示程序則將采集到的數(shù)據(jù)通過液晶顯示器顯示出來,顯示頻率可以設置;記錄程序?qū)⒉杉臄?shù)據(jù)寫到F2PROM保存,掉電不丟失,從而要通過I/O口模擬I2C協(xié)議實現(xiàn)讀寫32PROM,USB主機軟件集成USB主機控制器驅(qū)動程序(HCD)、USB驅(qū)動程序(USBD)和MassStorage類驅(qū)動程序。HCD負責完成對USB主機控制器ISPl362配置和工作管理,通過數(shù)據(jù)線上的電平變化檢測到USB設備的接入和拔出,如ISPl362的初始化、設置ISPl362的寄存器實現(xiàn)鏈路級數(shù)據(jù)傳輸?shù)?。USBD是整個主機軟件的核心部分,相當于PC機上USB主機的核心驅(qū)動程序,按照USB協(xié)議合理調(diào)用HCD來獲取設備、配置、接口及端點描述符,然后對USB設備設置地址并與之通信,從而識別并判斷USB設備是否屬于Mass Storage類。Mass Storage類驅(qū)動程序包括Bulk_Only傳輸協(xié)議的實現(xiàn)以及在協(xié)議實現(xiàn)的基礎上發(fā)送特定的請求命令,進而對USB磁盤上的F1ash進行讀和寫,從USB磁盤上讀取對記錄儀的配置,并將記錄儀保存的數(shù)據(jù)寫到USB磁盤上供上位機分析處理。
??? 為了將系統(tǒng)的功耗降到最低,僅僅在硬件設計上考慮是遠遠不夠的,還需要設計低功耗的軟件來配合硬件工作,才能達到理想的目標。在本系統(tǒng)中,為了降低功耗,將用戶程序和USB主機軟件進行整理和優(yōu)化,分成主程序、看門狗中斷子程序和USB主機程序三大模塊。主程序負責初始化、開中斷后進入低功耗工作模式,然后一直等待中斷,看門狗中斷程序負責采集數(shù)據(jù)、顯示數(shù)據(jù)、保存數(shù)據(jù)等功能,因為記錄儀需要不斷的采集、顯示和保存,所以要周期性地進入中斷。采集、顯示和保存這三個事件不是同步的,每次進入中斷后都會采集數(shù)據(jù),但是達到顯示和保存條件之后分別進入相應的處理,而且顯示和保存的時間參數(shù)是通過USB磁盤配置得到的,可以更改。讀寫中斷子程序負責判斷按鍵類型,在Mass Storage類驅(qū)動程序基礎上建立一個FAT文件系統(tǒng),支持FATl6/FAT32兩種文件格式,以文件的形式統(tǒng)一管理USB磁盤上的內(nèi)容。各個程序流程如圖4至圖6所示。
????
???
評論
查看更多