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