LonWorks總線是由美國(guó)Echelon公司推出的一種現(xiàn)場(chǎng)總線技術(shù),由于LonWorks控制網(wǎng)絡(luò)的開(kāi)放性、高速性、互操作性及其對(duì)現(xiàn)場(chǎng)環(huán)境的適應(yīng)性,它已廣泛應(yīng)用于樓宇自動(dòng)化、家庭自動(dòng)化、保安系統(tǒng)、辦公設(shè)備、交通運(yùn)輸、工業(yè)過(guò)程控制等行業(yè)。LON總線的現(xiàn)場(chǎng)節(jié)點(diǎn)間采用LonTalk協(xié)議。當(dāng)工程師使用便攜設(shè)備對(duì)現(xiàn)場(chǎng)節(jié)點(diǎn)進(jìn)行檢測(cè)或進(jìn)行現(xiàn)場(chǎng)數(shù)據(jù)采集時(shí),往往只能使用RS232串口。眾所周知,RS232的傳輸速度最高只能達(dá)到9600kbps,這對(duì)實(shí)時(shí)性要求很高的現(xiàn)場(chǎng)數(shù)據(jù)采集來(lái)說(shuō)遠(yuǎn)遠(yuǎn)不能滿足要求。針對(duì)這一情況,筆者開(kāi)發(fā)研制了LON總線的USB2.0接口卡。該卡提供的USB2.0接口使得數(shù)據(jù)的傳輸速度能提高到480Mbps.并且向下完全兼容流行的USBl.1協(xié)議。
1 USB2.0的主要特點(diǎn)
USB協(xié)議的2.0版本于2000年4月推出,支持以下3種速度模式:低速模式(low speed)1.5Mb/s;全速模式(full speedl 12Mb/s;高速模式(high speed)480Mb/s。它支持現(xiàn)存的所有USB設(shè)備.可以把USB1.1設(shè)備插入U(xiǎn)SB1.1的PC機(jī)接口,并且在電氣上兼容USB1.1的連接線。
1.1 USB總線特點(diǎn)
◆數(shù)據(jù)傳輸速率高;
◆數(shù)據(jù)傳輸可靠;
◆同時(shí)掛接多個(gè)USB設(shè)備;
◆USB接口能為設(shè)備供電;
◆支持熱插拔。
1.2 USB的新特性
USB還具有一些新的特性。如:實(shí)時(shí)性(可以實(shí)現(xiàn)和一個(gè)設(shè)備之間有效的實(shí)時(shí)通信)、動(dòng)態(tài)性(可以實(shí)現(xiàn)接口間的動(dòng)態(tài)切換)、聯(lián)合性(不同的而又有相近特性的接口可以聯(lián)臺(tái)起來(lái))和多能性(各個(gè)不同的接口可以使用不同的供電模式)。

2 LonWorks接口卡硬件設(shè)計(jì)
2.1 LonWorks接口卡通信原理及硬件結(jié)構(gòu)
該接口卡的工作原理如下:接口卡由LON網(wǎng)接口模塊和USB2.0接口模塊組成,如圖1所示,它采用雙CPU技術(shù),主CPU為USB2.0控制器CY7C68013內(nèi)置的增強(qiáng)8051內(nèi)核(該內(nèi)核的運(yùn)行速度是普通8051的5倍),主要作為協(xié)議的轉(zhuǎn)換模塊,用來(lái)完成USB2.0協(xié)議與LonTalk協(xié)議之間的轉(zhuǎn)換,向上與便攜PC機(jī)(或其它具有USB接口的便攜設(shè)備)進(jìn)行通信,向下與3150進(jìn)行并口通信,輔CPU為TMPN3l50,主要起LON網(wǎng)接口的功能,作為通信協(xié)處理器使用,將從主CPU接收到的來(lái)自便攜PC機(jī)(或其它具有USB接口的便攜設(shè)備)的報(bào)文解析成Lontalk協(xié)議報(bào)文并通過(guò)Lonworks收發(fā)器傳向LON網(wǎng),或?qū)腖ON網(wǎng)上接收到的Lontalk協(xié)議報(bào)文轉(zhuǎn)發(fā)給主CPU,再由主CPU傳向便攜PC機(jī)(或其它具有USB接口的便攜設(shè)備)。51CPU與Neuron 3150采用并行方式通信。Neuron芯片的11個(gè)I/O有34種可選工作模式,其中包括并行I/O方式,該方式數(shù)據(jù)的最大傳送速率可達(dá)3.3Mbps。并口工作方式在數(shù)據(jù)傳送速度方面的優(yōu)勢(shì),使得Neuron芯片與51CPU完成大數(shù)據(jù)量的傳送成為可能。它們之間的數(shù)據(jù)傳輸是通過(guò)運(yùn)用“虛寫(xiě)令牌傳遞機(jī)制”實(shí)現(xiàn)的,擁有令牌的一方擁有對(duì)數(shù)據(jù)總線的寫(xiě)控制權(quán)。
2. 2 LonWOrks接口卡硬件電路設(shè)計(jì)
該接口卡中,USB2.O控制器采用Cypress公司推出的USB2.0控制器CY7C68013,它是USB2.0的完整解決方案。該芯片包括帶8.5KB片上RAM的高速8051單片機(jī)、4KB FIFO存儲(chǔ)器以及通用可編程接口(GPIF)、串行接口引擎(SIE)和USB2.O收發(fā)器。它無(wú)需外加芯片即可完成高速USB傳輸,性價(jià)比較高。智能串行接口引擎(SIE)執(zhí)行所有基本的USB功能,將嵌入式MCU解放出來(lái)用于實(shí)現(xiàn)專用的功能,井保證其持續(xù)高性能的傳輸速率。通用可編程接口(GPIF)允許它“無(wú)膠粘接”,即可與任何ASIC或DSP進(jìn)行連接,并且還支持所有通用總線標(biāo)準(zhǔn),包括ATA、UTOPIA、EPP和PCMCIA。它完全適用于USB2.0,并向下兼容USB1.1。
3150芯片選用Toshiba公司生產(chǎn)的TMPN3150。3150片內(nèi)存儲(chǔ)器的地址范圍是E800H~FFFH,包括2KB的SRAM和512B的EEPROM。3150可以外接存儲(chǔ)器,如RAM、ROM、EEPROM或Flash,其地址范圍是0000H~7FFH。根據(jù)一般應(yīng)用的性能和成本要求,3l50的外部存儲(chǔ)器采用Flash和RAM。Flash選用IS61C256AH-15N,RAM選用AT29C512。61C256和29C512的地址范圍通過(guò)邏輯門電路根據(jù)Neuron芯片的地址線和控制線E來(lái)確定。51與3l50采用3150的并口通信方式,將Neuron芯片的IO0~I(xiàn)O7作為8根數(shù)據(jù)線與51CPu的PB(PB0-PB7)口相連-108作為片選信號(hào)線e§)與51CPU的PCO口相連.IO9作為數(shù)據(jù)讀/寫(xiě)信號(hào)線(R/W)與51CPU的PC6口(寫(xiě)信號(hào))相連。IO10作為握手信號(hào)線(HS)與51CPU的PC1口相連。
為提高增加接口卡的可靠性及穩(wěn)定性,本設(shè)計(jì)增加了一個(gè)鎖存器,完成復(fù)位接口的功能。當(dāng)3150芯片復(fù)位時(shí),通過(guò)鎖存器將復(fù)位信號(hào)傳送給CY7C68013內(nèi)置的8051處理器,8051接到復(fù)位信號(hào)自動(dòng)復(fù)位,并馬上清鎖存器,其接線如圖2所示。在并口通信中,8051與3150同步非常重要,要完成并口通信,8051首先要與3150達(dá)到同步且同步操作必須在3150復(fù)位時(shí)進(jìn)行。8051只在初始化程序時(shí)才與3150進(jìn)行同步操作。因此完成同步后,每當(dāng)3l50由于誤操作或錯(cuò)誤運(yùn)行而造成復(fù)位時(shí),3150與8051將會(huì)失去同步,而8051無(wú)法檢測(cè)到,從而造成并口通信失敗。加入鎖存器之后,8051就能檢測(cè)到3150的復(fù)位信號(hào)并自動(dòng)復(fù)位自己的程序,使得8051與3150再次達(dá)到同步。這將使適配器的可靠性和穩(wěn)定性都得到加強(qiáng)。
Neuron芯片與LON網(wǎng)絡(luò)介質(zhì)的接口采用一種LonWorks自由拓?fù)湫褪瞻l(fā)器FTT-IOA。FTT-IOA是一種變壓器耦臺(tái)收發(fā)器,可提供一個(gè)與雙絞線的無(wú)極性接口,且支持網(wǎng)絡(luò)的自由拓?fù)浣Y(jié)構(gòu)。網(wǎng)絡(luò)通信介質(zhì)采用最常用的雙絞線。
2.3接口卡的抗干擾設(shè)計(jì)
工業(yè)現(xiàn)場(chǎng)的環(huán)境一般來(lái)說(shuō)較為惡劣.存在多種干擾。為保證通信的準(zhǔn)確無(wú)誤,延長(zhǎng)硬件使用壽命,該適配器除采用通常的供電和接地抗干擾措施外,主要是要避免和消除來(lái)自網(wǎng)絡(luò)介質(zhì)的靜電泄放(ESD)和電磁干擾(EMI),即主要針對(duì)FTT-IOA來(lái)設(shè)計(jì)抗干擾電路。
對(duì)于ESD,在印刷電路板(PCB)設(shè)計(jì)中應(yīng)提供一個(gè)導(dǎo)入大地的通道.還要不致引起整個(gè)PCB電壓的升降。具體采用火花放電隙和箝位二極管來(lái)實(shí)現(xiàn)。對(duì)于EMI,因?yàn)镕TT-IOA對(duì)垂直雜散電磁場(chǎng)最不敏感,而對(duì)水平雜散電磁場(chǎng)最敏感。所以在PCB設(shè)計(jì)中應(yīng)使FTT-IOA盡量遠(yuǎn)離水平雜散電磁場(chǎng)區(qū)域。對(duì)于不可避免的雜散電磁場(chǎng),應(yīng)使其相對(duì)于FTT-IOA垂直分布。
3 LOnWorks接口卡軟件設(shè)計(jì)
3.1 Neuron芯片的編程語(yǔ)言——Neouron C
Neuron芯片有一套專門的開(kāi)發(fā)語(yǔ)言——Neuron C。Neuron C派生于ANSI C,并增加了對(duì)I/O、事件處理、報(bào)文傳送和分市式數(shù)據(jù)對(duì)象的支持,是開(kāi)發(fā)Neuron芯片應(yīng)用程序的重要工具。其語(yǔ)法擴(kuò)展包括軟件定時(shí)器、網(wǎng)絡(luò)變量、顯式報(bào)文、多任務(wù)調(diào)度、EEPROM變量和附加功能等。其中,顯示報(bào)文的使用為L(zhǎng)ON節(jié)點(diǎn)間的通信及互操作提供了基礎(chǔ)。通過(guò)對(duì)不同節(jié)點(diǎn)分配網(wǎng)絡(luò)地址,即可實(shí)現(xiàn)節(jié)點(diǎn)之間的數(shù)據(jù)傳遞。也就是說(shuō),LON接口卡中的3150通過(guò)構(gòu)造和解析報(bào)文實(shí)現(xiàn)了與LON網(wǎng)用戶節(jié)點(diǎn)的通信。
3.2 CY7C6801 3的開(kāi)發(fā)工具
Cypress公司對(duì)CY7C680 1 3提供了較為完備的開(kāi)發(fā)套件CY3681。它包括帶128腳CY7C68013的硬件開(kāi)發(fā)板、相應(yīng)的控制面板(Control panel)和GPIF代碼自動(dòng)生成軟件(GPIFT001)。對(duì)于內(nèi)核8051的開(kāi)發(fā)采用Keil開(kāi)發(fā)工具。





