新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于以太網和PSTN的智能家居遠程控制系統

        基于以太網和PSTN的智能家居遠程控制系統

        ——
        作者:遼寧工程技術大學 喬和 姚大勇 寇玉生 時間:2007-01-26 來源:《單片機與嵌入式系統應用》 收藏

        隨著互聯網的日益普及,信息共享程度在不斷提高,各種儀器儀表,家電設備以及工業生產中的數據采集與控制正慢慢走向網絡化。數字化家居系統的產生,使人們可以通過互聯網對家用電器進行遠程控制及安防報警,目前,很多智能家居產品還停留在電話語音控制或互聯網控制上,前者存在信息反饋及可視化的問題,后者需要家庭網關的支持,隨著嵌入式網絡產品的問世,通過嵌入式以太網控制芯片和pctn鏈路,實現家居數據的網絡共享和遠程監控已成為未來智能家居的發展趨勢,本文對智能家居系統的遠程控制技術進行了分析,提出了基于以太網和pstn鏈路的雙冗余控制系統,充分發揮了兩種網絡的優勢互補。

        1 系統功能與結構

        該系統以pc系列單片機pic16f877為核心,由防盜報警探測單元、繼電器輸出單元、pstn處理單元和以太網絡接口單元組成,防盜報警探測單元完成防火、防盜等信號的探測任務,pstn處理單元負責電話鏈路的連接和語音處理,完成報警信息以及遠程控制信息的解碼任務,而以太網絡接口單元用來完成網絡接口任務,負責網絡信息的雙向傳遞,系統結構如圖1所示。

        本文引用地址:http://www.104case.com/article/21170.htm

        2 系統硬件構成

        2.1 單片機系統

        單片機采用microchip公司的pic16f877。它是pic系列的中級產品,采用精簡指令集和指令與數據分離的哈佛總線結構,功耗低,運行速度高,代碼壓縮率高,與其他8位單片機相比具有較大的優勢,該單片機集成度高,外圍接口電路簡單,內部集成看門狗電路,a/d轉換電路、捕捉/比較/脈寬調制電路、主同步串行端口mssp模塊,并可以通過控制字方便的開啟和關閉。

        2.2 以太網絡接口設計

        該電路主要由rj45接口、10m/100m耦合器隔離濾波器tg110-s050n2和以太網控制芯片rtl8019as組成。rtl8019as與單片機的接口電路如圖2所示。

        rtl8019as是realtek公司全雙工以太網控制芯片,支持pnp自動探測,內嵌16kb sram,用于收發緩沖。內部集成了介質訪問控制子層(mac)和物理層的性能,兼容ethernetⅱ和ieee802.3的10base2和10baset。

        rtl8019as是針對isa總線設計的,在pc上用來實現網絡的物理層協議,主要包括網卡與網絡電纜的物理連接、介質訪問控制、數據幀的拆裝、幀的發送與接收、錯誤校驗、數據信號的編解碼、數據的串并行轉換等功能,這些設置需要對rtl8019as的若干寄存器進行設置。

        rtl8019as有三種工作方式:跳線方式,芯片的i/o和中斷由跳線決定,即插即用方式,軟件自行配置,免跳線方式,芯片的i/o和中斷由外接存儲器內容決定,在嵌入式應用場合,為降低成本,減小連接,采用第一種方式,所以jp引腳接高電平。

        rtl8019as可以兼容8位和16位工作模式。圖2中,iocs168是16位i/o選擇引腳,如果rtl8019as上電復位時該引腳為低電平,rtl8019as將選擇8位模式;如果該引腳為高電平,將選擇16位工作模式,由于pic16f877單片機為8位數據總線,因此要工作在8位模式,所以該引腳接地。此時,rtl8919as只需8根數據線sd0-sd7。

        pic16f877的b口rb0-rb4與rtl8019as的低五位地址線sa0-sa4相連;re0-re2作為控制線分別與iorb、iowr、reset相連;d口與rtl8019as的低8位數據線sd0-sd7相連。

        rtl8019as的4個引腳tpin+,tpin-,tpout+和tpout-,分別和耦合隔離濾波器tg110-s050n2對應輸入端口相連,最后與rj45接口相連。

        24lc256是串行eeprom存儲器,采用cmos工藝,兼容i2c總線,這里通過pci內部硬件接口模塊mssp(rc3、rc4引腳)與其相聯,用來存儲web服務器的配置信息。

        2.3 時鐘和wdt

        為保證單片機時鐘精度,設計采用外接時鐘源從osc1引腳輸入[1],這里采用集成電路74f04,電阻和晶振構成串聯諧振式時基振蕩器,如圖3所示。

        pic16f877內置的看門狗是一個擁有獨立時鐘源、計時周期約18ms、自由運行的計時器,其工作無需任何外圍器件,單片機執行程序期間,一旦wdt超時溢出,將使單片機產生復位操作,即使單片機處于睡眠狀態,其溢出也將使單片機被喚醒,恢復正常運行狀態。

        看門狗的啟用通過系統配置字wdte位實現,即wdte=1時,看門狗將永久啟用。因此,需要在用戶主循環程序中將看門狗計時器清零(使用專用命令clrwdt)使它無法計時到最大值。

        2.4 pstn處理單元


        目前,在該方面的研究較多,相關元器件電路和理論比較成熟,本設計中該單元主要由mc145436雙音頻解碼芯片、apr9600語音錄放芯片,振鈴檢測和模擬摘掛機電路組成。

        由電話線傳來的雙音多頻及直流混合信號,經耦合器濾除電話線上的直流信號,然后送入放大器,再經過耦合電容,送入mc145436雙音頻解碼芯片。接解碼后,dv信號變為高電平,同時輸出4位代碼,對因電話鍵盤上的按鍵。

        為使用戶能夠通過電話鏈路及時了解受控家用電器的信息,使產品達到交互與智能化,系統采用apr9600語音錄放芯片完成的語音的錄放工作,該芯片具有多種手動控制方式、分段管理方便、多段控制電路簡單、采樣速度和錄放的時間可調,支持串行和并行控制。本系統中,apr9600被設置成8段并行控制模式,即msel1、msel2和m8這3個引腳均設為高電平,當re設為錄音狀態,按下m1開始錄第一段,松開鍵錄音停止,按下m2鍵開始錄第二段,松開鍵停止,如此循環,直到錄完8段,而相應的語音播放則由軟件控制,sp+和sp-引腳與電話線相接,將語音信號反饋到聽筒里。

        我國公眾電話網的傳輸線為雙線模擬線路,采用直流環路信號方式,平時掛機時的饋電電壓一般為-48v,振鈴的鈴流電壓為75±15v,25赫茲的交流電壓,用戶的摘掛機狀態是通過對直流環路上的電流通斷來實現的。掛機狀態時,直流環路斷開,饋電電流為0,摘機后,直流環路接通,饋電電流在20ma以上。
        在設計振鈴檢測與模擬摘掛機電路中,為避免高壓振鈴信號機線路及其他高壓噪聲對解碼電路和語音信號的危害,系統采用專用芯片tca3385作為鈴流檢測核心部件。該芯片是一種性能穩定的振鈴信號轉換、檢測器件,能夠承受較高電壓的沖擊,當遠程控制系統離線時,只有該芯片與電話線相連,保證了系統的完全性。

        3 軟件設計

        系統的軟件部分主要分為:電話遠程控制部分和網絡監控部分。網絡監控部分的核心和難點在于對網絡芯片的處理及tcp/ip協議棧的實現,其中包括對rtl8019as的初始化、數據發送和接收,對rtl8019as的初始化主要是對其控制寄存器進行初始化設置,這里用到其ne2000寄存器組,網卡的初始化首先要進行網卡復位,復位完成后要對網卡的工作參數進行設置,主要是對命令寄存器cr的設置,cr主要用于選擇寄存器頁,啟動或停止遠程dma操作以及執行命令,該寄存器內容如表1所列[2]。

        其中,ps1和ps0用來選擇寄存器頁;rd2、rd1和rd0三位代表要執行的功能(讀網卡內存、寫網卡內存、發送網卡數據包、完成或結束dma的讀寫操作);txp=1,發送數據包,發完自動清零;sta和stp為啟動或停止命令(10啟動、01停止)。

        網卡數據的發送和接收是通過dma來讀寫網卡內部的16kb ram來實現的。

        以上對網絡芯片的處理完成了以太網的mac層和物理層的協議,要真正實現嵌入式系統與以太網上其他設備進行通信, 需要在系統上實現tcp/ip協議,面向嵌入式應用系統的tcp/ip協議,需要在不違背協議的標準的前提下對系統的tcp/ip協議加以剪裁、改寫和移植,使其占用的存儲空間盡可能小,這里使用微芯公司提供的tcp/ip協議棧,該協議棧支持arp、ip、tcp、icmp、http及ieee802.3協議,為嵌入式應用系統提供低廉的網絡接入能力,對于數據量不大的系統較為實用。協議棧采用模塊化的設計思路,使用戶可以針對單個協議進行修改,簡化了協議的開發過程。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 荥阳市| 肇东市| 张家口市| 西青区| 于田县| 昂仁县| 牡丹江市| 讷河市| 驻马店市| 江都市| 玛沁县| 礼泉县| 平潭县| 四平市| 盈江县| 汤阴县| 广平县| 青川县| 莱西市| 江口县| 垣曲县| 古丈县| 屏边| 德惠市| 泌阳县| 弥渡县| 历史| 镶黄旗| 洪泽县| 谷城县| 莱西市| 全南县| 康保县| 石景山区| 广平县| 泾阳县| 花垣县| 盘锦市| 景泰县| 黎平县| 济源市|