(海思研發部供稿)
關鍵詞:LonWorks,LonWorks開發,LonWorks技術,控制網絡
一、LonWorks技術概述
工業現場總線技術迅猛發展,取代傳統的集中式控制系統已成為必然趨勢。LonWorks技術是美國ECHELON公司在上世紀90年代研發的先進控制網絡技術。LonWorks以其杰出的分布式處理能力、開放性、互操作性、多媒介適應能力以及多網絡拓撲結構等特性,適應了未來發展對測控網絡的要求,成為眾多現場總線技術中的佼佼者。
LonWorks技術將計算機技術、網絡技術、遠程控制技術集成在一片神經元芯片中,并在該芯片內固化了LonTalk通信協議。該協議遵循ISO標準,可用雙絞線、電力線、光纖、同軸電纜、無線電波、紅外等多種媒介進行通信。另外,LonTalk協議采用可預測“載波監聽多路訪問”(CSMA)來解決網絡通信的瓶頸問題,通信速度可達1.25Mb/s或78kb/s,通信長度可達2700m。在LonWorks技術中,網絡通信采用面向對象的設計方法,引入“網絡變量”,使網絡通信的設計簡化為參數設計。LonWorks技術還具有真正的互操作性。目前,LonWorks技術已廣泛應用于樓宇、工業、能源、交通、電力 等眾多的自動化領域。
實現LonWorks測控網絡的關鍵是LonWorks智能節點的開發。本文提出了兩種LonWorks頻率采集節點的設計與實現方法,并對二者的優缺點進行了綜合比較。
二、LonWorks智能節點描述
LonWorks智能節點的核心處理器神經元芯片是NEURON 3120或NEURON3150.神經元芯片具有獨特的內部結構即:芯片內部集成了三個CPU,CPU-1是介質訪問控制器,CPU-2是網絡處理器,二者共同完成節點的網絡通信功能,CPU-3是應用處理器,主要負責執行用戶編寫的代碼以及用戶代碼調用的操作系統命令。
典型的LonWorks智能節點的結構有兩種類型:
1、以NEURON芯片為核心的節點,NEURON芯片既處理用戶應用又負責網絡通信,如圖1(a)所示;
2、采用MIP結構的節點,NEURON芯片只充當通信處理器,節點的應用程序由主處理器來執行,如圖1(b)所示.
ECHELON公司將雙較線收發器FTT-10A與原有的神經元芯片集成在一起推出了雙較線智能收發器FT3150、FT3120芯片,節省了用戶在外圍電路設計上所花費的時間,不僅降低了節點的開發難度和開發成本,而且提高了節點的抗干擾性。此外FT3150、FT3120芯片還支持更高的輸入時鐘,最高輸入時鐘可達40M赫茲,大大提高了整個芯片的處理速度。
三、基于神經元芯片的頻率采集節點設計
LonWorks是專用于工業測控領域的控制網絡,為了方便使用NEURON芯片的11個I/O口可以通過編程定義為34種應用對象。其中周期輸入對象、脈沖計數對象和總數輸入對象都可對現場頻率信號進行測量。下面分別給出這三類IO對象的簡單應用:
1、周期輸入對象可測量輸入信號兩個上升沿或兩個下降沿之間的時間間隔簡單應用如下:
2、當FT3150采用10M晶振時周期輸入對象的分辨率是25.6us,脈沖計數輸入對象可通過技術0.8388608s時間內的輸入邊沿,測量輸入信號的平均頻率,簡單應用如下:
3、總數輸入對象通過定時計數器記錄輸入信號的上升沿或下降沿跳變總數,當FT3150采用10M晶振時輸入信號的最大頻率是2.5M赫茲。
簡單應用如下:
一種簡單的頻率測量實現方法就是利用以上三種IO對象來實現的。設計框圖如圖2所示。
8選1多路模擬開關CD4051通過IO_0~IO_4與FT3150相連,FT3150可以定義IO_0~IO_7相鄰的4個IO口作為半字節IO對象用來進行通道選通,我們選用IO_0~IO_3來實現此功能,半字節IO對象的定義如下:IO_0 output nibbleio_select;IO_4為測量信號輸入腳。
此類節點可以對8路頻率信號進行采集,具有易簡單,體積小等特點,其缺點是由于受NEURON芯片自身特性的限制只適用于輸入信號頻率較低的場合。
四、基于多處理器模式(MIP模式)的頻率采集節點設計
針對測量頻率較高的場合,節點的設計可采用多處理器模式,用AT89C52單片機進行頻率測量,FT3150專職負責處理LonWorks網絡通信。輸入頻率信號經過限幅或放大等信號調理電路后進入可編程器件CPLD進行分頻處理,單片機對分頻后的信號進行采集后,通過異步串口送入FT3150,并由它轉發至LonWorks網絡。
節點硬件設計框圖如圖3:
設計中CPLD采用可編程器件ISP1016E來實現輸入信號進行分頻以及通道的切換。
ISP1016E內部有2000個PLD門,32個輸入輸出(IO)引腳,4個專用輸入引腳,引腳TTL電平兼容。ISP1016E采用高性能的E2CMOS技術,最大使用頻率為125M赫茲,電可擦除和編程。設計使用ISP1016E的16個IO作為信號的輸入端;3個IO口(A,B,C)實現8選1選通;一個IO口(CS)控制是否進行分頻,當CS=0時不對輸入信號進行分頻,輸入8路低頻信號,當CS=1時對輸入信號進行分頻處理;然后通過IO輸出至單片機采集端口。
FT3150可根據網絡上的控制消息向AT89C52發出中斷信號,啟動數據采集,經過一段延時后通過異步串口接收來自單片機的采集數據。
I0_0 output bit starts;//中斷信號發送I/O口starts是自定義的對象名稱,output bit表示IO被定義為比特輸出對象發送啟動采集信號可以通過下面的語句實現。
單片機檢測到IO_0引腳的由高到低的電平變化后進入中斷采集數據。采集完8個通道的數據后通過異步串口發送采集數據。FT3150接收數據的實現程序如下:
IO_8 input serial baud(4800)data_in;
IO_8定義為串行輸入口,波特率為4800b/s,io_in(data_in,in_buffer,17);
接收采集數據并存放與輸入緩沖區。
(本文僅供讀者學習,不代表本網認可其觀點及方法)
返回頂部