0 引 言
隨著Internet的普及,實(shí)現(xiàn)智能家居遠(yuǎn)程控制不再是人們的夢(mèng)想,其完全成為可能,然而實(shí)現(xiàn)這個(gè)夢(mèng)想需要花費(fèi)高額代價(jià),智能家居迄今仍不能普及,因此設(shè)計(jì)一款性價(jià)比好的家庭控制器很有必要。CAN總線采用非破壞仲裁技術(shù),短幀結(jié)構(gòu)和數(shù)據(jù)出錯(cuò)率極低,可以滿足控制系統(tǒng)安全性、可靠性、快捷性的要求。目前以太網(wǎng)以成本低,通信速度快,兼容性和互操作性好,資源共享能力強(qiáng)等特點(diǎn)已成為目前最流行的因特網(wǎng)接入方案之一,因此采用CAN總線組建家庭內(nèi)部網(wǎng)絡(luò),再通過網(wǎng)關(guān)與外部以太網(wǎng)相連實(shí)現(xiàn)對(duì)家居電器設(shè)備的遠(yuǎn)程控制,實(shí)現(xiàn)CAN網(wǎng)絡(luò)與以太網(wǎng)的結(jié)合,已成為家居發(fā)展的趨勢(shì)。CAN與以太網(wǎng)采用的網(wǎng)絡(luò)協(xié)議,要確保兩種網(wǎng)絡(luò)之間高效無縫地連接網(wǎng)關(guān)是問題的關(guān)鍵。在此設(shè)計(jì)一種基于ENC28J60的高性能嵌入式以太網(wǎng)/CAN網(wǎng)關(guān)。
1網(wǎng)關(guān)的硬件設(shè)計(jì)
1.1 系統(tǒng)硬件結(jié)構(gòu)
該系統(tǒng)的硬件部分主要由ARM、以太網(wǎng)接口、CAN接口、高速存儲(chǔ)器、JTAG口、復(fù)位電路和電源等組成,其系統(tǒng)硬件結(jié)構(gòu)如圖1所示。ARM負(fù)責(zé)對(duì)以太網(wǎng)接口芯片和CAN接口芯片進(jìn)行控制。ARM移植TCP/IP通信協(xié)議和CAN協(xié)議,可完成以太網(wǎng)協(xié)議和CAN總線協(xié)議轉(zhuǎn)換,實(shí)現(xiàn)以太網(wǎng)接口和CAN接口通信數(shù)據(jù)的透明傳輸。JTAG口主要用來下載程序,進(jìn)行系統(tǒng)仿真調(diào)試。鍵盤、LCD顯示用來實(shí)現(xiàn)人機(jī)交換。
1.2主控制器的選擇
微處理器選用Philips公司ARM7TDMI內(nèi)核的32位微控制器LPC2294,與一般單片機(jī)相比,LPC2294可嵌入操作系統(tǒng)。LPC2294內(nèi)嵌256 KB的高速FLASH存儲(chǔ)器和16 KB的靜態(tài)RAM,多個(gè)外部中斷和串行口,LPC2294內(nèi)部還集成了CAN控制器,只要加上CAN總線收發(fā)器就可以構(gòu)成CAN節(jié)點(diǎn),從而大大簡化了硬件電路。同時(shí),由于LPC2294具有多路CAN,因此還可以把系統(tǒng)設(shè)計(jì)成冗余結(jié)構(gòu),以提高系統(tǒng)的可靠性。LPC2294還支持JTAG實(shí)時(shí)仿真和跟蹤,并具有128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu),它能夠使32位代碼在高達(dá)60 MHz的操作頻率下運(yùn)行。
1.3系統(tǒng)電源電路和復(fù)位電路
在該設(shè)計(jì)中,需要使用5 V,3.3 V和1.8 V的直流穩(wěn)壓電源。其中,5 V電源由LM317L三端可調(diào)穩(wěn)壓器產(chǎn)生;3.3 V和1.8 V電源由可調(diào)節(jié)輸出電壓的SPX1117產(chǎn)生。系統(tǒng)復(fù)位電路的可靠性對(duì)整個(gè)系統(tǒng)的穩(wěn)定起著非常重要的作用。在復(fù)位電路中采用了電壓監(jiān)控芯片TPS383K33,它是10 ms或200 ms可選的上電復(fù)位發(fā)生器,具有防按鍵抖動(dòng)的手動(dòng)復(fù)位輸入功能,允許組成多個(gè)IC的菊花鏈電壓監(jiān)控等。復(fù)位電路如圖2所示。圖2中,nRST連接到LPC2294的復(fù)位腳RESET;nTRST接以太網(wǎng)控制器ENC28J60的復(fù)位引腳。當(dāng)復(fù)位開關(guān)SW按下時(shí),TPS383K33輸出復(fù)位信號(hào),引腳REST輸出低電平,導(dǎo)致兩路74HCl25(三態(tài)門負(fù)邏輯控制)導(dǎo)通,信號(hào)nRST和nTRST輸出低電平使系統(tǒng)復(fù)位。在系統(tǒng)正常運(yùn)行情況下,TPS383K33的引腳REST輸出高電平,兩路74HC125截止,上拉電阻R1,R2將信號(hào)nRST和nTRST上拉為高電平。
1.4 CAN總線接口
CAN總線接口由LPC2294和CAN總線收發(fā)器等構(gòu)成。這里采用帶隔離的高速CAN收發(fā)器CTM1050T,其主要功能是將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平,并且具有(DC2500V)隔離功能、ESD保護(hù)功能及TVS管防總線過壓功能,其內(nèi)帶隔離器,可減少外部相關(guān)電路的設(shè)計(jì)。CAN總線接口電路如圖3所示。CTM1050T的接收引腳RXD、發(fā)送引腳TXD串接390 Ω的電阻分別與LPC2294對(duì)應(yīng)的CAN收發(fā)引腳RD1,TD1引腳相連。CTM1050T的CANH和CANL引腳之間應(yīng)串聯(lián)120 Ω的電阻,以消除電路中信號(hào)的反射等干擾。CANH和CANL與地之間還應(yīng)并聯(lián)2個(gè)30 pF的小電容,這樣即可消除總線上的高頻干擾和電磁輻射。
1.5以太網(wǎng)接口
在系統(tǒng)設(shè)計(jì)中,采用ENC28J60作為網(wǎng)絡(luò)接口芯片。ENC28J60是美國微芯科技公司推出的28引腳獨(dú)立以太網(wǎng)控制器,內(nèi)置以太網(wǎng)物理層器件(PHY)及介質(zhì)訪問控制器(MAC),可按以太網(wǎng)協(xié)議可靠地收發(fā)信息包數(shù)據(jù)。另外,它還具有可編程8 KB雙端口SRAM緩沖器,數(shù)據(jù)傳輸速率高達(dá)10 Mb/s。ENC28J60具有多種集成功能,如CRC校驗(yàn)、可編程過濾、可自動(dòng)評(píng)價(jià)、接收或拒收多種信息包、數(shù)據(jù)濾波等功能,能高效率地進(jìn)行信息包的存儲(chǔ)、檢索和修改,可減輕主控微處理器的內(nèi)存負(fù)荷。ENC28J60采用標(biāo)準(zhǔn)的SPI串行接口,只需4條連線即可實(shí)現(xiàn)與微處理器相連,而且它只有28個(gè)引腳,可以大大簡化相關(guān)設(shè)計(jì),減小空間。網(wǎng)絡(luò)插座采用RJ45插座HR911102A,其內(nèi)置網(wǎng)絡(luò)變壓器、狀態(tài)顯示燈和電阻網(wǎng)絡(luò),具有信號(hào)耦合電氣隔離、阻抗匹配、抑制干擾等特點(diǎn),可提高系統(tǒng)抗干擾能力和收發(fā)的穩(wěn)定性。以太網(wǎng)接口電路如圖4所示。圖4中ENC28J60的2個(gè)中斷引腳INT和WOL分別接LPC2294的EINT1,EINT2;ENC28J60的SPI腳SO,SI,SCK,CS分別接LPC2294的腳MISO1,MISI1,SCK1,CS1,2個(gè)專用的引腳(LEDA,LEDB)用于連接HR911102A的LEDG,LEDY,進(jìn)行網(wǎng)絡(luò)活動(dòng)狀態(tài)指示。