新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計應(yīng)用 > 以太網(wǎng)智能家居控制器的設(shè)計

以太網(wǎng)智能家居控制器的設(shè)計

作者: 時間:2010-03-19 來源:網(wǎng)絡(luò) 收藏

1引言
隨著現(xiàn)代 4C技術(shù)(計算機(jī)技術(shù)、控制技術(shù)、通信技術(shù)和圖形顯示技術(shù))的迅速發(fā)展以及人們生活水平的不斷提高,已經(jīng)成為智能建筑的一個重要分支。本文旨在一種成本低廉、面向普通家庭的、集本地控制和遠(yuǎn)程控制于一體的,用于控制室內(nèi)家電的運(yùn)行狀態(tài)和環(huán)境參數(shù)的采集。中本地控制采用紅外技術(shù),遠(yuǎn)程控制通過開發(fā)精簡的 TCP/IP協(xié)議并結(jié)合 HTTP協(xié)議,實(shí)現(xiàn)嵌入式 Web服務(wù)器,從而使用戶通過任意的瀏覽器便可對家居中的設(shè)備和環(huán)境進(jìn)行控制和監(jiān)測。 2 的硬件
智能家居采用 8位單片機(jī) W78E58B作為系統(tǒng)的核心處理單元,系統(tǒng)硬件框圖如圖 1所示。

本文引用地址:http://butianyuan.cn/article/166756.htm


本地端以紅外通信技術(shù)為基礎(chǔ),發(fā)射端采用 NB9148紅外編碼模塊,接收端采用 SJ1838進(jìn)行接收解調(diào),并將控制信號傳送給 W78E58B。外部擴(kuò)展 RAM 62256以提高單片機(jī)的數(shù)據(jù)傳輸速度和復(fù)雜的 TCP/IP協(xié)議的處理。 RS232串口通訊主要用于程序的下載和調(diào)試,以及通訊轉(zhuǎn)換接口。GAL器件 ATF16V8B用于片選,以節(jié)約系統(tǒng)空間資源。

DS18B20用于環(huán)境溫度采集。
遠(yuǎn)程控制的硬件平臺由 W78E58B和控制器 RTL8019AS等器件組成。RTL8019AS是針對 ISA總線設(shè)計的,用于實(shí)現(xiàn)網(wǎng)絡(luò)的物理層協(xié)議的專用控制芯片。RTL8019AS內(nèi)置了 10BASE-T收發(fā)器,使用跳線方式,通過可提高網(wǎng)絡(luò)通信的抗干擾能力的網(wǎng)絡(luò)濾波器 20F-01,再與 RJ-45相連。 E2PROM AT24C512用于實(shí)現(xiàn)嵌入式 Web服務(wù)器訪問的網(wǎng)頁文件存儲,同時也用于存儲用戶的一些設(shè)置,如 IP地址、網(wǎng)關(guān)以及網(wǎng)卡芯片 MAC地址等參數(shù)。

3 以太網(wǎng)智能家居控制器的軟件設(shè)計
以太網(wǎng)智能家居控制器的軟件實(shí)現(xiàn)是在單片機(jī)上完成的,主要包括虛擬 I2C總線讀寫程序、紅外接收和控制程序、溫度采集程序、網(wǎng)卡芯片 RTL8019AS驅(qū)動程序、嵌入式 Web服務(wù)器的實(shí)現(xiàn)以及其他處理程序。本文中只討論網(wǎng)卡芯片的驅(qū)動程序和嵌入式 Web服務(wù)器的實(shí)現(xiàn)。
3.1 以太網(wǎng)控制器 RTL8019AS的驅(qū)動程序
RTL8019AS的驅(qū)動程序是 TCP/IP協(xié)議與底層物理設(shè)備的程序接口,它屏蔽了底層硬件處理的細(xì)節(jié),并向上層軟件提供與硬件無關(guān)的接口。 TCP/IP協(xié)議只要調(diào)用以太網(wǎng)驅(qū)動程序即可完成以太網(wǎng)數(shù)據(jù)的接收和發(fā)送。網(wǎng)卡芯片 RTL8019AS的驅(qū)動程序包括 RTL8019AS初始化程序、數(shù)據(jù)包接收程序和數(shù)據(jù)包發(fā)送程序。
3.1.1 RTL8019AS初始化
RTL8019AS通過 RSTDRV管腳進(jìn)行復(fù)位操作。復(fù)位后,先對 RTL8019AS初始化。初始化操作包含設(shè)置 PSTART=0x4c,PSTOP=0x80,使 0x40~0x4b為網(wǎng)卡的發(fā)送緩沖區(qū),0x4c~ 0x7f為網(wǎng)卡的接收緩沖區(qū);設(shè)置 RCR=0xcc,僅接收目標(biāo)物理地址和設(shè)置物理地址一致的數(shù)據(jù)包、廣播地址數(shù)據(jù)包和多點(diǎn)播送地址包;設(shè)置 TCR=0xe0,工作在正常模式;設(shè)置 DCR=0xc8,使用 FIFO緩存及 8位數(shù)據(jù) DMA;設(shè)置 IMR=0x00,屏蔽所有中斷;組播地址寄存器 MAR0~MAR7,均設(shè)置為 0x00;設(shè)置網(wǎng)卡物理地址寄存器 PAR0~PAR5;設(shè)置 CR=0x22,選擇頁 0的寄存器,進(jìn)入正常工作狀態(tài);設(shè)置 ISR=0xff,清除所有中斷標(biāo)志位。
3.1.2 RTL8019AS數(shù)據(jù)發(fā)送

首先將待發(fā)送的數(shù)據(jù)按以太網(wǎng)數(shù)據(jù)幀格式封裝后,再置 CR寄存器為 12H,啟動遠(yuǎn)程寫 DMA,RTL8019AS會自動將這幀數(shù)據(jù)送至 RTL8019AS的數(shù)據(jù)發(fā)送緩沖區(qū),并將結(jié)果寫入狀態(tài)寄存器。最后將 CR置為 3EH,啟動本地寫 DMA后將數(shù)據(jù)送入 FIFO寄存器,并發(fā)送到以太網(wǎng)上。程序流程圖見圖 2所示。

tcp/ip相關(guān)文章:tcp/ip是什么



上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉