關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > LON總線的USB2.0接口卡的研制

LON總線的USB2.0接口卡的研制

作者: 時間:2006-05-10 來源:網(wǎng)絡 收藏
LonWorks是由美國Echelon公司推出的一種現(xiàn)場技術(shù),由于LonWorks控制網(wǎng)絡的開放性、高速性、互操作性及其對現(xiàn)場環(huán)境的適應性,它已廣泛應用于樓宇自動化、家庭自動化、保安系統(tǒng)、辦公設備、交通運輸、工業(yè)過程控制等行業(yè)。的現(xiàn)場節(jié)點間采用LonTalk協(xié)議。當工程師使用便攜設備對現(xiàn)場節(jié)點進行檢測或進行現(xiàn)場數(shù)據(jù)采集時,往往只能使用RS232串口。眾所周知,RS232的傳輸速度最高只能達到9600kbps,這對實時性要求很高的現(xiàn)場數(shù)據(jù)采集來說遠遠不能滿足要求。針對這一情況,筆者開發(fā)總線的。該卡提供的接口使得數(shù)據(jù)的傳輸速度能提高到480Mbps.并且向下完全兼容流行的USBl.1協(xié)議。

1 的主要特點
USB協(xié)議的2.0版本于2000年4月推出,支持以下3種速度模式:低速模式(low speed)1.5Mb/s;全速模式(full speedl 12Mb/s;高速模式(high speed)480Mb/s。它支持現(xiàn)存的所有USB設備.可以把USB1.1設備插入USB1.1的PC機接口,并且在電氣上兼容USB1.1的連接線。
1.1 USB總線特點
◆數(shù)據(jù)傳輸速率高;
◆數(shù)據(jù)傳輸可靠;
◆同時掛接多個USB設備;
◆USB接口能為設備供電;
◆支持熱插拔。
1.2 USB的新特性
USB還具有一些新的特性。如:實時性(可以實現(xiàn)和一個設備之間有效的實時通信)、動態(tài)性(可以實現(xiàn)接口間的動態(tài)切換)、聯(lián)合性(不同的而又有相近特性的接口可以聯(lián)臺起來)和多能性(各個不同的接口可以使用不同的供電模式)。



2 LonWorks硬件設計
2.1 LonWorks通信原理及硬件結(jié)構(gòu)

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

3 LOnWorks接口卡軟件設計
3.1 Neuron芯片的編程語言――Neouron C

Neuron芯片有一套專門的開發(fā)語言――Neuron C。Neuron C派生于ANSI C,并增加了對I/O、事件處理、報文傳送和分市式數(shù)據(jù)對象的支持,是開發(fā)Neuron芯片應用程序的重要工具。其語法擴展包括軟件定時器、網(wǎng)絡變量、顯式報文、多任務調(diào)度、EEPROM變量和附加功能等。其中,顯示報文的使用為LON節(jié)點間的通信及互操作提供了基礎(chǔ)。通過對不同節(jié)點分配網(wǎng)絡地址,即可實現(xiàn)節(jié)點之間的數(shù)據(jù)傳遞。也就是說,LON接口卡中的3150通過構(gòu)造和解析報文實現(xiàn)了與LON網(wǎng)用戶節(jié)點的通信。
3.2 CY7C6801 3的開發(fā)工具
Cypress公司對CY7C680 1 3提供了較為完備的開發(fā)套件CY3681。它包括帶128腳CY7C68013的硬件開發(fā)板、相應的控制面板(Control panel)和GPIF代碼自動生成軟件(GPIFT001)。對于內(nèi)核8051的開發(fā)采用Keil開發(fā)工具。

 


3.3 LonWorks接口卡的軟件設計
該接口卡的程序包含兩大部分:一是存儲在CY7C68013中的USB驅(qū)動程序和與3150的并口通信程序:二是存儲在3150外部Flash中的并口通信程序以及LonTalk協(xié)議轉(zhuǎn)換程序。USB驅(qū)動程序在開發(fā)套件CY368 1中已有支持用戶,只要調(diào)用即可。而與31 50的并口通信程序則采用Keil C51語言編寫,并通過usB口下載到CY7C68013的8051內(nèi)核中。3150外部Flash中的并口通信程序以及LonTalk協(xié)議轉(zhuǎn)換程序采用Neuron C語言編寫,并采用LonWorks開發(fā)工具――LonBuilder中的Neuron C編譯器對程序進行編譯,生成ROM映像文件,最后下載到片外Flash中。
在8051的并口通信程序中,需要模擬3150的并口通信從A方式。以下為并口通信程序中主要模塊的C51程序,包括同步模塊(sync―loop());握手模塊(hndshkO);并口數(shù)據(jù)傳送接收模塊(pio read();pio write(void));令牌傳遞模塊(pass token())。
void sync-loop(void)
{unsigned char rb;
do{RW=0;hndshk();PB=CMD RESYNC;CS=0;CS=I;hndshk();
PB=EOM;CS=0;CS=1;hndshk();PB=0xff;RW=I;CS=0;rb=PB;
CS=I;}while(rb!=CMD ACKSYNC);token=MASTER;}
void hndshk(void)
{while((hs=INTO)==1);}
void pio_read(void)
{unsigned char cmd;unsigned char i;
PB=0xff;hndshk();RW=1;cmd=PB;CS=0;CS=1;
if(cmd==CMD―XFER){hndshk();pio.1en=PB;CS=0;CS=1;}
else pio.1en=o=pass―token();}
void pio-write(void)
{unsigned char sd;
hndshk();RW=0;PB=CMD―XFER;CS=0;CS=1;hndshk0;PB=pio.
1en;CS=0;CS=1:
for(sd=0;sdpio.1en;sd++){hndshk();PB=pio.dat[sd];CS=0;CS=l;}
pass_token();RW=1;}
void pass_token(void)
{ifftoken==MASTER){hndshk();RW=0;PB=EOM;CS=0;CS=1:
token=SLAVE;}
else token=MASTER;}
根據(jù)硬件設計,將3150芯片的I/O定義為并行(parallel)I/O對象類型。定義并行I/O對象的Neuron C源代碼為IO 0 parallel slave P BUS,其中,P BUS為所定義的I/O對象名稱。Neuron將從并口得到的報文解析,再利用Neuron C的消息傳送機制,將解析的消息傳送給適配器下層的應用節(jié)點。讀取數(shù)據(jù)的Neuron C函數(shù)為io_in(),其格式如下:io in(P BUS,addressl);
其中,P_BUS為并口IO對象名稱,addressl為接收并口數(shù)據(jù)的地址。發(fā)消息的Neuron C函數(shù)為msg send()。
值得注意的是,Neuron芯片的應用CPU在執(zhí)行該io_in()函數(shù)時會處于等待狀態(tài),也就是說等待數(shù)據(jù)時應用CPU不能處理其它I/O事件、定時器終止、網(wǎng)絡變量更新或報文到達事件。如果2 0字符時間內(nèi)尚沒有接收到數(shù)據(jù),則可能使Wat Chdog定時器產(chǎn)生超時錯。在10MHz的輸入時鐘下,watchdog的超時時間是0.84s(該時間隨輸入時鐘而改變)。通常情況下,調(diào)度程序(scheduler)會周期性地對watchdog定時器進行復位,但當程序處理一個較長的任務(task)如io in()時,則有可能終止watChdog定時器,這將導致整個節(jié)點的復位。為避免產(chǎn)生這種情況,同時使程序盡可能多地接收到達的數(shù)據(jù),本節(jié)點程序在接收數(shù)據(jù)這個任務中周期性地調(diào)用函數(shù)watchdog update()。

4 結(jié)論
本文所設計接口卡的主要目的是為帶有USB接口的便攜設備進行現(xiàn)場數(shù)據(jù)測量和現(xiàn)場監(jiān)測提供高速、安全的通信接口。解決了令工程師頭痛的便攜設備與現(xiàn)場設備采用通用串口通信時傳輸速率低、經(jīng)常掉線、連接不可靠的問題。



關(guān)鍵詞: 研制 接口卡 USB2.0 總線 LON

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉