C8051F基于ZNE-100PT的以太網監(jiān)控系統(tǒng)
關鍵詞 監(jiān)控系統(tǒng) 以太網 嵌入式 單片機
引 言
近年來,隨著網絡技術的發(fā)展,網絡化席卷全球。在工業(yè)現(xiàn)場中如何將測控系統(tǒng)等儀器和設備接入互聯(lián)網,實現(xiàn)信息共享和遠程控制成為人們關注的話題。傳統(tǒng)的工業(yè)測控現(xiàn)場所采用的總線技術(如RS232和RS485等)能夠很好地解決儀器與設備的互聯(lián)互通問題,并得到了廣泛的應用。但此類總線是專為工業(yè)所設計的,并不能解決因特網的接入問題。采用單片機配合以太網控制芯片構成測控系統(tǒng),可解決測控系統(tǒng)與互聯(lián)網的接入問題,但卻需要花費大量的時問和精力進行開發(fā)。采用商品化的串口服務器或網絡服務器進行網絡互聯(lián),雖可實現(xiàn)網絡互聯(lián),但軟硬件成本很高。針對這些情況,我們采用低成本的RS232以太網轉換模塊作為網絡互聯(lián)媒介,設計了基于美國Cygnal公司的C8051F020的嵌入式以太網監(jiān)控系統(tǒng)。結果表明,該監(jiān)控系統(tǒng)充分利用了現(xiàn)有以太網資源,實現(xiàn)了遠程測控終端與監(jiān)控中心的通信功能,從而實現(xiàn)了高可靠性、低成本的實時監(jiān)控,達到了工業(yè)現(xiàn)場安全運行的目的。
1 RS232-以太網模塊及C8051F020簡介
ZNE-100PT是周立功公司開發(fā)的一款RS232-以太網模塊模塊,內部集成了TCP/IP協(xié)議棧,利用它用戶可以輕松實現(xiàn)嵌入式沒備的網絡功能。其主要特點是:
◆內嵌32位ARM7 CPU;
◆支持TCP/IP協(xié)議(包括Ethernet、ARP、IP、ICMP、IGMP、UDP、TCP、HTTP和DHCP),工作方式可選擇為TCP Server、TCP Client、UDP、Real COM driver和GroupMode.TCP Auto組播地址工作端口目標IP和端口均可設定支持PairConnection對連方式工作;
◆10M以太網接口使用排針方式引出;
◆RS232或RS485串口,TTL電平方式,波特率為300~115200 bps。
采用RS232以太網模塊進行網絡互聯(lián),可大幅度縮短軟件開發(fā)時間,且成本很低。
單片機C8051F020是一款完全集成的混合信號系統(tǒng)級芯片,與8051指令集完全兼容。它具有如下特點:
◆高速流水線結構的8051兼容的CIP-5l內核(可達25 MIPS);
◆高速非侵入式的在線系統(tǒng)調試接口(片內);
◆真正12位100Ksps的8通道ADC,帶PGA和模擬多路開關;
◆2個12位DAC;
◆64 KB可在系統(tǒng)編程的Flash存儲器;
◆4352(4096+256)字節(jié)的片內存儲器;
◆可尋址64 KB地址空間的外部數(shù)據(jù)存儲器接口;
◆硬件實現(xiàn)的SPI、SMBus/I2C和2個UART串行接口;
◆5個通用16位定時器;
◆5個捕捉比較模塊的可編程計數(shù)器/定時器陣列;
◆片內看門狗定時器、VDD監(jiān)視器和溫度傳感器。
C8051 F020是一款真正獨立工作的片上系統(tǒng),將C8051F020用于嵌入式以太網監(jiān)控系統(tǒng),可大量減少外圍器件,充分發(fā)揮C8051F020的高速度特點,大大提高了系統(tǒng)的集成度。
2 嵌入式以太網監(jiān)控系統(tǒng)的技術要求和硬件實現(xiàn)方案
2.1 技術要求
用戶對嵌入式以太網監(jiān)控系統(tǒng)的要求如下:
◇8位全隔離數(shù)字輸入接口;
◇8位全隔離數(shù)字輸出接口;
◇8路12位模擬/數(shù)字輸入接口,輸入電壓DC為O~12 V:
◇2路12位數(shù)字/模擬輸出接口,輸出電壓DC為O~5 V;
◇RS232串行接口,最高波特率為19.2 khps;
◇RJ45 10M網絡接口。
2.2 實現(xiàn)方案
根據(jù)用戶提出的技術要求,以單片機C8051F020為核心,輔以RS232-以太網模塊ZNE-100PT及少量外圍電路,構成嵌入式以太網監(jiān)控系統(tǒng)的硬件電路,如圖1所示。
圖1中,由于C8051F020具有2個標準串行接口,因而一個分配給ZNE-100PT模塊,作為以太網接口,另一個就分配給了RS232接口,作為與上位機的通信接口(其通信速率可根據(jù)用戶要求在300~19200 bps調整。
對于8路模擬信號輸入接口,要求其最高輸入電壓為+12V,而C8051F020的片內A/D轉換器最高輸入電壓為+3V。對于+12V的輸入電壓,可采用電阻分壓衰減電路,將+12 V的輸入電壓降為+3 V輸入;而對于8路O~5 V的模擬輸出電壓,則可直接利用運算放大器放大輸出,電路如圖2所示。
數(shù)字輸入部分采用光電耦合器將數(shù)字輸入信號與本系統(tǒng)隔離,從而減小了外界干擾對系統(tǒng)的影響;數(shù)字輸出部分也采用光電耦合器進行隔離,如圖3所示。
3 ZNE-100PT模塊的使用和網絡通信規(guī)約
在使用RS232-以太網模塊ZNE-100PT之前,應當按照ZNE-100PT的要求對模塊進行軟件配置。主要工作有配置模塊的IP地址、模塊的子網掩碼、模塊網關和串行接口的波特率等參數(shù)。配置完成后模塊即可使用。需要注意的是,設置模塊屬性時,可將幀起始字節(jié)和幀結束字節(jié)設為空。這樣,當模塊對通信數(shù)據(jù)劃分TCP/IP數(shù)據(jù)包時,就可按串口數(shù)據(jù)的幀間隔作為分包條件。
根據(jù)監(jiān)控系統(tǒng)的要求,設定本系統(tǒng)與以太網之間的通信規(guī)約。
通信數(shù)據(jù)格式字頭+命令字+數(shù)據(jù)長度+數(shù)據(jù)體
①字頭:START。
②命令字:共計1個字。
第1字節(jié):表示數(shù)據(jù)傳輸方向。由單片機→以太網為U;由以太網→單片機為P。
第2字節(jié):為命令字。
命令l:由單片機→以太網時,表示后面數(shù)據(jù)為8路A/D輸入值和8路數(shù)字I/O輸入值;由以太網→單片機時,表示后面數(shù)據(jù)為2路D/A輸出值和8路數(shù)字I/O輸出值。
命令2:由單片機→以太網時,表示后面數(shù)據(jù)為RS232接口收到并轉發(fā)以太網的,數(shù)據(jù)體長度小于255字節(jié);由以太網→單片機時,表示后面數(shù)據(jù)需經監(jiān)控系統(tǒng)的RS232接口發(fā)出,數(shù)據(jù)傳送結束時監(jiān)控系統(tǒng)返回OK,表示傳送結束。
③數(shù)據(jù)長度:>999字節(jié),表示后面數(shù)據(jù)體的長度。
④數(shù)據(jù)體:所需傳輸?shù)臄?shù)據(jù)。
4 監(jiān)控系統(tǒng)軟件流程
由于監(jiān)控系統(tǒng)需要經由ZNE-100PT雙向傳輸數(shù)據(jù)并需進行相關操作,因此監(jiān)控系統(tǒng)軟件流程如圖4所示。
圖4中,CPU首先進行初始化。之后分別采集以太網上發(fā)送過來數(shù)據(jù)以及本機的A/D和I/O輸入數(shù)據(jù)。采集完成后,如果收到的是D/A和I/O輸出數(shù)據(jù),則進行D/A和I/O輸出數(shù)據(jù)的更新。如果是以太網的RS232輸出數(shù)據(jù),則啟動RS232接口并發(fā)送數(shù)據(jù);否則,定時向以太網發(fā)送本機的A/D和I/O輸入數(shù)據(jù)。如果是RS232接口的數(shù)據(jù),則向以太網進行轉發(fā)。
結語
本文設計的基于SoC單片機C8051F020的嵌入式以太網監(jiān)控系統(tǒng),采用了RS232以太網模塊,從而使軟件開發(fā)的工作量大大減少,使監(jiān)控系統(tǒng)得以依托以太網實現(xiàn)遠程測量及控制。本系統(tǒng)已用于日本某公司的生產線,且受到用戶的好評。將本系統(tǒng)的某些參數(shù)適當修改,也可以用于其他工業(yè)控制場合中。
評論