當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]介紹一種具有數(shù)據(jù)傳輸速度快、支持熱插拔和充電方便等特點(diǎn)的USB接口電子巡更系統(tǒng)。

 摘要:介紹一種具有數(shù)據(jù)傳輸速度快、支持熱插拔和充電方便等特點(diǎn)的USB接口電子巡更系統(tǒng);闡述電子巡更系統(tǒng)硬件電路及工作原野,并介紹該系統(tǒng)的軟件組成及流程圖。

    關(guān)鍵詞:電子巡更系統(tǒng) 信息鈕扣 USB接口 設(shè)備驅(qū)動(dòng)程序

電子巡更系統(tǒng)是智能樓宇中保安系統(tǒng)的一個(gè)子系統(tǒng)。保安巡更時(shí),需按指定的路線和時(shí)間,依次以達(dá)各個(gè)巡更點(diǎn)進(jìn)行巡更。在此系統(tǒng)中,各巡更點(diǎn)設(shè)有信息鈕扣,保安用巡更機(jī)讀取信息鈕及當(dāng)前時(shí)間。巡更完畢后,將巡更機(jī)交至安保中心,使之與計(jì)算機(jī)的USB接口相連,將存儲(chǔ)在巡更機(jī)中的巡更數(shù)據(jù)輸入計(jì)算機(jī)。所以,通過(guò)它可以了解保安的巡更情況,有效地管理和督促保安的工作。

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ì)中巡更機(jī)的特點(diǎn),我們?cè)谠O(shè)計(jì)巡更系統(tǒng)時(shí),采用了USB接口。該電子巡更系統(tǒng)具有使用方便、數(shù)據(jù)傳輸速度快、易擴(kuò)展、充電方便、功耗低、性價(jià)比高等優(yōu)點(diǎn),有效地解決了傳統(tǒng)巡更機(jī)的不足。

圖1 巡更機(jī)硬件原理框圖

1 電子巡更系統(tǒng)硬件設(shè)計(jì)

針對(duì)電子巡更系統(tǒng)的特點(diǎn),為了降低開(kāi)發(fā)成本,提高系統(tǒng)的性價(jià)比,本設(shè)計(jì)采用MCU+USB接口芯片的方案。MCU采用Atmel公司的AT89C52單片機(jī),可以設(shè)置成低功耗方式。USB接口芯片采用Philips公司的PDIUSBD12。帶USB接口的電子巡更系統(tǒng)硬件原理框圖如圖1所示。其中DS1302為高性能、低功耗、寬電壓、帶有RAM實(shí)時(shí)時(shí)鐘芯片,它適合于工作電池供電設(shè)備的系統(tǒng)時(shí)鐘。這里MCU通過(guò)它讀了當(dāng)前時(shí)間;24LC64為低功耗、寬電壓、64Kb、支持I2C協(xié)議的串行CMOS電可擦除程序存儲(chǔ)器EEPROM,這里用于存儲(chǔ)巡更點(diǎn)信息鈕扣的ID值和讀取信息鈕扣時(shí)間數(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)測(cè)電路如圖2所示。其呂AMS1117是一個(gè)DC-DC電壓變換器,其輸入端為USB接口的5個(gè)電源線,輸出端為3.3V電壓,以此電壓為3.6V電源充電。MAX9117是一個(gè)帶有1.245V基準(zhǔn)電壓(Vref)的比較器。當(dāng)電池電壓下降到3V以下時(shí),LED點(diǎn)亮,指示電量不足。

    PDIUSBD12是一種性能優(yōu)化的USB器件。它是一種與微控制器進(jìn)行通信的高速愛(ài)用并行接口,它同時(shí)也支持本地DMA傳輸。設(shè)計(jì)人員可以在各種不同類型的微控制器中選擇出最合適的微控制器,而且不需要專用的開(kāi)發(fā)設(shè)備。這種組件方式增強(qiáng)了系統(tǒng)開(kāi)發(fā)的靈活性,減少了開(kāi)發(fā)時(shí)間、風(fēng)險(xiǎn)和費(fèi)用,是開(kāi)發(fā)USB外設(shè)的一種快捷和經(jīng)濟(jì)的途徑。PDIUSBD12符合USB1.1規(guī)范,也符合大多數(shù)在規(guī)范,如成像類、大容量存儲(chǔ)類、通信類、打印類和人工輸入設(shè)備等。因此,PDIUSBD12非常適合數(shù)外圍設(shè)備,如打印機(jī)、掃描儀、外部大容易存儲(chǔ)器(Zip驅(qū)動(dòng)器)和數(shù)碼相機(jī)等的接口芯片。它使得當(dāng)前使用SCSI的系統(tǒng)可以立即降低成本。

2 電子巡更系統(tǒng)軟件設(shè)計(jì)

2.1 巡更機(jī)固件程序

巡更機(jī)固件程序從功能上主要分為兩部分。

①信息鈕扣的讀取操作程序。這一部分實(shí)現(xiàn)MCU主外圍器件的初始化、讀取信息鈕以及對(duì)DS1302和24LC64的讀寫(xiě)操作。調(diào)試時(shí)要注意I2C總線的時(shí)序問(wèn)題。巡更機(jī)固件程序采用C語(yǔ)言編程。信息鈕讀取操作程序流程如圖3所示。

②MCU和USB接口的通信程序。這一部分程序要實(shí)現(xiàn)將24LC64中的數(shù)據(jù)經(jīng)USB接口讀入到上位計(jì)算機(jī)中。USB接口芯片PDIUSBD12的端點(diǎn)適用于不同類型的設(shè)備,可通過(guò)命令配置為4種不同的模式:模式0(非同步傳輸)、模式1(同步輸出傳輸)、模式2(同步輸入傳輸)和模式3(同步輸入輸出傳輸)。PDIUSBD12帶有三個(gè)端點(diǎn),即端點(diǎn)0、端點(diǎn)1和端點(diǎn)2。這里僅列出模式0(非同步傳輸)時(shí)各端點(diǎn)的配置表格,如表1所列。

表1 模式0各端點(diǎn)配置

端點(diǎn)號(hào) 端點(diǎn)索引 傳輸類型 端點(diǎn)類型 方向

最大數(shù)據(jù)包容量/B

0 0
1
控制輸出
控制輸入
缺少值 輸出
輸入
16
16
1 2
3
普通輸出
普通輸入
普通
普通
輸出
輸入
16
16
2 4
5
普通輸出
普通輸入
普通
普通
輸出
輸入
64×2(雙緩沖區(qū))
64×2(雙緩沖區(qū))

本程序設(shè)計(jì)時(shí),使用PDIUSBD12的端點(diǎn)1和端點(diǎn)2進(jìn)行上位計(jì)算機(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ì)算機(jī)發(fā)送過(guò)來(lái)的8字節(jié)的讀指令,指令正確回應(yīng)后,使用端點(diǎn)2返回讀成功數(shù)據(jù)。通信中所使用的端點(diǎn)情況如圖4所示(括號(hào)內(nèi)為使用的端點(diǎn)號(hào))。

PDIUSBD12收到上位計(jì)算機(jī)的數(shù)據(jù)包時(shí),就以中斷的方式通知巡更機(jī)的MCU。固件程序工作過(guò)程如下:當(dāng)PDIUSBD12從USB收到一個(gè)數(shù)據(jù)包時(shí),PDIUSBD12就會(huì)對(duì)MCU產(chǎn)生中斷請(qǐng)求,MCU立即響應(yīng)中斷。巡更機(jī)固件程序?qū)?shù)據(jù)包從PDIUSBD12內(nèi)部緩沖區(qū)移到數(shù)據(jù)緩沖區(qū),并清零PDIUSBD12的內(nèi)部緩沖區(qū),以使之能接收新的數(shù)據(jù)包。在斷處理程序中,MCU判斷產(chǎn)生的中斷類型,并進(jìn)行相應(yīng)的處理。其中斷程序流程如圖5所示。

2.2 巡更機(jī)驅(qū)動(dòng)程序

Windows98和Windows2000已經(jīng)為一些USB標(biāo)準(zhǔn)設(shè)備提供了驅(qū)動(dòng)程序,巡更機(jī)目前還不是標(biāo)準(zhǔn)的計(jì)算機(jī)外設(shè),所以必須針對(duì)巡更機(jī)的特點(diǎn)來(lái)編寫(xiě)驅(qū)動(dòng)程序。本設(shè)計(jì)中巡更機(jī)驅(qū)動(dòng)程序是通過(guò)Windows DDK來(lái)開(kāi)發(fā)的,它是Microsoft公司提供的一個(gè)開(kāi)發(fā)Windows驅(qū)動(dòng)程序的工具,DDK提供了編譯驅(qū)動(dòng)程序的環(huán)境。該巡更機(jī)的驅(qū)動(dòng)程序是WDM類型的,采用VC++編程。

驅(qū)動(dòng)程序中對(duì)USB進(jìn)行操作的請(qǐng)求都應(yīng)調(diào)用系統(tǒng)例程,將其轉(zhuǎn)化為一個(gè)URB結(jié)構(gòu),即USB請(qǐng)求塊(USB Request Block),然后使用系統(tǒng)級(jí)的IRP將其提交。該驅(qū)動(dòng)程序由四個(gè)模塊組成:初始化模塊、即插即用管理模塊、電源管理模塊和I/O控制模塊。

①初始化模塊。DriverEntry為驅(qū)動(dòng)程序的入口處,通過(guò)它來(lái)執(zhí)行大量的初始化函數(shù)。

②即插即用管理模塊實(shí)現(xiàn)設(shè)備的熱插拔和動(dòng)態(tài)配置。驅(qū)動(dòng)程序初始化完成后,接著對(duì)設(shè)備進(jìn)行初始化,這主要是通過(guò)即插即用(PnP)管理器調(diào)用驅(qū)動(dòng)程序中的AddDevice和IRP_MJ_PNP兩個(gè)例程來(lái)完成的。當(dāng)驅(qū)動(dòng)程序從PnP管理器中收到IRP_MN_START_DEVICE請(qǐng)求時(shí),驅(qū)動(dòng)程序啟動(dòng)設(shè)備,并且準(zhǔn)備好處理I/O操作。

③電源管理模塊負(fù)責(zé)設(shè)備的喚醒和掛起。電源管理器(powermanager)從整個(gè)系統(tǒng)的角度來(lái)管理電源,所有與電源相關(guān)的IRP都是由它發(fā)出的,它發(fā)出的請(qǐng)求包可以指定一種新的電源狀態(tài)以及查詢或更改一種狀態(tài)。支持電源管理的驅(qū)動(dòng)程序,在最大程序地幫助Windows合理地利用資源方面起著重要作用。值得注意的是,與電源相關(guān)的IRP必須在同步操作上有非常嚴(yán)格的要求。例如,任何時(shí)候在一個(gè)PDO(物理設(shè)備對(duì)象)中。只能有一個(gè)IRP_MN_QUERY_POWER或者IRP_MN_SET_POWER;電源IRP的處理要盡可能地快等。

④I/O控制模塊完成輸入輸出請(qǐng)求的大部分功能。設(shè)備的控制由設(shè)備控制例程(IRP_MJ_DEVICE_CONTROL)負(fù)責(zé),主要是對(duì)設(shè)備進(jìn)行一些操作命令的發(fā)送或者標(biāo)志的讀取。數(shù)據(jù)讀寫(xiě)主要由IRP_MJ_READ和IRP_MJ_WRITE兩個(gè)例程完成,只需在AddDevice中申請(qǐng)一個(gè)符號(hào)鏈接,并且在StartDevice中將此符號(hào)鏈接激活即可。

    2.3 應(yīng)用程序設(shè)計(jì)

在Win32系統(tǒng)中,每一個(gè)設(shè)備對(duì)象都抽象為文件,此時(shí)的應(yīng)用程序只需通過(guò)幾條簡(jiǎn)單的文件操作API函數(shù),就可以實(shí)現(xiàn)與驅(qū)動(dòng)程序中某個(gè)設(shè)備的通信。在本設(shè)計(jì)中,應(yīng)用程序是該電子巡更系統(tǒng)的中心,采用Visual C++編程。其主要功能有:?jiǎn)?dòng)或關(guān)閉USB設(shè)備、檢查USB設(shè)備、設(shè)置巡更參數(shù)、從巡更機(jī)中讀取數(shù)據(jù)以及顯示、比較、存儲(chǔ)數(shù)據(jù)等。

結(jié)語(yǔ)

USB接口因其具有諸多優(yōu)點(diǎn),近年來(lái)為計(jì)算機(jī)外設(shè)的開(kāi)發(fā)熱點(diǎn),尤其是USB2.0標(biāo)準(zhǔn)的推出,其傳輸速率可達(dá)480Mb/s,使其真正意義上成為了一種通用串行總線。而根據(jù)筆者的實(shí)際開(kāi)發(fā)經(jīng)驗(yàn),Philips公司的PDIUSBD12是一種性能優(yōu)良、經(jīng)濟(jì)、實(shí)用、高效的USB接口器件,很適合投資少、周期短的開(kāi)發(fā)項(xiàng)目,而且可以根據(jù)自己的實(shí)際情況靈活地選擇組件,相信其在各領(lǐng)域必有廣闊的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉