隨著Ethernet(以太網(wǎng))技術(shù)的發(fā)展各種樓宇自控、智能家居、工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集都在逐步實(shí)現(xiàn)網(wǎng)絡(luò)化但由于Ethernet在實(shí)時(shí)性和可靠性的先天不足各種現(xiàn)場(chǎng)總線技術(shù)應(yīng)運(yùn)而生更因?yàn)槠鋸氐椎拈_(kāi)放性、分散性和完全可互操作性等特點(diǎn)正成為未來(lái)新型工業(yè)控制系統(tǒng)的發(fā)展方向Ethernet以其應(yīng)用的廣泛性和技術(shù)的先進(jìn)性逐漸壟斷了商用計(jì)算機(jī)的通信領(lǐng)域和過(guò)程控制領(lǐng)域的上層信息管理與通信為實(shí)現(xiàn)上層管理網(wǎng)絡(luò)與下層控制網(wǎng)絡(luò)的集成在實(shí)際中必須實(shí)現(xiàn)現(xiàn)場(chǎng)總線與以太網(wǎng)互聯(lián)
是美國(guó)公司年推出的局部操作網(wǎng)絡(luò)現(xiàn)場(chǎng)總線在網(wǎng)絡(luò)通信方面具有突出優(yōu)點(diǎn)如網(wǎng)絡(luò)物理層支持多種通信介質(zhì)支持總線型、星形、環(huán)形、自由拓?fù)涞榷喾N網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)等目前基于技術(shù)的產(chǎn)品廣泛應(yīng)用于工業(yè)自動(dòng)化、智能建筑、智能家居、能源監(jiān)管、電力自動(dòng)化、軌道交通、船舶控制等自動(dòng)化領(lǐng)域
本文介紹一種LonWorks以太網(wǎng)適配器連接方案能將控制網(wǎng)與Ethernet無(wú)縫連接實(shí)現(xiàn)LON控制網(wǎng)絡(luò)與Ethernet網(wǎng)絡(luò)的透明傳輸
互連適配器硬件電路設(shè)計(jì)
適配器使用的主要芯片為神經(jīng)元芯片、單片機(jī)和Ethernet控制器主要分為控制模塊、協(xié)議轉(zhuǎn)換模塊和Ethernet通信模塊其中協(xié)議轉(zhuǎn)換由單片機(jī)內(nèi)部軟件完成
控制模塊
控制模塊主要完成對(duì)網(wǎng)數(shù)據(jù)的管理并向單片機(jī)傳輸數(shù)據(jù)其核心是神經(jīng)元芯片神經(jīng)元芯片與其他設(shè)備的互連是通過(guò)其個(gè)口編程人員可以定義多個(gè)引腳為輸入輸出對(duì)象用戶(hù)程序可通過(guò)和訪問(wèn)這些對(duì)象并在程序執(zhí)行期間完成輸入輸出操作本文設(shè)計(jì)的適配器采用芯片預(yù)定義的并行對(duì)象實(shí)現(xiàn)了高數(shù)據(jù)速率和全雙工工作方式
并行對(duì)象利用的個(gè)口進(jìn)行通信其中~為雙向數(shù)據(jù)線~為控制信號(hào)線借助令牌傳遞握手協(xié)議并行口可外接處理器實(shí)現(xiàn)芯片與外接各類(lèi)微處理器之間的雙向數(shù)據(jù)通信并行口的速率可達(dá)工作方式有三種即主模式、從模式和從模式不同的模式下~這三根控制信號(hào)線的意義不同本文應(yīng)用從模式熡氳テ機(jī)連接如表所示
表芯片與單片機(jī)的連接
IO8 |
片選信號(hào)線接 |
IO9 |
讀寫(xiě)信號(hào)線接 |
IO10 |
握手信號(hào)線接 |
IO0~ |
數(shù)據(jù)總線接~ |
從模式中芯片為從機(jī)單片機(jī)為主機(jī)主機(jī)與從機(jī)間的數(shù)據(jù)傳輸通過(guò)虛擬的寫(xiě)令牌傳遞協(xié)議實(shí)現(xiàn)主機(jī)和從機(jī)交替地獲得寫(xiě)令牌只有擁有寫(xiě)令牌的一方可以寫(xiě)數(shù)據(jù)不超過(guò)字節(jié)或者不寫(xiě)任何數(shù)據(jù)傳送一個(gè)空令牌傳送的數(shù)據(jù)要遵從一定的格式即在要傳送的數(shù)據(jù)前面加上命令碼和傳送的數(shù)據(jù)長(zhǎng)度命令碼有寫(xiě)數(shù)據(jù)、傳遞空令牌、要求從機(jī)同步、確認(rèn)同步四種最后以字節(jié)結(jié)束寫(xiě)數(shù)據(jù)和傳遞空令牌的格式分別如表、表所示
表寫(xiě)數(shù)據(jù)的格式
CMD_XFER |
Length |
Data |
EOM |
表傳遞空令牌的格式
CMD_NULL |
EOM |
1.2 Ethernet通信模塊
Ethernet通信模塊由單片機(jī)和組成Ethernet控制器由臺(tái)灣公司生產(chǎn)腳封裝它支持位數(shù)據(jù)總線及個(gè)基地址選擇使用兼容的寄存器結(jié)構(gòu)它有一塊字節(jié)的地址為~實(shí)際上它是雙端口可以同時(shí)被網(wǎng)卡讀寫(xiě)和用戶(hù)讀寫(xiě)相互之間不影響網(wǎng)卡讀寫(xiě)比用戶(hù)讀寫(xiě)的優(yōu)先級(jí)高分頁(yè)存儲(chǔ)每字節(jié)稱(chēng)為一頁(yè)將前頁(yè)作為發(fā)送緩沖區(qū)~后頁(yè)作為接收緩沖區(qū)~
Ethernet的介質(zhì)訪問(wèn)控制、校驗(yàn)及數(shù)據(jù)幀的接收和發(fā)送都由網(wǎng)卡自動(dòng)完成只需將包加上目的地址和源地址再通過(guò)遠(yuǎn)端接口對(duì)內(nèi)部進(jìn)行讀寫(xiě)即可網(wǎng)卡的地址線共根用到的網(wǎng)卡地址為十六進(jìn)制的~基地址為從地址~地址線的~是固定的只需根地址線即可所以輸入輸出地址共個(gè)地址偏移量為~對(duì)應(yīng)于~對(duì)于位操作方式個(gè)地址中只有個(gè)有用~共個(gè)寄存器地址為地址為復(fù)位地址本適配器采用輪詢(xún)方式不使用中斷故與單片機(jī)的連接如表所示
表單片的連接
IORB |
讀信號(hào)接 |
IOWB |
寫(xiě)信號(hào)接 |
RSTDRV |
復(fù)位信號(hào) |
AEN |
地址信號(hào)接地 |
IOCS16 |
接下拉電阻選擇位模式 |
S0~ |
數(shù)據(jù)總線接單片機(jī)口 |
A19~ |
地址線接地 |
A9,A5 |
接高電平時(shí)選中 |
A4~ |
接單片機(jī)× |
表單片機(jī)發(fā)往的數(shù)據(jù)格式
以太網(wǎng)首部 |
IP首部 |
UDP首部 |
數(shù)據(jù) |
14字節(jié) |
20字節(jié) |
20字節(jié) |
128×字節(jié) |
本適配器使用傳送數(shù)據(jù)同時(shí)支持的回應(yīng)應(yīng)答和回應(yīng)請(qǐng)求報(bào)文命令單片機(jī)發(fā)往的數(shù)據(jù)幀格式如表所示
用單片機(jī)實(shí)現(xiàn)協(xié)議要作一些簡(jiǎn)化不考慮數(shù)據(jù)分片和優(yōu)先權(quán)因此在首部中不討論服務(wù)類(lèi)型和標(biāo)志偏移域只需填“”即可
互連適配器的硬件電路設(shè)計(jì)
由于只有四個(gè)位口無(wú)法同時(shí)與和通信故使用口作為數(shù)據(jù)總線作為片選信號(hào)高電平為低電平為圖給出了互連適配器的電路框圖其中和復(fù)用同一條位數(shù)據(jù)線依靠進(jìn)行片選當(dāng)高電平時(shí)地址有效被選中作為單片機(jī)的下載線互聯(lián)適配器也可使用口與計(jì)算機(jī)通信
互連適配器的軟件設(shè)計(jì)
適配器的軟件編寫(xiě)包括兩部分一部分是上用語(yǔ)言編寫(xiě)另一部分是在上用語(yǔ)言開(kāi)發(fā)協(xié)議棧和與、的通信軟件可讀性強(qiáng)可方便地移植到其他核心單片機(jī)上
適配器的初始化
單片機(jī)和之間先建立握手信號(hào)即信號(hào)有效由的固件自動(dòng)實(shí)現(xiàn)然后主機(jī)發(fā)送一個(gè)命令要求從機(jī)同步而從機(jī)接收到這個(gè)信號(hào)后則發(fā)送表示已同步可以通信了在通信前要先讀取的內(nèi)容并設(shè)置內(nèi)部寄存器的值配置寄存器~網(wǎng)絡(luò)節(jié)點(diǎn)地址再由對(duì)的頁(yè)與頁(yè)相關(guān)寄存器進(jìn)行初始化即可正常工作
適配器工作流程
考慮到網(wǎng)主要作為監(jiān)控網(wǎng)絡(luò)特別在樓宇自動(dòng)化中的監(jiān)控由網(wǎng)發(fā)往Ethernet的數(shù)據(jù)較多應(yīng)首先保證其優(yōu)先權(quán)且只有字節(jié)的內(nèi)存無(wú)法處理大的以太網(wǎng)幀經(jīng)過(guò)實(shí)驗(yàn)比較在最后具體實(shí)現(xiàn)時(shí)選擇最大為每幀字節(jié)盡量做到每收個(gè)幀發(fā)一個(gè)以太網(wǎng)幀流程如圖所示
服務(wù)器監(jiān)控軟件的設(shè)計(jì)
現(xiàn)場(chǎng)總線使用網(wǎng)絡(luò)變量的方式傳送數(shù)據(jù)一個(gè)網(wǎng)絡(luò)變量是網(wǎng)絡(luò)節(jié)點(diǎn)的一個(gè)對(duì)象各個(gè)節(jié)點(diǎn)之間的聯(lián)系通過(guò)網(wǎng)絡(luò)變量實(shí)現(xiàn)當(dāng)一個(gè)網(wǎng)絡(luò)變量在一個(gè)節(jié)點(diǎn)中被應(yīng)用程序改變時(shí)協(xié)議自動(dòng)將新值構(gòu)成隱式消息透明地發(fā)往可與之共享的其他節(jié)點(diǎn)而應(yīng)用程序則不必考慮發(fā)送、接收和尋址的問(wèn)題安裝在服務(wù)器上的監(jiān)控軟件將需要改變的網(wǎng)絡(luò)變量數(shù)據(jù)利用通過(guò)Ethernet發(fā)往指定地址的適配器適配器將自動(dòng)完成各個(gè)數(shù)據(jù)向相應(yīng)設(shè)備的傳輸同樣適配器也將設(shè)備發(fā)來(lái)的網(wǎng)絡(luò)變量使用發(fā)往指定的服務(wù)器使用編寫(xiě)了一個(gè)簡(jiǎn)單的設(shè)備監(jiān)控軟件實(shí)驗(yàn)中它能同時(shí)管理路的數(shù)據(jù)采集和控制適配器達(dá)到了的峰值速率實(shí)驗(yàn)?zāi)P腿鐖D所示
2.4 結(jié)束語(yǔ)
海思自動(dòng)化公司現(xiàn)已推出新一代的LonWorks適配器iAdapt601,該型號(hào)采用了全隔離、全封閉式設(shè)計(jì),運(yùn)用ECHELON公司最新一代的Neuron芯片及高性能的單片機(jī)技術(shù),滿(mǎn)足了高端應(yīng)用的需求 。
海思自動(dòng)化LON控制網(wǎng)絡(luò)適配器