《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > LonWorks-USB互聯適配器的設計開發

LonWorks-USB互聯適配器的設計開發

2008-08-04
作者:周 琦, 袁學文, 肖文華, 汪

  摘?要: LonWorks技術的核心是神經元芯片" title="神經元芯片">神經元芯片,介紹了神經元芯片的一種I/O" title="I/O">I/O應用模式——并行口I/O模式,并介紹了基于此I/O模式設計開發的LonWorks協議與USB標準的互聯" title="互聯">互聯適配器。

  關鍵詞: LonWorks? 神經元芯片? 并行口I/O模式? EZ-USB

  

??? LonWorks技術是美國Echelon公司于上世紀90年代初推出的一種現場總線技術。LON(Local Operating Network)的意思為局部操作網絡,它是用于開發監控網絡系統的一個完整的技術平臺,LonWorks現場總線在網絡通訊方面具有突出的優點,作為現場總線中的佼佼者在國內各個領域的測控系統中廣泛流行。

  通用串行總線(Universal Serial Bus,即USB)是一種快速、靈活的總線接口。與其它通信接口相比,USB總線接口最大的特點是易于使用,這主要表現在成本低、適用于多種設備、支持熱插拔等方面,并且所有的配置過程都由系統自動完成,無需用戶干預。目前,市場上供應的USB控制器主要有兩種:帶USB接口的單片機(MCU)和純粹的USB接口芯片。本文采用Cypress公司推出的帶智能USB接口的EZ-USB" title="EZ-USB">EZ-USB單片機。該單片機極大地降低了USB外設的開發難度,為PC機外設的制造商提供了一個性能優良、價格較低的設計方案。采用USB接口設計開發的LON網互聯適配器很好地解決了傳統適配器由于RS-232與PC/Laptop互聯而造成的速度上的瓶頸。

1 系統框圖及工作原理

1.1系統框圖

  系統框圖如圖1所示。

?

?

????互聯適配器是LON網與PC/Laptop的接口,在通信過程中起著關鍵的作用,它既完成了LON網與PC/Laptop的互聯,又實現了數據的交換。互聯適配器作為LON網的一個特殊的網絡節點——通信處理器,能按照LonTalk協議與LonWorks總線上所有分布在現場的智能節點進行對等的數據通信,起到上傳下達的橋梁作用。當現場的測控設備有數據送到LonWorks網絡上時,互聯適配器負責把所有發送給它的信息接收下來,將測控設備發送來的LonTalk顯式報文重新打包裝幀,向PC/Laptop發送。同時,它將從PC/Laptop接收來的已解析的數據按LonWorks現場總線通信協議構造LonTalk顯式報文,發送給LonWorks網上的測控設備。

  相對USB系統而言,PC/Laptop是USB主機,互聯適配器只是USB外部設備。在整個USB系統中只有一個主控制器,即主機(PC/Laptop),主機是總線控制者,USB設備響應主機請求。系統軟件設計部分也是針對主機和外部設備這兩部分展開的。

1.2 工作原理

  互聯適配器中采用Neuron芯片預定義的并口I/O應用模式實現雙CPU的通信,并行口的速率可達3.3Mbps,實現了高數據速率。

  并行I/O應用模式下利用Neuron芯片的11個I/O口進行通信,其中,IO0~IO7為雙向數據線,IO8~IO10為控制信號線,借助令牌" title="令牌">令牌傳遞/握手協議,并行I/O口可用來外接處理器,實現Neuron芯片與外接各類微處理器之間的雙向數據通信,在這里采用EZ-USB單片機與Neuron芯片互連。主機PC/Laptop控制USB外部設備,通過互聯適配器與LON網各現場節點通信,其實質就是互聯適配器中EZ-USB單片機與Neuron芯片之間的通信。

 ? 并行口的工作方式有三種,即主模式、從A模式、從B模式。不同的模式下,IO8~IO10這三根控制信號線的意義不同,這里應用的是從A模式。在從A模式中,認為Neuron芯片為從CPU,EZ-USB單片機為主CPU,主CPU和從CPU之間的數據傳輸通過虛擬的寫令牌傳遞協議(Virtual Write Token-Passing Protocol)得以實現。主CPU和從CPU交替地獲得寫令牌(Write Token),只有擁有寫令牌的一方可以寫數據(不超過255個字節),或者不寫任何數據傳送一個空令牌。傳送的數據要遵從一定的格式,即在要傳送的數據前面加上命令碼和傳送的數據長度,命令碼有CMD_XFER(寫數據)、CMD_NULL(傳遞空令牌)、CMD_RESYNC(要求從機同步)、CMD_ACKSYNC(確認同步)四種,最后以EOM字節結束。在從A方式中,整個握手/應答協議以及數據傳送的實現過程是自動完成的。在通信以前,主CPU和從CPU之間先建立握手信號,即HS信號有效(這由3150的固件自動實現)。然后,主CPU再送一個CMD_RESYNC命令,要求從CPU同步,而從CPU接收到這個信號以后,則發送CMD_ACKSYNC,表示已經同步、可以通信了。同步以后,虛寫令牌就在主CPU和從CPU之間無限地、交替地傳遞,擁有虛寫令牌的一方就可以向數據總線上寫數據,即主CPU可以往從CPU寫數據,從機也可以將數據傳往主CPU。

??? 需要特別說明的是,Neuron芯片的握手及令牌傳遞的實現是自動的,但是對于非Neuron芯片的微處理器( EZ-USB),就要求編程人員通過編程使非Neuron芯片的微處理器能夠執行Neuron芯片的握手/令牌傳遞算法,也即是復制Neuron芯片的行為,從而實現雙方的通信。

2 硬件設計

??? 互聯適配器的結構框圖如圖2所示,主要由神經元芯片和EZ-USB單片機組成。

?

??? 神經元芯片(Neuron Chip)是LonWorks技術的核心, 芯片中含有Lontalk協議的固態軟件(簡稱固件),使其能可靠地通信。神經元芯片主要包含TMPN3150和TMPN3120兩大系列,由日本東芝公司生產。TMPN3150支持外部存儲器,適合更為復雜的應用,而TMPN3120則不支持外部存儲器,它本身帶ROM。所以,在互聯適配器的設計中選用的是TMPN3150,該芯片內有三個微處理器,即MAC處理器、網絡處理器和應用處理器。對神經元芯片進行外圍電路的設計和擴展,使之成為LonWorks網上的一個特殊的LON節點,這樣它不僅可以與LonWorks網絡上的LON節點進行通信,還可以作為適配器的協通信處理器。

??? TMPN3150片內存儲器的地址范圍是E800H~FFFFH,包括2KB的RAM、0.5KB的EEPROM、2.5KB保留空間和1KB的用于存儲器映象I/O的空間。TMPN3150有16根地址線,可尋址64K空間,可以外接存儲器,如RAM、ROM、EEPROM或FLASH等。由于開發Neuron芯片時采用Neuron C語言,內存占用大,另外其作為通信協議處理器使用要求有大量的數據緩沖區進行數據交換,而僅僅利用3150內部的2KRAM空間是遠遠不夠的,因此擴展了外部存儲器FLASH和RAM。FLASH選用AT29C512,其地址范圍是0000H~7FFFH;RAM選用IS61C256AH-15N,其地址范圍是8000H~DFFFH。AT29C512和IS61C256AH-15N的地址范圍由Neuron芯片的地址線和控制線E及相關的邏輯門電路來確定。神經元芯片的晶振為10MHz。Neuron芯片與LON的網絡介質的接口采用上海工業自動化儀表研究所生產的雙絞線收發器。收發器按其傳輸速率可以分為TPT/XF-78(傳輸速率為78kbps)、TPT/XF-1250(傳輸速率為1.25Mkbps)兩種型號,用于滿足不同的通訊要求。這里選用的是TPT/XF-1250。

??? EZ-USB單片機采用的是EZ-USB2100系列中具有44個引腳的AN2131S。AN2131S是互聯適配器的主CPU,利用其I/O端口足以完成所需的功能。EZ-USB芯片中包含內部程序/數據RAM共8KB,不再需要ROM或其它非易失性存儲器。主CPU與輔CPU的連接很簡單,即與輔CPU的11個I/O口進行連接。單片機的PB口接上輔CPU的IO0~IO7,為兩個CPU的并行通訊數據端口。單片機的PC0~PC2分別接神經元芯片IO8~IO10,完成控制功能。AN2131S再通過引腳USBD+和USBD-與主機PC/Laptop互聯。

3 軟件設計

??? 適配器的軟件程序設計分為兩大塊。一塊為對主機PC/Laptop程序的軟件設計,另一塊為對外圍USB設備——互聯適配器程序的軟件設計。

3.1 USB主機的軟件設計

??? 主機的軟件設計主要包括兩部分:一是基于USB的互聯適配器的驅動程序。如圖3所示,USB通信使用分層驅動模型,每層處理一部分通信過程,這樣可以使不同設備在一些任務上使用相同的驅動。這里使用Microsoft WDM DDK和Microsoft Visual C++6.0來完成。

?

??? 二是USB通信程序和用戶服務程序。用戶服務程序通過USB通信程序與系統USBDI(USB Device Interface)通信,由系統完成USB協議的處理與數據傳輸。從邏輯上講,USB數據的傳輸是通過管道進行的。USB系統軟件通過缺省管道(與端點0相對應)管理設備,設備驅動程序通過其它的管道來管理設備的功能接口。為了滿足不同外設和用戶的要求,USB提供了四種傳輸方式:控制傳輸、同步傳輸、中斷傳輸和塊傳輸。本系統使用的是塊傳輸。EZ-USB提供了16個用于塊傳輸的端點,包括7個IN端點(EP1_IN~EP7_IN)和7個OUT端點(EP1_ OUT~EP7_OUT)。每個端點都有一個64字節的緩沖區。塊端點無方向控制,一個端點地址對應一個方向,所以端點IN1的地址不同于端點OUT1的地址,本適配器就采用這對端點傳輸數據。其中,端點0在USB系統中有特定含義,它是EZ-USB芯片中唯一的控制端點,用于傳輸控制信息。

??? 開發可以訪問互聯適配器的應用程序,可使用任何一個支持win32函數CreateFile()和DeviceIoControl()的編譯器。首先調用CreateFile()函數,來取得訪問設備驅動程序的句柄,CreateFile()使用設備的鏈接符作為函數參數。然后調用DeviceIoControl()函數來提交I/O控制碼,并且為CreateFile()函數返回的設備句柄設置 I/O緩沖區。最后,還要調用CloseHandle()關閉設備。其中,最重要的函數是DeviceIoControl(),它的功能是完成應用程序與驅動程序之間數據的交換。DeviceIoControl()函數的具體格式為:

??? BOOL DeviceIoControl(

?????? HANDLE hDevice,???????? ??????? //外設句柄

?????? DWORD dwIoControlCode,??????????//I/O操作控制代碼

?????? LPVOID? IpInBuffer,?????????????//輸入緩沖區指針

?????? DWORD nInBufferSize, ?????????? //輸入緩沖區大小

?????? LPVOID? IpOutBuffer,????????????//輸出緩沖區指針

?????? DWORD nOutBufferSize,???????????//輸出緩沖區大小

?????? LPDWORD??? IpBytesReturned,?????//實際返回的字節數

?????? LPOVERLAPPED? IpOverLapped???????//用于異步操作的結構指針

??? );

3.2 外圍USB設備——互聯適配器的軟件設計

??? 這一部分的軟件編寫也包括兩部分。一部分為對主CPU(EZ-USB)的編寫。USB內核功能強大,可以自動完成USB協議的轉換,從而大大簡化了8051的代碼。采用C51語言,并使用EZ-USB的固件函數庫和程序框架。框架完成了一個簡單的任務循環,用戶函數TD_Poll()能夠實現USB外設的功能。因為從CPU(Neuron Chip)的并行模式是芯片內部定義的,遵從虛擬的寫令牌傳遞協議,所以需要編寫芯片EZ-USB的程序來模擬3150的I/O并行口的從A模式。所以TD_Poll()函數主要完成四項工作:與輔CPU同步、握手、令牌的傳送以及并行口數據的讀寫。

??? 另一部分為從CPU的軟件程序的編寫,用神經元的編程語言即Neuron C語言完成。從CPU主要完成將并口得到的報文解析,再利用Neuron C的消息傳送機制,將解析的消息傳送給適配器下層的應用節點;同時,還將從適配器下層的應用節點以消息形式傳送上來的數據或信息構造成EZ-USB可識別的報文,通過并口傳送給EZ-USB。由從機內部定義的與并行I/O對象有關的函數主要有:

??? io_in_ready():當并口上有數據傳送到來時,此函數值為TRUE。此時可調用io_in()函數接收數據。

??? io_out_request():此函數用來向并口總線發出請求以獲取令牌。

??? io_out_ready():當并口總線處于可寫狀態即3150獲取到令牌后,此函數值為TRUE,此時可調用io_out()函數將數據發送到并口。在調用此函數之前應先調用io_out_request()。

??? io_in(): 將并口上的數據接收到緩沖區。

??? io_out():將緩沖區的數據發送到并口總線上。

??? 本文設計的互聯適配器在結構上采用雙CPU設計,具有結構簡單、小型化的特點,非常適合用于測控系統。在軟件設計中,突出模塊的靈活性,并且USB內核可以自動完成USB協議的轉換,大大簡化了8051的代碼。總之,本適配器具有組態靈活、成本低、可靠性好、通信能力強等優點,在工業控制、樓宇自動化等諸多領域有廣闊的應用前景。

?

參考文獻

1 Neuron C Programmer’s Guide. ECHELON公司,1995

2 Neuron C Reference Guide.ECHELON公司,1995

3 Neuron Chip Data Book.ECHELON公司,1995

4 楊育紅.LON網絡控制技術及應用.西安:西安電子科技大學出版社,1999

5 楊育紅. LON網絡程序設計.西安: 西安電子科技大學出版社,2001

6 顏榮江. EZ-USB2100系列單片機原理、編程及應用.北京:北京航空航天大學出版社,2002

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久青草婷婷精品综合日韩| 欧美日韩第一区| 99亚洲精品| 亚洲欧洲日本一区二区三区| 欧美主播一区二区三区| 香蕉亚洲视频| 久久精品道一区二区三区| 日韩午夜在线播放| 亚洲精品久久久蜜桃| 亚洲国语精品自产拍在线观看| 久久精品九九| 黑人巨大精品欧美黑白配亚洲| 亚洲免费观看视频| 亚洲日本成人网| 亚洲美女一区| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲一区www| 亚洲一区二区免费在线| 亚洲私人影院在线观看| 亚洲一区二区日本| 亚洲女人天堂成人av在线| 午夜伦欧美伦电影理论片| 久久精品视频免费播放| 久久久久久高潮国产精品视| 久久久亚洲高清| 免费看黄裸体一级大秀欧美| 欧美激情1区2区3区| 亚洲精品裸体| 99精品福利视频| 亚洲午夜性刺激影院| 亚洲一二三四久久| 欧美在线视频播放| 久久五月激情| 欧美成人有码| 国产精品成人免费精品自在线观看| 欧美午夜剧场| 国产日韩欧美中文在线播放| 精品成人一区二区三区| 亚洲老司机av| 亚洲校园激情| 久久精品人人| 99视频精品免费观看| 亚洲欧美另类在线观看| 久久免费视频这里只有精品| 欧美激情第9页| 国产精品国产三级国产aⅴ无密码| 国产视频欧美| 91久久在线视频| 亚洲一级免费视频| 亚洲电影第三页| 中文av一区特黄| 久久成人精品一区二区三区| 猫咪成人在线观看| 国产精品第一区| 激情欧美亚洲| 99亚洲视频| 欧美在线免费一级片| 一区二区动漫| 久久精品国产免费观看| 欧美美女视频| 国产日韩欧美视频在线| 亚洲国产精品一区在线观看不卡| 一区二区三区**美女毛片| 久久精品视频免费播放| 亚洲午夜高清视频| 久久久久在线观看| 欧美视频福利| 亚洲高清视频一区| 亚洲欧美日韩一区二区三区在线观看 | 国产精品免费看久久久香蕉| 国产有码在线一区二区视频| 亚洲美女av电影| 久久精品99国产精品日本| 亚洲性av在线| 欧美黄色一区| 国产一区二区三区黄| 在线视频亚洲| 99国内精品久久| 老鸭窝91久久精品色噜噜导演| 欧美新色视频| 亚洲经典自拍| 久久精品九九| 欧美一区二区在线看| 欧美日韩蜜桃| 尤物99国产成人精品视频| 午夜精品成人在线| 亚洲一区不卡| 欧美人与禽性xxxxx杂性| 玉米视频成人免费看| 欧美亚洲免费在线| 亚洲影音先锋| 欧美日韩中字| 亚洲精品老司机| 亚洲国产视频a| 久久久久一区二区三区| 国产女精品视频网站免费| 99国产精品久久久久久久久久| 亚洲精品一区二区三区在线观看| 久久九九99| 国产欧美二区| 亚洲一区二区成人| 亚洲尤物视频在线| 欧美日韩免费一区二区三区| 亚洲国产一成人久久精品| 亚洲福利在线看| 麻豆成人在线| 揄拍成人国产精品视频| 久久精品99国产精品| 久久一日本道色综合久久| 国产日韩一区欧美| 亚洲欧美日韩精品一区二区| 亚洲主播在线| 欧美亚州在线观看| 亚洲视频 欧洲视频| 亚洲天堂激情| 国产精品mv在线观看| 亚洲深夜影院| 午夜在线播放视频欧美| 国产精品久久久久久久浪潮网站 | 欧美精品色网| 亚洲人成在线免费观看| 99精品热视频| 欧美视频一区在线观看| 一本色道久久综合亚洲91| 亚洲天堂av图片| 国产精品欧美日韩一区| 亚洲免费一在线| 久久aⅴ国产紧身牛仔裤| 国产午夜精品一区二区三区欧美| 西西裸体人体做爰大胆久久久| 欧美与黑人午夜性猛交久久久| 国产精品一区二区在线观看| 午夜视频在线观看一区二区| 久久精品1区| 伊人成人在线| 亚洲美女av网站| 欧美日韩一区二区在线观看视频| 99在线|亚洲一区二区| 亚洲免费人成在线视频观看| 国产精品私拍pans大尺度在线| 午夜精品一区二区三区电影天堂| 久久国产欧美日韩精品| 国内精品久久久久久影视8 | 亚洲美女福利视频网站| 亚洲一区二区高清视频| 国产精品系列在线| 羞羞漫画18久久大片| 美女啪啪无遮挡免费久久网站| 亚洲黄色天堂| 亚洲欧美激情诱惑| 国产亚洲福利| 亚洲精品四区| 国产精品久久久久久影视| 香蕉成人伊视频在线观看| 久久亚洲影院| 日韩一区二区久久| 欧美在线视频一区二区| 影音先锋中文字幕一区| 中文欧美字幕免费| 国产日韩欧美不卡在线| 亚洲黄色三级| 国产精品成人一区二区三区夜夜夜| 亚洲欧美日韩一区二区| 欧美jizz19性欧美| av成人免费在线| 久久成人av少妇免费| 91久久国产精品91久久性色| 亚洲欧美日本视频在线观看| 国产综合第一页| 在线视频日本亚洲性| 国产日韩一区二区三区在线播放| 最新中文字幕亚洲| 国产精品福利影院| 亚洲国产日韩欧美在线图片| 欧美天堂亚洲电影院在线观看 | 亚洲一区二区高清视频| 狠狠做深爱婷婷久久综合一区| 一本色道久久综合亚洲精品婷婷| 国产日本亚洲高清| 一本久久综合亚洲鲁鲁| 国产亚洲午夜| 正在播放日韩| 伊人成人网在线看| 午夜精品久久久久| 亚洲激情午夜| 久久不射网站| 亚洲最新色图| 欧美v日韩v国产v| 午夜精品久久久| 欧美日韩黄色一区二区| 久久精品国内一区二区三区| 欧美性猛片xxxx免费看久爱| 亚洲黄色一区二区三区| 国产精品一区在线观看| av不卡在线| 伊人久久成人| 久久精品官网| 亚洲一区二区在线播放| 欧美另类一区| 亚洲激情在线观看视频免费|