單片機IP技術(shù)在智能小區(qū)系統(tǒng)中的應(yīng)用
摘要:單片機IP技術(shù)在智能小區(qū)系統(tǒng)中的應(yīng)用資訊由優(yōu)秀的流量計、流量儀生產(chǎn)報價廠家為您提供。1.引言 住宅小區(qū)智能化(或稱為"智能小區(qū)")的概念是本世紀(jì)90年代引入國內(nèi)的,它是以家庭智能化為核心,包括遠(yuǎn)程抄表,家庭防盜報警,醫(yī)療救助,家電控制等功能,采用系統(tǒng)集。更多的流量計廠家選型號價格報價歡迎您來電咨詢,下面是單片機IP技術(shù)在智能小區(qū)系統(tǒng)中的應(yīng)用文章詳情。
1.引言住宅小區(qū)智能化(或稱為"智能小區(qū)")的概念是本世紀(jì)90年代引入國內(nèi)的,它是以家庭智能化為核心,包括遠(yuǎn)程抄表,家庭防盜報警,醫(yī)療救助,家電控制等功能,采用系統(tǒng)集成方法,建立一個溝通小區(qū)內(nèi)部住戶之間、住戶與小區(qū)綜合服務(wù)中心之間、住戶與外部社會的綜合信息交互系統(tǒng),從而為住戶營造一個安全、舒適、便捷、高效的居住和生活環(huán)境。現(xiàn)行的智能小區(qū)系統(tǒng)多是以RS485、CAN總線、LONWORKS等總線進(jìn)行聯(lián)網(wǎng),布線復(fù)雜,沖突多,系統(tǒng)不夠穩(wěn)定且涉及到消防安全及成本的考慮。而以太網(wǎng)實現(xiàn)聯(lián)網(wǎng),布線簡單,且實現(xiàn)也比CAN、LONWOKS等更便宜,也更有利于小區(qū)智能化產(chǎn)品的兼容和統(tǒng)一。在當(dāng)今計算機技術(shù)及信息技術(shù)不斷發(fā)展的情況下,以及人們對家居生活的需求及觀念上的變化,、電視、計算機三網(wǎng)有合一的趨勢,將來智能小區(qū)的發(fā)展必定是以太網(wǎng)的天下。所以針對當(dāng)前行業(yè)的發(fā)展情況和趨勢,對于基于IP的以太網(wǎng)家庭智能終端的研究順應(yīng)時代發(fā)展的潮流,有一定的現(xiàn)實意義。
2.智能小區(qū)系統(tǒng)結(jié)構(gòu)
本文中提出的小區(qū)智能系統(tǒng)由小區(qū)計算機管理系統(tǒng)、網(wǎng)絡(luò)交換設(shè)備、家庭智能終端(CDT)三個主要部分組成,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示:
圖1系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖
圖2用戶終端結(jié)構(gòu)圖
小區(qū)管理系統(tǒng)是指安裝在小區(qū)管理中心,完成全小區(qū)內(nèi)用戶數(shù)據(jù)終端數(shù)據(jù)采集和處理的計算機系統(tǒng),對于用戶數(shù)較多的系統(tǒng),可以采用客戶機/服務(wù)器(C/S)結(jié)構(gòu)。小區(qū)管理系統(tǒng)分為監(jiān)控微機(Client)和服務(wù)器(Server)兩個部分,客戶端只作數(shù)據(jù)采集使用,數(shù)據(jù)的處理在服務(wù)器端進(jìn)行。小區(qū)管理系統(tǒng)的功能包括:顯示用戶終端的上網(wǎng)狀態(tài),接受并顯示住戶報警,讀取水電氣表數(shù)據(jù)并產(chǎn)生報表,報警日志處理,系統(tǒng)管理等。用戶數(shù)據(jù)終端:用戶終端用來與管理系統(tǒng)通訊、并完成對各種計量信號和報警信號的采集、應(yīng)答主機的呼叫、回答上網(wǎng)狀態(tài),并提供操作面板歡迎用戶查詢。
3.用戶終端硬件結(jié)構(gòu)及RTL8019的配置
3.1用戶終端結(jié)構(gòu)硬件結(jié)構(gòu)圖如圖2所示:
系統(tǒng)由兩塊單片機組成,一塊負(fù)責(zé)五表讀數(shù)、遙控器及安防信號的采集工作,另一塊負(fù)責(zé)驅(qū)動RTL8019通訊,并響應(yīng)鍵盤及驅(qū)動液晶顯示。兩塊MCU之間通過串口通訊。
3.2RTL8019的配置
RTL8019是一款高度集成的以太網(wǎng)控制芯片,它有兩種operationmode:一種是跳線模式j(luò)umper,一種是非跳線模式j(luò)umperless,后者也支持PlugandPlay。在單片機中一般都采用跳線模式選項。I/O端口的基地址由單片機和8019之間的接線決定,P2.6=8019CS,低電平有效,則IO_BASE_ADDRESS=0xBF00。此外8019還具有8個IRQ接口,本系統(tǒng)中沒用到IRQ,采用查詢方式。
8019輸入輸出地址共32個,地址偏移量為00H--1FH(對應(yīng)于BF00H--BF1FH)。
其中00H--0FH共16個地址,為寄存器地址,寄存器分成4頁PAGE0--PAGE3,與NE2000兼容的寄存器只有3頁(Page0-Page2),為了保證驅(qū)動程序?qū)λ蠳e2000的網(wǎng)卡有效,不要去操作第四頁的寄存器。
10H--17H共8個地址,為DMA地址。
18H--1FH共8個地址,為軟復(fù)位端口。8019的硬件復(fù)位很簡單,只需在上電時對RSTDRV輸出一高電平就可以了。8019復(fù)位的過程將執(zhí)行一些操作,比如將93c46讀入,將內(nèi)部寄存器初始化等,至少需要2毫秒的時間。推薦等待更久的時間之后才對網(wǎng)卡操作,比如100毫秒之后才對它操作,以確保完全復(fù)位。
ICS16B=LOW時采用8位DMA操作模式,上面的地址中只有18個是有用的:00H--0FH共16個寄存器地址。10HDMA地址(10H--17H的8個地址是一樣的,都可以用來做DMA端口,只要用其中的一個就可以了)。1FH復(fù)位地址(18H到1FH共8個地址都是復(fù)位地址,每個地址的功能都是一樣的,只要其中的一個就可以了,但實際上只有18H、1AH、1CH、1EH這幾個復(fù)位端口是有效的,其他不要使用,有些兼容卡不支持19H、1BH、1DH等奇數(shù)地址的復(fù)位)。
4.網(wǎng)卡驅(qū)動及TCP/IP協(xié)議棧的簡化
從程序員的角度來說,對8019的操作是比較簡單的,驅(qū)動程序只需要將要發(fā)送的數(shù)據(jù)按一定的格式寫入芯片并啟動發(fā)送命令,8019會自動把數(shù)據(jù)包轉(zhuǎn)換成物理幀格式在物理信道上傳輸。反之,8019收到物理信號后將其還原成數(shù)據(jù),按指定格式存放在芯片RAM中以便主機程序取用。簡言之就是8019完成數(shù)據(jù)包和電信號之間的相互轉(zhuǎn)換:數(shù)據(jù)包<===>電信號。以太網(wǎng)協(xié)議由芯片硬件自動完成,對程序員透明。驅(qū)動程序有3種功能:芯片初始化、收包、發(fā)包。
4.1發(fā)送子程序
bitTransmit(void)
{
CardCopyDown();
XBYTE[IO_BASE_ADDRESS+NIC_COMMAND]=CR_NO_DMA|CR_STOP|CR_PAGE0;//停止8019
XBYTE[IO_BASE_ADDRESS+NIC_INTR_STATUS]=0xFF;//屏蔽中斷
XBYTE[IO_BASE_ADDRESS+NIC_XMIT_START]=XMIT_START;//設(shè)置發(fā)送開始地址
XBYTE[IO_BASE_ADDRESS+NIC_XMIT_CONFIG]=TCR_NO_LOOPBACK;//設(shè)置為一般模式
XBYTE[IO_BASE_ADDRESS+NIC_DATA_CONFIG]=DCR_FIFO_8_BYTE|DCR_NORMAL|DCR_BYTE_WIDE;//設(shè)置8位DMA模式
XBYTE[IO_BASE_ADDRESS+NIC_XMIT_COUNT_LSB]=100;//設(shè)置發(fā)送字長
XBYTE[IO_BASE_ADDRESS+NIC_XMIT_COUNT_MSB]=0;
XBYTE[IO_BASE_ADDRESS+NIC_COMMAND]=CR_START|CR_XMIT|CR_PAGE0;//啟動8019
return(TRUE);
}
4.2接收子程序
voidReceive(void)
{
XBYTE[IO_BASE_ADDRESS+NIC_COMMAND]=CR_NO_DMA|CR_STOP|CR_PAGE0;//停止8019
Wait_xus();
XBYTE[IO_BASE_ADDRESS+NIC_INTR_STATUS]=0xFF;//屏蔽中斷
XBYTE[IO_BASE_ADDRESS+NIC_DATA_CONFIG]=DCR_FIFO_8_BYTE|DCR_NORMAL|DCR_BYTE_WIDE;//設(shè)置8位DMA方式
XBYTE[IO_BASE_ADDRESS+NIC_RMT_ADDR_LSB]=0x00;//設(shè)置目的地址和長度
XBYTE[IO_BASE_ADDRESS+NIC_RMT_ADDR_MSB]=PAGE_START;
XBYTE[IO_BASE_ADDRESS+NIC_RMT_COUNT_LSB]=56;
XBYTE[IO_BASE_ADDRESS+NIC_RMT_COUNT_MSB]=0x00;
XBYTE[IO_BASE_ADDRESS+NIC_PAGE_START]=PAGE_START;//設(shè)置接收開始地址
XBYTE[IO_BASE_ADDRESS+NIC_PAGE_STOP]=PAGE_STOP;//設(shè)置接收緩沖區(qū)長度
XBYTE[IO_BASE_ADDRESS+NIC_BOUNDARY]=BOUNDARY;//設(shè)置接收邊界
Wait_xus();
XBYTE[IO_BASE_ADDRESS+NIC_RCV_CONFIG]=RCR_BROADCAST;//設(shè)置接收配置
}
4.3協(xié)議的精簡
單片機中TCP/IP的實現(xiàn)與PC機不同,在PC里可支持比較完整的TCP/IP協(xié)議,但在單片機里無法做到,這是因為單片機根本沒有足夠的代碼空間來支持這些協(xié)議。一般在單片機里實現(xiàn)與需要有關(guān)的部分,而不使用的協(xié)議則一概不支持。例如文件共享SMB協(xié)議,在UNIX、WINDOWS都支持,但單片機上卻沒有必要。一般只能在單片機中實現(xiàn):ARP、IP,ICMP、TCP/UDP這些協(xié)議,而更高層的協(xié)議,HTTP、SMTP、FTP一般是不需要支持的。雖然有些單片機例如AVR上網(wǎng)方案實現(xiàn)了這些協(xié)議,但實用性不太。因為單片機應(yīng)用的TCP/IP協(xié)議大多是為了完成數(shù)據(jù)采集和數(shù)據(jù)傳輸,而不是網(wǎng)頁瀏覽、文件傳輸這些功能。另外由于單片機資源的有限性,對某一協(xié)議而言,也有可能要作簡化。本系統(tǒng)中實現(xiàn)的協(xié)議只有ARP、IP、ICMP、UDP。
a.ARP:MCU只響應(yīng)主機對它的ARP請求,但不主動發(fā)送ARP請求。
b.ICMP:只實現(xiàn)一種ICMP信息,即ICMP回應(yīng)信息。
c.IP:IP包zui大可達(dá)65k,單片機中無法存放如此大的數(shù)據(jù)包,因此一般不支持分段,以發(fā)送小數(shù)據(jù)的方式來避免分段。
5.結(jié)束語
智能小區(qū)是21世紀(jì)小康住宅發(fā)展的高級形式和主流,它的出現(xiàn)是房地產(chǎn)業(yè)和計算機、網(wǎng)絡(luò)、通訊和控制等技術(shù)相結(jié)合的產(chǎn)物?;赥CP/IP的以太網(wǎng)技術(shù)更是推動智能小區(qū)標(biāo)準(zhǔn)化和數(shù)字化的關(guān)鍵所在。本文以基于TCP/IP技術(shù)的智能小區(qū)家庭智能終端系統(tǒng)的研究為例,詳細(xì)講述了RTL8019網(wǎng)卡芯片的驅(qū)動方法,并給出了單片機中TCP/IP協(xié)議的精簡方案。本系統(tǒng)已經(jīng)成功地運用于多個小區(qū),其可行性、可靠性和靈活性已經(jīng)得到證實,并且基于以太網(wǎng)智能小區(qū)系統(tǒng)低廉的造價、簡潔的布線更使得基于TCP/IP的以太網(wǎng)技術(shù)成為了替代傳統(tǒng)現(xiàn)場總線技術(shù)的一種重要手段。
以上就是本文全部內(nèi)容,歡迎您來電咨詢我廠家流量計選型、報價等內(nèi)容。
《單片機IP技術(shù)在智能小區(qū)系統(tǒng)中的應(yīng)用》本文地址:http://www.zhangyaran.com/news/2036.html 轉(zhuǎn)載請勿刪除!