1. 概述 現有的插座在其使用方式、功能以及外形特征等諸方面都表現出多樣化的趨勢。有的增加了保險功能、電源指示功能、開(kāi)關(guān)功能,有的增加了調壓功能。這些插座的功能無(wú)論怎樣,只能是單一的目的:為用電設備提供電源接口。它們的共同缺陷就是不具有信息化和智能化功能。為了實(shí)現插座的信息化和智能化,我們將研究設計的智能信息系統與插座結合,將該智能設備與電源插座合為一體,設計成多功能智能監測插座。該插座由于在建筑電氣安裝時(shí)一次性固定完成,采用照明電源供電,人們使用時(shí)就好象使用普通電源插座一樣,免除了過(guò)多的連接線(xiàn)。 2.系統功能與組成 2.1功能 該多功能智能監測插座是在普通插座的基礎上,結合信息的需要,增加了如下功能: 1) 對接入插座的電器的電壓、電流、頻率進(jìn)行監測。 2) 對插座工作環(huán)境溫度進(jìn)行監測。 3) 將監測到的電器的工作電壓或電流與其額定值進(jìn)行比較,如果超過(guò)額定值,主機就發(fā)送命令給執行單元,自動(dòng)切斷該電器的電源,實(shí)現了保護功能。 4) 通信功能:將監測到的信息經(jīng)過(guò)通信接口傳給上位機,在家庭內部或工業(yè)現場(chǎng)可以連成一個(gè)局域網(wǎng)。在主機端人們可以通過(guò)一個(gè)人機界面定期或不定期查詢(xún)接入插座的諸電器的工作狀況。如果想實(shí)現進(jìn)一步的方便,可以將該局域網(wǎng)通過(guò)公用電話(huà)網(wǎng)連到Internet 上,這樣就可以在家庭以外的地方用手機或PC機隨時(shí)方便地查詢(xún)家用電器的工作情況了。 2. 2組成 該智能監測插座由電源系統、監測系統、控制系統、通信系統四部分組成。 (1)電源系統:完成照明電源到直流穩壓電源的變換,提供給該智能系統工作電源。由隔離降壓、整流、濾波、穩壓等電路組成。 (2)監測系統:由電壓傳感器、電流傳感器和溫度傳感器以及模/數變換電路組成,負責信息的采集處理。 (3)控制系統:由微處理機(單片機)和執行器件組成。微控制器一方面控制采集部分的模擬量到數字量的轉換;另一方面接受上位機的命令,然后將這個(gè)命令交給執行單元去完成,比如切斷用電器的電源。 (4通信系統:該插座的通信系統主要是在其內部增加一個(gè)通信接口,以便聯(lián)網(wǎng)和服務(wù)器進(jìn)行通信。由于該設備構成局域網(wǎng),在設計要采用分層次的設計思想,在這篇文章里,只考慮設計最低的一層:物理層的通信實(shí)現。 3. 物理層通信的設計 在串行通信口的缺點(diǎn)中有三項最為突出:低速、復雜的電纜和端口數的限制。通用串行總線(xiàn)(USB)不僅克服了所有這三項缺點(diǎn),而且具有支持熱插拔、容易擴展、低成本、低干擾等優(yōu)點(diǎn)。USB標準已經(jīng)成為業(yè)界普遍認同的一種事實(shí)上的接口標準,支持這一標準各種新產(chǎn)品正在大量涌現,而且現在的微型計算機上都有USB接口,所以我們就選擇USB作為該多功能插座和主機串行通信的接口。 3.1 USB接口芯片及其工作原理 在這篇文章中我們采用Philips公司推出的PDIUSBD12芯片,這是一種價(jià)格便宜、功能完善的并行接口芯片,它支持多路復用、非多路復用和DMA并行傳輸。PDIUSBD12接口芯片遵從協(xié)議USB1.1,適合于不同用途的傳輸類(lèi)型。PDIUSBD12需要外接微控制器(MCU)來(lái)進(jìn)行協(xié)議處理和數據交換,它對MCU沒(méi)有特殊要求,而且接口方便靈活,因此設計師可以選用自己熟悉的MCU對芯片進(jìn)行控制,也可利用Philips公司的固件(firmware)結構來(lái)縮短開(kāi)發(fā)時(shí)間、降低風(fēng)險、減小投資。 性能特點(diǎn):PDIUSBD12除了具有USB設備的一般特性外,還具有如下特點(diǎn): (1)是一種高性能的USB接口芯片,其內部集成有SIE(Serial Interface Engine)、320字節的FIFO、收發(fā)器和電壓調節器。 (2)適用于大部分設備類(lèi)規范?膳c任何外部微控制器/微處理器實(shí)現高速并行接口,其速度可高達2Mbit/s。 (3)可進(jìn)行完全獨立的DMA操作。 (4)主端點(diǎn)配置有雙緩沖,因而可提高數據的吞吐量、減小數據傳輸時(shí)間,輕松實(shí)現數據的實(shí)時(shí)傳輸。 (5)當采用同步傳輸方式時(shí),數據的傳輸速度為1Mbit/s;而采用批量傳輸方式的速度為1Mbyte/s。在使用上述方式進(jìn)行數據傳輸時(shí),可方便地使用多種中斷方式。 (6)帶有可編程的時(shí)鐘輸出,與USB總線(xiàn)的連接可通過(guò)軟件來(lái)控制(Soft Connect TM)。 (7)有兩種工作電壓可供選擇:分別為3.3±0.3V和3.6~5.5V。 (8)輸出和數據傳輸狀態(tài)可通過(guò)USB連接指示燈來(lái)監控。 3.2 通信硬件電路設計 本文我們選用89C52單片機作為該系統的微控制器。PDIUSBD12和89C52的電路連接如圖1所示: 圖1 USB接口通信電路 3.3 通信系統軟件設計 3.3.1 USB設備驅動(dòng)程序開(kāi)發(fā) Windows2000提供了一些常見(jiàn)USB設備的驅動(dòng)程序,但是要使D12構成的USB設備正常工作仍需要自己編寫(xiě)驅動(dòng)程序。盡管系統已經(jīng)提供了很多標準接口函數,但編制驅動(dòng)程序仍然是USB開(kāi)發(fā)中最困難的,通常采用Windows DDK來(lái)實(shí)現。 3.3.2 USB設備固件(firmware)設計 設備固件是設備運行的核心,采用匯編語(yǔ)言設計。其主要功能是控制芯片PDIUSBD12接受并處理USB驅動(dòng)程序的請求(如請求設備描述符、請求或設置設備狀態(tài)、請求設備設置、請求或設置設備接口等共10種USB1.1標準請求);控制芯片PDIUSBD12接受應用程序的控制指令;控制A/D模塊的數據采集;通過(guò)PDIUSBD12存儲數據并實(shí)時(shí)上傳PC。 下位機程序主要的工作是初始化D12,通過(guò)D12進(jìn)行數據傳輸以及按協(xié)議對數據進(jìn)行格式轉換。USB單片機控制程序通常由三部分組成:第一,初始化部分,完成單片機和所有的外圍電路(包括D12)的初始化;第二,主循環(huán)部分,等待來(lái)自數據采集設備或上位機的數據,并啟動(dòng)數據格式轉換程序,進(jìn)行數據通信,是固件的主體部分;第三,中斷服務(wù)程序,由上位機和數據采集設備觸發(fā),進(jìn)行一些低工作量的實(shí)時(shí)處理(如置相應標志位),然后在主循環(huán)部分對數據作進(jìn)一步的處理。 PDIUSBD12的初始化過(guò)程如下: (1) 設置地址使能; (2) 設置端點(diǎn)(EndPoint)使能(這時(shí)候LED亮); (3) 軟斷開(kāi)(Disconnect); (4) 延時(shí)(1~2s); (5) 軟連接(Soft Connect ,用Set Mode命令,此時(shí)LED滅); (6) 中斷使能,等待中斷。 (7)響應來(lái)自主機的Setup包,完成枚舉。步驟3~5就是利用Soft Connect TM技術(shù),不必進(jìn)行物理插拔而使主機初始化USB總線(xiàn)。雖然USB協(xié)議對枚舉過(guò)程作了統一的規定,但是不同公司的芯片實(shí)現起來(lái)可能有所不同。USB枚舉的過(guò)程實(shí)際上就是主機和USB設備的一個(gè)握手過(guò)程:主機發(fā)送出包含某個(gè)枚舉請求的Setup包,USB設備響應該請求并返回必要的信息。在主機得到USB通信所需要的所有USB設備的信息之后,枚舉即告結束。 D12構成的USB設備的枚舉過(guò)程如下:(1)Get Device Descriptor:主機請求代碼為8006000100004000,然后89C52通過(guò)D12發(fā)送設備描述符,第一次只需發(fā)送設備描述的前8個(gè)字節,如:1201000100000010。(2)Set Address:主機請求代碼為0005020000000000,說(shuō)明主機設置其地址為0X02,收到該請求后D12只需使能該地址(0X82),并對控制輸入端寫(xiě)0長(cháng)度的數據。(3)讀取全部Device Descriptor:主機請求代碼為8006000100001200,與1不同的是此時(shí)是讀取全部設備描述符,一般為18個(gè)字節,可以分為多次傳輸,D12發(fā)送的前8字節與1相同,后10個(gè)字節為:71048888000100000001。其中,前兩個(gè)字節是廠(chǎng)商ID(VID),本例中的為0X0471,即分配給Philips公司的ID號。后兩個(gè)字節是設備ID(PID),設計定義為0X8888。VID和PID決定了驅動(dòng)程序的匹配,一定要與最后生成的主機驅動(dòng)程序一致。(4)Get Config Descriptor:主機請求代碼為8006000200000900,根據USB協(xié)議的定義,第四字節的0X02表明該請求是一配置描述符請求。D12發(fā)送9字節的配置描述符給主機,為09022e000101006001。(5)讀取全部Config Descriptor:主機請求代碼為8006000200001200,此時(shí)D12必須把包括配置描述符、接口描述符、各端點(diǎn)(D12為四個(gè))的描述符在內的所有的配置情況分多次發(fā)送給主機。(6)如果以上步驟都正確,主機將找到新設備,提示安裝驅動(dòng)程序,否則找到未知設備,不可用。安裝驅動(dòng)程序后,以后的每次設備插入,枚舉次序與以上步驟略有不同,之后會(huì )有Set Configuration、Get Configuration和Get Interface等調用。 3.3.3系統應用程序設計 PC機應用程序是該插座數據采集系統的中心,采用VC++6.0編程。其功能主要有:開(kāi)啟或關(guān)閉USB設備、檢測USB設備、設置USB數據傳輸管道(pipe)、設置A/D狀態(tài)和數據采集端口、實(shí)時(shí)從USB接口采集數據、存儲顯示并分析數據。程序主框圖如圖2所示: 4.工業(yè)用的智能監測插座 4.1 USB通信在工業(yè)現場(chǎng)的局限 USB電纜的最大傳輸距離是5米,因此上述的USB通信方案僅適用于家庭用的監測插座。即使增加了中繼或HUB,USB傳輸距離通常也不超過(guò)幾十米,這對工業(yè)現場(chǎng)而言顯然是太小了。目前,工業(yè)現場(chǎng)有大量采用RS-485傳輸數據的采集設備。RS-485總線(xiàn)傳輸距離可以達到1200m以上,并且可以?huà)旖佣鄠(gè)設備。不足之處是傳輸速度慢、可靠性差、需要板卡的支持、成本高、安裝麻煩等。RS-485的這些缺點(diǎn)恰好能被USB所彌補,而USB傳輸距離的限制又是RS-485的優(yōu)勢所在。為此,我們采用一種RS-485和USB的接口轉換卡來(lái)解決上述問(wèn)題。 4.2 RS-485和USB轉換卡的原理與硬件電路圖 圖2 應用程序主框圖 4.2.1 轉換卡的工作原理 在采集現場(chǎng),數據采集設備將采集的數據利用485總線(xiàn)進(jìn)行傳輸。在主機端,利用轉換卡接收來(lái)自485總線(xiàn)的數據并通過(guò)USB接口傳送至PC進(jìn)行分析處理。而主機向設備發(fā)送數據的過(guò)程正好相反,主機向USB口發(fā)送數據,通過(guò)485~USB轉換卡轉換為485協(xié)議向遠端輸送。轉換卡的主要功能是完成信號電平轉換和數據格式轉換。RS-485和USB電平的轉換主要依靠硬件,通過(guò)各自的接口芯片將信號轉換為T(mén)TL電平。數據格式的轉換則主要是軟件方面的工作, MCU讀到某一個(gè)接口的數據,然后按照另一個(gè)接口協(xié)議中對數據幀的要求進(jìn)行打包。設計的核心是通過(guò)MCU協(xié)調兩個(gè)接口的數據收發(fā),由于相當部分的工作已經(jīng)由各個(gè)接口電路完成,所以設計工作量大為減少。 4.2.2 轉換卡硬件電路 硬件部分主要是MCU與485和USB的接口電路設計,如圖3所示。MCU采用普通8051,USB接口芯片為PDIUSBD12,485接口芯片為MAX485。 4.3 轉換卡軟件設計 軟件設計包括單片機軟件(固件)設計和主機部分軟件設計。單片機軟件使用偉福公司提供的WAVE仿真軟件開(kāi)發(fā),并通過(guò)其仿真器進(jìn)行在線(xiàn)調試。主機部分軟件又包括驅動(dòng)程序和應用程序兩部分,分別使用DDK和VC6.0生成。 圖3 USB接口轉換卡電路圖 5.結束語(yǔ) 對于該智能監測插座的研究目前仍然處于理論的設想與設計過(guò)程中,要做出產(chǎn)品來(lái),仍然有很長(cháng)的路要走,需要更多的人投入更多的精力。尤其是利用USB通信這一塊,USB驅動(dòng)程序的編寫(xiě)是個(gè)難點(diǎn)。隨著(zhù)技術(shù)的不斷更新、完善和發(fā)展,相信該多功能插座的實(shí)現會(huì )越來(lái)越容易。 |