基于PIC18F66J60實(shí)現(xiàn)的Ethernet-RS-232協(xié)議轉(zhuǎn)換器
掃描二維碼
隨時(shí)隨地手機(jī)看文章
目前,在工業(yè)控制等應(yīng)用領(lǐng)域中,大多數(shù)設(shè)備的通信接口都符合RS-232通信標(biāo)準(zhǔn)。RS-232通信方式的數(shù)據(jù)傳輸半徑十分有限,遠(yuǎn)遠(yuǎn)不能滿足遠(yuǎn)程傳輸?shù)男枨?,且不能與Internet直接通信。針對(duì)上述問題,在系統(tǒng)設(shè)計(jì)中,一般采用丙種方法將串口設(shè)備進(jìn)行有效改進(jìn)后與Inter-net進(jìn)行通信:(1)更新原有系統(tǒng),采用能夠接入Internet的新產(chǎn)品,或者對(duì)原有系統(tǒng)的全部或局部進(jìn)行重新設(shè)計(jì)。這種方法可能從根本上解決系統(tǒng)連接到Internet晰可題,但是成本較高、周期較長(zhǎng);(2)在原來的設(shè)備上使用RS-232-Internet的協(xié)議轉(zhuǎn)換器,實(shí)現(xiàn)Internet的接入。
本文主要講述笫二種方法,即如何利用PlCl8F66J6O微控制器實(shí)現(xiàn)將因特網(wǎng)發(fā)送的數(shù)據(jù)包提取出來,通過串口送入用戶設(shè)備,達(dá)到遠(yuǎn)程控制的目的。
1.概述PIC18F66J6O徵控制器實(shí)現(xiàn)的Eth-ernet-RS-232協(xié)議轉(zhuǎn)換器的Demo板實(shí)物圖如下圖所示,具有以下特征: (1)單芯片完成協(xié)議轉(zhuǎn)換功能,大大降低系統(tǒng)成本和復(fù)雜程度。 ?。?)模塊尺寸只有一張信用卡的一半大小,功耗不到1W,方便將其集成到系統(tǒng)設(shè)備中?! ?3)ETORS232內(nèi)部集成TCP/IP協(xié)議棧,用戶無須編程TCP/IP協(xié)議,即可將用戶產(chǎn)品接入到以太網(wǎng)中。 (4)IOMEthernet接口,最大波特率為115200b/s?! 。?)支持動(dòng)態(tài)(DHCP)或靜態(tài)獲取IP地址?! 。?)支持三種不同的網(wǎng)絡(luò)連接模式: TCPSERVER模式、TCPCLIENT模式和UDP模式?! ?7)可以方便的使用Windows應(yīng)用程序NetConfig,進(jìn)行網(wǎng)絡(luò)參數(shù)查看和配置?! ?. 硬件設(shè)計(jì) 2.1 PICl8F66J6O徽控制器 PIC18F66J60芯片是MicroChip公司新推出的一款以太網(wǎng)微控制器,具有出色的計(jì)算性能、豐富的功能集和極具競(jìng)爭(zhēng)力的價(jià)格優(yōu)勢(shì)?! ICI8F66J60微控制器包含一系列串行通信外設(shè):2個(gè)獨(dú)立的增強(qiáng)型USART和2個(gè)主控SSP模塊,能夠進(jìn)行SP1和12CTM(主控和從動(dòng))模式操作;通用I/0端口中包含一個(gè)可重新配置為8位并行從動(dòng)端口,用于處理器之間的通信;本系列的所有器件均包含2個(gè)捕捉/比較/PWM(CCP)模塊和3(au)個(gè)增強(qiáng)型CCP(ECCP(模塊,可方便靈活地實(shí)現(xiàn)控制應(yīng)用,在同一時(shí)間內(nèi),微控制器最多可以使用4種不同時(shí)基執(zhí)行不同項(xiàng)目的操作。其中,3個(gè)ECCP模塊中的每一個(gè)可以提供4路PWM輸出,即一共可提供12路PWM信號(hào)。ECCP模塊還提供了許多其它功能,如極性選擇、可編程死區(qū)延時(shí)、自動(dòng)關(guān)閉與重啟以及半橋與全橋輸出模式等?! ICl8F66J6O系列微控制器具有嵌入式以太網(wǎng)控制器模塊。它是一個(gè)完整的連接解決方案,完全實(shí)現(xiàn)介質(zhì)訪問控制和物理層收發(fā)器模塊,只需使用兩個(gè)脈沖變壓器和一些無源器件即可將單片機(jī)直接與以太網(wǎng)相連。以太網(wǎng)模塊結(jié)構(gòu)圖如下圖所示,包含以下5個(gè)主要功能模塊: (1)PHY收發(fā)器模塊:對(duì)傳輸雙絞線接口上的模擬數(shù)據(jù)進(jìn)行編碼和解碼,并通過網(wǎng)絡(luò)發(fā)送和接收?! ?2)MAC模塊:實(shí)現(xiàn)了符合IEEE802.3規(guī)范的MAC邏輯,并提供用以控制PHY的MIIM(MediaIndependentInterfaceManagement)?! ?3)獨(dú)立的8KBRAM緩沖區(qū):用于存儲(chǔ)已經(jīng)接收和將要發(fā)送的數(shù)據(jù)包?! ?4)判優(yōu)器:在單片機(jī)內(nèi)核、DMA、發(fā)送和接收模塊發(fā)出請(qǐng)求時(shí),控制對(duì)RAM緩沖區(qū)的訪問?! ?5)寄存器接口:作為以太網(wǎng)模塊和單片機(jī)特殊功能寄存器(SFR)間命令和內(nèi)部狀態(tài)信號(hào)譯碼器?! ∥⒖刂破鞯囊蕴W(wǎng)模塊符合IEEE802.3中所有關(guān)于雙絞紱網(wǎng)絡(luò)10-BaseT連接時(shí)規(guī)定,其內(nèi)部實(shí)現(xiàn)了一些數(shù)據(jù)包過濾機(jī)制,用以限制傳入的數(shù)據(jù)包,同時(shí)還提供了一個(gè)用于實(shí)現(xiàn)快速數(shù)據(jù)吞吐的內(nèi)置DMA模塊、硬件IP的校驗(yàn)和計(jì)算以及兩個(gè)用于指示鏈路和網(wǎng)絡(luò)活動(dòng)的LED輸出?! ?.2硬件電路設(shè)計(jì) ETORS232協(xié)議轉(zhuǎn)換器的硬件結(jié)構(gòu)框圖如下圖所示,其中以太網(wǎng)接口與串口制成Demo板,微控制器與LDO組成模塊,連接到Demo板上,組成整個(gè)系統(tǒng)完成通信?! ∠到y(tǒng)內(nèi)嵌TCP/IP協(xié)議樓,系統(tǒng)運(yùn)行后,單片機(jī)運(yùn)行Mi-crochip 的 TCPflP協(xié)議棧。當(dāng)通信串行口有數(shù)據(jù)接收時(shí),單片機(jī)接收數(shù)據(jù),并將其轉(zhuǎn)換為以太網(wǎng)的數(shù)據(jù)格式從以太網(wǎng)輸出;當(dāng)以太網(wǎng)有數(shù)據(jù)接收時(shí),單片機(jī)接受數(shù)據(jù)并將數(shù)據(jù)包中的有效數(shù)據(jù)提取出來從串口輸出。 系統(tǒng)原理圖如圖下所示。其中)以太網(wǎng)模塊的內(nèi)部模擬電路要求在微控制器的RBIAS端口和地之間連接一個(gè)外部電阻R4。該電阻將影響引腳TPOUT+/TPOUT-信號(hào)的幅度,PCB布線時(shí)應(yīng)盡可能靠近微處理器,避免與信號(hào)走線相鄰,以防止噪聲耦合到引腳中,對(duì)發(fā)送操作造成的影響?! ≡谶B接TPIN+/TPIN-和TPOUT+/TPOUT-引腳時(shí),需要連接用于以太網(wǎng)操作的1:1中心抽頭脈沖變壓器。當(dāng)使能以太網(wǎng)模塊時(shí),TPOUT+/TPOUT-引腳會(huì)有持續(xù)電流流入,當(dāng)收發(fā)器模塊在發(fā)送數(shù)據(jù)時(shí),改變TPOUT+/TPOUT-的相對(duì)電流大小將在以太網(wǎng)電纜上產(chǎn)生一個(gè)差分電壓。發(fā)送和接收接口均需要另外使用兩個(gè)電阻和一個(gè)電容,以最大限度地減少信號(hào)反射?! ?.軟件設(shè)計(jì) 系統(tǒng)工作模式如下表所示。
軟件流程框圖如下圖所示?! ∑渲懈鳡顟B(tài)說明如下: (1)SM_APP_INIT:起始狀態(tài),進(jìn)行初始化,并根據(jù)參數(shù)設(shè)置進(jìn)入相關(guān)狀態(tài)。 (2)SM_APP_ARP_ASK:根據(jù)IP地址請(qǐng)求對(duì)應(yīng)的的網(wǎng)絡(luò)地址向遠(yuǎn)端主機(jī)發(fā)出地址解析包?! ?3)SM_APP_ARP_RESOLVE:接受遠(yuǎn)端主機(jī)發(fā)出地址解析包,設(shè)置遠(yuǎn)端主機(jī)的網(wǎng)絡(luò)地址。 (4)SM_APP_UDP_SOCK-ET:建立UPD連接?! ?5)SM_APP_UDP:進(jìn)行UPD連接模式下的數(shù)據(jù)接收和發(fā)送?! ?6)SM_APP_TCP_SERV-ER_SOCKET:建立TCPSERV-ER模式下的TCP連接,并處于監(jiān)聽狀態(tài)?! ?7)SM_APP_TCP_SERVER: 進(jìn)行TCPSERVER連接模式下的數(shù)據(jù)接收和發(fā)送?! ?8)SM_APP_TCP_CLIENT_SOCKET:建立TCPCLIENT模式下的TCP連接,并向主機(jī)發(fā)送連接請(qǐng)求?! ?9)SM_APP_TCP_CLIENT:進(jìn)行TCPCLIENT連接模式下的數(shù)據(jù)接收和發(fā)送?! ?10)SM_APP_ERROR:空狀態(tài),用于程序的調(diào)試?! ?.應(yīng)用簡(jiǎn)介 4.1主要參數(shù) 1OM以太網(wǎng)網(wǎng)絡(luò)類型;1.5KV隔離保護(hù);RJ45接口類型?! ?1)串行通信口參數(shù):信號(hào)連接線為RxD、TxD和GND;數(shù)據(jù)通信格式為數(shù)據(jù)位8位、無校驗(yàn)位、停止位1位;傳輸速率為1200b/s-115.2K/s,(2)網(wǎng)絡(luò)特性:支持ICMP、ARP,IP,TCP,UDP和DHCP協(xié)議;具有UDP、TCPServer、TCPClient運(yùn)行方式。 (3)電源參數(shù):輸入電壓為5V±5%DC,最大輸入電流200mA?! ?4)機(jī)械特性:尺寸:80mm×36mm×15mm?! ?.2參數(shù)配置方法 系統(tǒng)使用NetConfig應(yīng)用軟件配置模塊的參數(shù)。NetConfig運(yùn)行后,首先以廣播方式查找網(wǎng)絡(luò)上的模塊,當(dāng)找到模塊后,用戶可以對(duì)其連接模式、MAC地址、IP地址、端口地址、遠(yuǎn)端主機(jī)IP地址、遠(yuǎn)端主機(jī)端口地址、串口速率及DHCP是否有效等進(jìn)行配置?! ∪笔?shù)如下表所示。