- 相關(guān)推薦
帶USB接口的電子巡更系統(tǒng)的設(shè)計
摘要:介紹一種具有數(shù)據(jù)傳輸速度快、支持熱插拔和充電方便等特點(diǎn)的USB接口電子巡更系統(tǒng);闡述電子巡更系統(tǒng)硬件電路及工作原野,并介紹該系統(tǒng)的軟件組成及流程圖。電子巡更系統(tǒng)是智能樓宇中保安系統(tǒng)的一個子系統(tǒng)。保安巡更時,需按指定的路線和時間,依次以達(dá)各個巡更點(diǎn)進(jìn)行巡更。在此系統(tǒng)中,各巡更點(diǎn)設(shè)有信息鈕扣,保安用巡更機(jī)讀取信息鈕及當(dāng)前時間。巡更完畢后,將巡更機(jī)交至安保中心,使之與計算機(jī)的USB接口相連,將存儲在巡更機(jī)中的巡更數(shù)據(jù)輸入計算機(jī)。所以,通過它可以了解保安的巡更情況,有效地管理和督促保安的工作。
1996年,Intel、Microsoft、IBM等七家公司共同推出USB1.0通用串行接口標(biāo)準(zhǔn),隨后帶USB接口的產(chǎn)品陸續(xù)出現(xiàn)。USB接口具有速度快、支持熱插拔和即插即用、易擴(kuò)展、可提供總線供電等優(yōu)點(diǎn)。
基于USB接口的諸多優(yōu)點(diǎn)和本設(shè)計中巡更機(jī)的特點(diǎn),我們在設(shè)計巡更系統(tǒng)時,采用了USB接口。該電子巡更系統(tǒng)具有使用方便、數(shù)據(jù)傳輸速度快、易擴(kuò)展、充電方便、功耗低、性價比高等優(yōu)點(diǎn),有效地解決了傳統(tǒng)巡更機(jī)的不足。
圖1 巡更機(jī)硬件原理框圖
1 電子巡更系統(tǒng)硬件設(shè)計
針對電子巡更系統(tǒng)的特點(diǎn),為了降低開發(fā)成本,提高系統(tǒng)的性價比,本設(shè)計采用MCU USB接口芯片的方案。MCU采用Atmel公司的AT89C52單片機(jī),可以設(shè)置成低功耗方式。USB接口芯片采用Philips公司的PDIUSBD12。帶USB接口的電子巡更系統(tǒng)硬件原理框圖如圖1所示。其中DS1302為高性能、低功耗、寬電壓、帶有RAM實(shí)時時鐘芯片,它適合于工作電池供電設(shè)備的系統(tǒng)時鐘。這里MCU通過它讀了當(dāng)前時間;24LC64為低功耗、寬電壓、64Kb、支持I2C協(xié)議的串行CMOS電可擦除程序存儲器EEPROM,這里用于存儲巡更點(diǎn)信息鈕扣的ID值和讀取信息鈕扣時間數(shù)據(jù)。DS1990A外形上是一種圓形不銹鋼器件,內(nèi)部存有64b的二進(jìn)制代碼,以此代碼作為巡更點(diǎn)的ID值。DS1302和24LC64電壓工作范圍為2.5~5.5V,以I2C總線和MCU通信。DS1990A以單總線(1-Wire總線)和MCU通信。
本系統(tǒng)中巡更機(jī)采用3.6V可充電電池供電,充電電源由USB接口的5V電源線提供,電源電壓監(jiān)測電路如圖2所示。其呂AMS1117是一個DC-DC電壓變換器,其輸入端為USB接口的5個電源線,輸出端為3.3V電壓,以此電壓為3.6V電源充電。MAX9117是一個帶有1.245V基準(zhǔn)電壓(Vref)的比較器。當(dāng)電池電壓下降到3V以下時,LED點(diǎn)亮,指示電量不足。
PDIUSBD12是一種性能優(yōu)化的USB器件。它是一種與微控制器進(jìn)行通信的高速愛用并行接口,它同時也支持本地DMA傳輸。設(shè)計人員可以在各種不同類型的微控制器中選擇出最合適的微控制器,而且不需要專用的開發(fā)設(shè)備。這種組件方式增強(qiáng)了系統(tǒng)開發(fā)的靈活性,減少了開發(fā)時間、風(fēng)險和費(fèi)用,是開發(fā)USB外設(shè)的一種快捷和經(jīng)濟(jì)的途徑。PDIUSBD12符合USB1.1規(guī)范,也符合大多數(shù)在規(guī)范,如成像類、大容量存儲類、通信類、打印類和人工輸入設(shè)備等。因此,PDIUSBD12非常適合數(shù)外圍設(shè)備,如打印機(jī)、掃描儀、外部大容易存儲器(Zip驅(qū)動器)和數(shù)碼相機(jī)等的接口芯片。它使得當(dāng)前使用SCSI的系統(tǒng)可以立即降低成本。
2 電子巡更系統(tǒng)軟件設(shè)計
2.1 巡更機(jī)固件程序
巡更機(jī)固件程序從功能上主要分為兩部分。
①信息鈕扣的讀取操作程序。這一部分實(shí)現(xiàn)MCU主外圍器件的初始化、讀取信息鈕以及對DS1302和24LC64的讀寫操作。調(diào)試時要注意I2C總線的時序問題。巡更機(jī)固件程序采用C語言編程。信息鈕讀取操作程序流程如圖3所示。
②MCU和USB接口的通信程序。這一部分程序要實(shí)現(xiàn)將24LC64中的數(shù)據(jù)經(jīng)USB接口讀入到上位計算機(jī)中。USB接口芯片PDIUSBD12的端點(diǎn)適用于不同類型的設(shè)備,可通過命令配置為4種不同的模式:模式0(非同步傳輸)、模式1(同步輸出傳輸)、模式2(同步輸入傳輸)和模式3(同步輸入輸出傳輸)。PDIUSBD12帶有三個端點(diǎn),即端點(diǎn)0、端點(diǎn)1和端點(diǎn)2。這里僅列出模式0(非同步傳輸)時各端點(diǎn)的配置表格,如表1所列。
表1 模式0各端點(diǎn)配置
最大數(shù)據(jù)包容量/B
001控制輸出
控制輸入缺少值輸出
輸入16
1612
3普通輸出
普通輸入普通
普通輸出
輸入16
1624
5普通輸出
普通輸入普通
普通輸出
輸入64×2(雙緩沖區(qū))
64×2(雙緩沖區(qū))
本程序設(shè)計時,使用PDIUSBD12的端點(diǎn)1和端點(diǎn)2進(jìn)行上位計算機(jī)與巡更機(jī)MCU之間的命令和數(shù)據(jù)的傳輸。端點(diǎn)1和端點(diǎn)2設(shè)置成模式0,其中端點(diǎn)1進(jìn)行命令的傳輸和應(yīng)答,端點(diǎn)2用于數(shù)據(jù)的傳輸。端點(diǎn)1接收上位計算機(jī)發(fā)送過來的8字節(jié)的讀指令,指令正確回應(yīng)后,使用端點(diǎn)2返回讀成功數(shù)據(jù)。通信中所使用的端點(diǎn)情況如圖4所示(括號內(nèi)為使用的端點(diǎn)號)。
PDIUSBD12收到上位計算機(jī)的數(shù)據(jù)包時,就以中斷的方式通知巡更機(jī)的MCU。固件程序工作過程如下:當(dāng)PDIUSBD12從USB收到一個數(shù)據(jù)包時,PDIUSBD12就會對MCU產(chǎn)生中斷請求,MCU立即響應(yīng)中斷。巡更機(jī)固件程序?qū)?shù)據(jù)包從PDIUSBD12內(nèi)部緩沖區(qū)移到數(shù)據(jù)緩
【帶USB接口的電子巡更系統(tǒng)的設(shè)計】相關(guān)文章:
基于USB接口的數(shù)據(jù)采集系統(tǒng)設(shè)計03-18
低軾耗數(shù)據(jù)采集系統(tǒng)的USB接口設(shè)計03-18
基于CH371的USB接口虛擬示波器設(shè)計03-20
基于USB接口的數(shù)據(jù)采集系統(tǒng)-GSM功率測量VC++03-08
基于USB接口的心電信號數(shù)據(jù)采集系統(tǒng)03-19
USB接口的高速數(shù)據(jù)采集卡的設(shè)計與實(shí)現(xiàn)03-18
淺談USB接口技術(shù)研究應(yīng)用與設(shè)計03-28