新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 現場總線水輪機組狀態監測系統

        現場總線水輪機組狀態監測系統

        作者: 時間:2012-08-10 來源:網絡 收藏

        2.1現場節點設計

        現場節點既要接收上位機發出的采集命令,命令標準傳感器采集現場信號;又要把采集到的現場信號通過LON總線送到上位機,由上位機進行處理。其結構如圖2所示。

        2.1.1節點組成

        節點由神經元芯片Neuron3150、LONWORKS雙絞線、網絡收發器、程序程序器、數據存儲器、十二位A/D轉換芯片AD1674等組成。其中,3150神經元芯片選用TOSHIBA公司生產的TMPN3150;FLASHROM選用AT29C512;數據存儲器(RAM)選用ISSI公司的IS61C256;Neuron3150芯片與LON總線的網絡介質接口選用Echelon公司的自由拓撲型收發器FTT10A,它是一種變壓器耦合收發器,可提供一個與雙絞線的無及性接口,且支持網絡的自由拓撲結構;網絡通訊介質采用最常用的雙絞線;A/D轉換芯片采用性價比較高的AD1674芯片,其轉換精度為1/2LSB,轉換速率為100kSPS,具備三態輸出緩沖區。

        2.1.2存儲空間分配

        Neuron3150芯片片內存儲器的地址范圍為E800H~FFFFH,包含2KB的RAM(E800~EFFF)、0.5KB的EEPROM(F000~F1FF)、2.5KB的保留空間(F200~FBFF)和1KB的用于存儲器映像I/O的空間(FC00~FFFF)。外部擴展存儲器的地址由Neuron3150的地址引腳和控制引腳來確定:給FLASHROM分配的地址空間為0000~7FFF,其中,0000~3FFF的16KB空間用于系統固件(Firmware),系統固件實現了LonTalk協議,4000~7FFF的16KB空間用于用戶程序代碼;給RAM分配的地址空間為8000~E7FF的24KB地址空間;將E000~E7FF的2KB地址空間分配為外部設備的內存映像I/O的空間。

        2.1.3A/D轉換接口方案

        本文在設計時曾考慮過使用Neuron芯片為A/D轉換電路提供串行I/O及并行I/O接口方式。然而串行I/O方式速度太慢;并行I/O方式實現起來需要占用Neuron芯片全部11個I/O接口,同時還要編程實現Neuron芯片的握手/令牌傳遞算法,開發費用和難度比較高。因此本文將節點保留的E000~E7FF的2KB地址空間分配給A/D轉換芯片,作為AD1674的端口地址,采用內存映像的方法直接讀取AD1674的數據。對于本設計而言,AD1674轉換數據的高8位地址為E002H,低4位數據地址為E003H。由于實現軟件沒有使用NeuronC的內嵌函數,因此執行速度得到大幅度的提升,實驗證明,對同樣采用AD1674轉換芯片的節點而言,采用這種方法設計的節點,采集速度超過了其它兩種方法設計的采集節點的采集速度,而且節省了Neuron芯片的全部11個I/O引腳。

        3 系統通信程序的設計

        3.1現場節點通信程序

        現場節點向上位機發送的數據首先發送到LONWORKS-ETHERNET互連適配器,該適配器實際上是一個特殊的LONWORKS節點,它把接收到的LON總線上的數據用UDP封裝,然后通過以太網發送到上位機。

        LONWORKS網絡的節點之間的通信方式主要有兩種方式:網絡變量和顯式消息。使用網絡變量不必考慮消息的打包、發送以及接收問題,可以大大簡化編程,縮短應用開發周期,但每個周期變量的數據長度一經確定就不能改變,且最多只有31字節。而顯式消息的數據長度則是靈活可變的,最長可以是228字節,但實現方法更為復雜。鑒于對數據傳輸的實時性要求較高,同時需要提高足球場采集數據的上傳速度,因此希望每一次傳送的報文包含盡量多的數據,因而在設計中采用顯示消息的方式實現與上位機的通信,每個顯式消息報文攜帶134個字節的數據,其中的128個字節為傳送的數據,另外6個字節為附加信息。報文的幀結構如圖3所示。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 怀来县| 敦煌市| 齐河县| 遂溪县| 安阳县| 彝良县| 天祝| 广饶县| 大城县| 临安市| 甘洛县| 大化| 河曲县| 沂水县| 邓州市| 凤山县| 西林县| 文山县| 陆河县| 湖北省| 郯城县| 扶余县| 岳普湖县| 琼中| 乌鲁木齐县| 平顺县| 宽城| 青铜峡市| 宜君县| 谷城县| 秦皇岛市| 阿勒泰市| 武城县| 康乐县| 高邮市| 平昌县| 巴林左旗| 德兴市| 罗田县| 永善县| 大厂|