單片機IP技術在智能小區系統中的應用
發布時間:2007/8/30 0:00:00 訪問次數:904
引言
住宅小區智能化(或稱為"智能小區")的概念是本世紀90年代引入國內的,它是以家庭智能化為核心,包括遠程抄表,家庭防盜報警,醫療救助,家電控制等功能,采用系統集成方法,建立一個溝通小區內部住戶之間、住戶與小區綜合服務中心之間、住戶與外部社會的綜合信息交互系統,從而為住戶營造一個安全、舒適、便捷、高效的居住和生活環境。現行的智能小區系統多是以RS485、CAN總線、LONWORKS等總線進行聯網,布線復雜,沖突多,系統不夠穩定且涉及到消防安全及成本的考慮。而以太網實現聯網,布線簡單,且也比CAN、LONWOKS等更便宜,更有利于小區智能化產品的兼容和統一。在當今計算機技術及信息技術不斷發展的情況下,以及人們對家居生活的需求及觀念上的變化,電話、電視、計算機三網有合一的趨勢,將來智能小區的發展必定是以太網的天下。所以針對當前行業的發展情況和趨勢,對于基于IP的以太網家庭智能終端的研究順應時代發展的潮流,有一定的現實意義。
智能小區系統結構
本文中提出的小區智能系統由小區計算機管理系統、網絡交換設備、家庭智能終端(CDT)三個主要部分組成,網絡結構如圖1所示。
小區管理系統是指安裝在小區管理中心,完成全小區內用戶數據終端數據采集和處理的計算機系統,對于用戶數較多的系統,可以采用客戶機/服務器(C/S)結構。小區管理系統分為監控微機(Client)和服務器(Server)兩個部分,客戶端只作數據采集使用,數據的處理在服務器端進行。小區管理系統的功能包括:顯示用戶終端的上網狀態,接受并顯示住戶報警,讀取水電氣表數據并產生報表,報警日志處理,系統管理等。用戶數據終端:用戶終端用來與管理系統通訊、并完成對各種計量信號和報警信號的采集、應答主機的呼叫、回答上網狀態,并提供操作面板歡迎用戶查詢。
用戶終端硬件結構及RTL8019的配置
1、用戶終端結構硬件結構圖如圖2所示:系統由兩塊單片機組成,一塊負責五表讀數、安防紅外遙控器及安防信號的采集工作,另一塊負責驅動RTL8019通訊、家電控制,并響應鍵盤及驅動液晶顯示。兩塊MCU之間通過串口交換數據。
2、RTL8019的配置RTL8019是一款高度集成的以太網控制芯片,它有兩種工作模式:一種是跳線模式jumper,一種是非跳線模式 jumperless,后者也支持Plug and Play。在單片機中一般都采用跳線模式選項。I/O端口的基地址IO_BASE_ADDRESS由單片機和8019之間的接線決定。此外8019還具有8個IRQ接口,本系統中沒用到IRQ,采用查詢方式。
8019輸入輸出地址共32個,地址偏移量為00H――1FH:其中00H--0FH共16個地址,為寄存器地址,寄存器分成4頁PAGE0――PAGE3,與NE2000兼容的寄存器只有3頁(Page0-Page2),為了保證驅動程序對所有Ne2000的網卡有效,不要去操作第四頁的寄存器。
10H--17H共8個地址,為DMA地址。18H--1FH共8個地址,為軟復位端口。8019的硬件復位很簡單,只需在上電時對RSTDRV輸出一高電平就可以了。8019復位的過程將執行一些操作,比如將93c46讀入,將內部寄存器初始化等,至少需要2毫秒的時間。推薦等待更久的時間之后才對網卡操作,比如100毫秒之后才對它操作,以確保完全復位。
ICS16B=LOW時采用8位DMA操作模式,上面的地址中只有18個是有用的: 00H--0FH共16個寄存器地址。10H DMA地址 (10H--17H的8個地址是一樣的,都可以用來做DMA端口,只要用其中的一個就可以了)。1FH 復位地址(18H到1FH共8個地址都是復位地址,每個地址的功能都是一樣的,只要其中的一個就可以了,但實際上只有18H、1AH、1CH、1EH這幾個復位端口是有效的,其他不要使用,有些兼容卡不支持19H、1BH、1DH等奇數地址的復位)。
網卡驅動及TCP/IP協議棧的簡化
從程序員的角度來說,對8019的操作是比較簡單的,驅動程序只需要將要發送的數據按一定的格式寫入芯片并啟動發送命令,8019會自動添加接收狀態、下一頁指針、以太網幀長度和校驗FCS段,并將數據包轉換成物理幀格式在物理信道上傳輸。反之,8019收到物理信號后將其還原成數據,按指定格式存放在芯片RAM中以便主機程序取用。簡言之就是8019完成數據包和電信號之間的相互轉換:數據包<===>電信號。以太網協議由芯片硬件自動完成,對程序員透明。驅動程序有3種功能:芯片初始化、收包、發包。發送數據包是先將待發送的數據包通過DMA寫操作存入網卡芯片RAM,并給出發送緩沖區首地址(TPSR0、TPSR1)和數據包長度(TBCR0,TBCR1),啟動發送命令,網卡芯片會自動按以太網協議完成發送并將結果寫入狀態寄存器。接收數據包時,采用查詢的方式,根據CURR==BNRY+1?可以判斷是否收到新的數據包,如果有則通過DMA讀操作從網卡芯片RAM讀出數據。發送、接收子程序如下所示:
引言
住宅小區智能化(或稱為"智能小區")的概念是本世紀90年代引入國內的,它是以家庭智能化為核心,包括遠程抄表,家庭防盜報警,醫療救助,家電控制等功能,采用系統集成方法,建立一個溝通小區內部住戶之間、住戶與小區綜合服務中心之間、住戶與外部社會的綜合信息交互系統,從而為住戶營造一個安全、舒適、便捷、高效的居住和生活環境。現行的智能小區系統多是以RS485、CAN總線、LONWORKS等總線進行聯網,布線復雜,沖突多,系統不夠穩定且涉及到消防安全及成本的考慮。而以太網實現聯網,布線簡單,且也比CAN、LONWOKS等更便宜,更有利于小區智能化產品的兼容和統一。在當今計算機技術及信息技術不斷發展的情況下,以及人們對家居生活的需求及觀念上的變化,電話、電視、計算機三網有合一的趨勢,將來智能小區的發展必定是以太網的天下。所以針對當前行業的發展情況和趨勢,對于基于IP的以太網家庭智能終端的研究順應時代發展的潮流,有一定的現實意義。
智能小區系統結構
本文中提出的小區智能系統由小區計算機管理系統、網絡交換設備、家庭智能終端(CDT)三個主要部分組成,網絡結構如圖1所示。
小區管理系統是指安裝在小區管理中心,完成全小區內用戶數據終端數據采集和處理的計算機系統,對于用戶數較多的系統,可以采用客戶機/服務器(C/S)結構。小區管理系統分為監控微機(Client)和服務器(Server)兩個部分,客戶端只作數據采集使用,數據的處理在服務器端進行。小區管理系統的功能包括:顯示用戶終端的上網狀態,接受并顯示住戶報警,讀取水電氣表數據并產生報表,報警日志處理,系統管理等。用戶數據終端:用戶終端用來與管理系統通訊、并完成對各種計量信號和報警信號的采集、應答主機的呼叫、回答上網狀態,并提供操作面板歡迎用戶查詢。
用戶終端硬件結構及RTL8019的配置
1、用戶終端結構硬件結構圖如圖2所示:系統由兩塊單片機組成,一塊負責五表讀數、安防紅外遙控器及安防信號的采集工作,另一塊負責驅動RTL8019通訊、家電控制,并響應鍵盤及驅動液晶顯示。兩塊MCU之間通過串口交換數據。
2、RTL8019的配置RTL8019是一款高度集成的以太網控制芯片,它有兩種工作模式:一種是跳線模式jumper,一種是非跳線模式 jumperless,后者也支持Plug and Play。在單片機中一般都采用跳線模式選項。I/O端口的基地址IO_BASE_ADDRESS由單片機和8019之間的接線決定。此外8019還具有8個IRQ接口,本系統中沒用到IRQ,采用查詢方式。
8019輸入輸出地址共32個,地址偏移量為00H――1FH:其中00H--0FH共16個地址,為寄存器地址,寄存器分成4頁PAGE0――PAGE3,與NE2000兼容的寄存器只有3頁(Page0-Page2),為了保證驅動程序對所有Ne2000的網卡有效,不要去操作第四頁的寄存器。
10H--17H共8個地址,為DMA地址。18H--1FH共8個地址,為軟復位端口。8019的硬件復位很簡單,只需在上電時對RSTDRV輸出一高電平就可以了。8019復位的過程將執行一些操作,比如將93c46讀入,將內部寄存器初始化等,至少需要2毫秒的時間。推薦等待更久的時間之后才對網卡操作,比如100毫秒之后才對它操作,以確保完全復位。
ICS16B=LOW時采用8位DMA操作模式,上面的地址中只有18個是有用的: 00H--0FH共16個寄存器地址。10H DMA地址 (10H--17H的8個地址是一樣的,都可以用來做DMA端口,只要用其中的一個就可以了)。1FH 復位地址(18H到1FH共8個地址都是復位地址,每個地址的功能都是一樣的,只要其中的一個就可以了,但實際上只有18H、1AH、1CH、1EH這幾個復位端口是有效的,其他不要使用,有些兼容卡不支持19H、1BH、1DH等奇數地址的復位)。
網卡驅動及TCP/IP協議棧的簡化
從程序員的角度來說,對8019的操作是比較簡單的,驅動程序只需要將要發送的數據按一定的格式寫入芯片并啟動發送命令,8019會自動添加接收狀態、下一頁指針、以太網幀長度和校驗FCS段,并將數據包轉換成物理幀格式在物理信道上傳輸。反之,8019收到物理信號后將其還原成數據,按指定格式存放在芯片RAM中以便主機程序取用。簡言之就是8019完成數據包和電信號之間的相互轉換:數據包<===>電信號。以太網協議由芯片硬件自動完成,對程序員透明。驅動程序有3種功能:芯片初始化、收包、發包。發送數據包是先將待發送的數據包通過DMA寫操作存入網卡芯片RAM,并給出發送緩沖區首地址(TPSR0、TPSR1)和數據包長度(TBCR0,TBCR1),啟動發送命令,網卡芯片會自動按以太網協議完成發送并將結果寫入狀態寄存器。接收數據包時,采用查詢的方式,根據CURR==BNRY+1?可以判斷是否收到新的數據包,如果有則通過DMA讀操作從網卡芯片RAM讀出數據。發送、接收子程序如下所示: