国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術IEEE1588協議驅動分布式系統高精度同步觸發簡介

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-12 10:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

IEEE1588是精確網絡對時協議,簡稱PTP。它通過硬件實現的時間標簽(hardware time stamp),使對時精度達到亞微秒級(< 1us),大大高于常規的網絡對時協議(NTP)。PTP協議的另一個特色是它可輸出精確時間同步的硬件脈沖,通常稱為PPS脈沖。在網絡化的嵌入式系統中,利用PTP的硬件PPS脈沖,可對處于不同位置的多臺設備實現同步觸發的功能。這對分布式系統的數據采集、實時控制都具有非常的意義。

英創公司的多款嵌入式主板,ESM7000、ESM6802和ESM6800,其網絡接口均支持PTP協議,且可輸出PPS脈沖,因此是分布式智能設備的理想嵌入式平臺。以下將以ESM7000為例,介紹實現分布式同步觸發的軟硬件方案。

基于PTP的同步觸發軟件流程

ESM7000預裝的Linux平臺文件系統中,已包含了PTP對時及硬件時間同步的完整工具,即ptp4l和phc2sys,同時可方便的控制PPS脈沖的使能。在這個基礎上,按照圖1所示流程就可實現同步觸發的功能。

圖1同步觸發軟件流程

在實際的測試中發現,PTP的對時精度與網絡環境有密切關系。在單一的100M網絡環境所獲得的設備間的同步精度在±200ns;而在1000M網環境,同步精度就下降到±1us;混合網絡環境,同步精度可差至±15us。

同步觸發脈沖的硬件方案

所謂硬件方案,是指圖1中觸發脈沖生成器的實現方案。以PTP協議生成的周期性PPS脈沖為基礎,由應用程序生成觸發使能信號,再通過一個簡單的D觸發器生成最后的觸發脈沖。硬件方案涉及3個信號如下:

●PPS_OUT:整秒脈沖輸出,即周期固定為1秒,在ESM7000上,PPS的脈沖寬度為10ns,上升沿有效。

●TRG_EN:觸發使能,通常用一位GPIO來實現,其高電平有效。

●TRG_PULSE:觸發脈沖,上升沿有效;在TRG_EN為低時,將強制TRG_PULSE為低;當TRG_EN為高時,后續的PPS_OUT脈沖上升沿將鎖存高電平,從而是TRG_PULSE變高電平。TRG_PULSE脈沖上升沿將將作為系統采集控制硬件單元的觸發輸入,觸發各個嵌入式設備同步動作。

圖2同步觸發脈沖生成電路原理

在圖2中,TRG_PULSE還可反饋給ESM7000主板,通知同步觸發已發生。但不是必須的。

大部分ESMARC主板均可支持PTP同步觸發功能。對不同型號的主板,PPS脈沖輸出管腳有所不同,如下表所示:

主板型號 PTP網口 PPS信號管腳 備注
ESM7000系列 eth0 CN2.GPIO0
ESM6802系列 eth0 CN2.GPIO24 V2.4版才支持
ESM6800系列 eth1 CN2.GPIO22 不能使用SD
ES6801 eth0 CN1.GPIO0 不能使用CAN1

對選擇哪一位GPIO管腳作為TRG_EN,本方案沒有限制。可根據設備的具體情況來確定。

對同步觸發從設備測試

本測試用從設備的“當前時間+ 偏移量”來代替主設備發布的觸發時間TRGTIME,就可用簡單的腳本測試整個觸發過程,具體的腳本如下:

#!/bin/sh
# trg_en_3 $1 [$2] [$3]
# $1 = 0, off ptp; = 1: on ptp
# $2 = number of seconds to delay from cuurent time
# $3 = ip:port
PATH="/usr/bin:$PATH"
E_NOARGS=85
re='^[0-9]+$'
TRG_EN_GPIO="gpio1"
TRG_EN_DIRECTORY="/sys/class/em_gpio/em_gpio/$TRG_EN_GPIO"
PHC2SYSLOG="/tmp/phc2syslog.txt"
DELAY=10
# if no arg, exit
if [ -z "$1" ]
then
echo "Usage: `basename $0` filename"
exit $E_NOARGS
fi
# if $1 != 1, off ptp and exit
if [ "$1" -ne 1 ]
then
echo 0 > /sys/class/ptp/ptp0/pps_enable
pkill phc2sys
pkill ptp4l
exit 0
fi
# get trigger delay is available, default = 10(s)
if [ $# -ge 2 ]
then
DELAY="$2"
fi
# now we start to make trg_en step by step
echo "step 1: setup gpio1 as trg_en"
if [ ! -d "$TRG_EN_DIRECTORY" ]
then
echo "config $TRG_EN_GPIO as trg_en"
echo 1 > /sys/class/em_gpio/em_gpio/export
fi
echo out > /sys/class/em_gpio/em_gpio/$TRG_EN_GPIO/direction
echo 0 > /sys/class/em_gpio/em_gpio/$TRG_EN_GPIO/value
echo "step 2: start ptp"
phc2sys -s eth0 -c CLOCK_REALTIME -w -m -u 4 > $PHC2SYSLOG &
sleep 1
ptp4l -i eth0 -s &
echo "step 3: wait phc2sys sync convergence"
num_rms=0
while [ "$num_rms" -lt 3 ]
do
RMS_ARRAY=$(cat $PHC2SYSLOG | tail -n 3 | sed -r 's/.*rms[ ]+([0-9]+).*/\1/g')
# echo "$RMS_ARRAY"
for rms in $RMS_ARRAY
do
if ! [[ $rms =~ $re ]]
then
echo "$rms is NOT an integer!"
break
fi
echo "$rms"
if [ "$rms" -lt 350 ]; then
let "num_rms += 1"
fi
done
# clear log file if rms is convergence
if [ "$num_rms" -ge 3 ]; then
echo "rms is convergence ($num_rms)"
cat /dev/null > $PHC2SYSLOG
else
let "num_rms = 0"
sleep 2
fi
done
echo "step 4: enable pps, and setup trigger time"
echo 1 > /sys/class/ptp/ptp0/pps_enable
TRGTIME=$(date +%s) # get current date in seconds
let "TRGTIME = $TRGTIME + $DELAY"
PPSTIME=$(cat /sys/class/pps/pps0/assert | cut -d '.' -f 1)
echo "TRGTIME = $TRGTIME PPSTIME = $PPSTIME"
echo "step 5: wait pps time reach trigger time"
while [ "$PPSTIME" -lt "$TRGTIME" ]
do
sleep 0.1
PPSTIME=$(cat /sys/class/pps/pps0/assert | cut -d '.' -f 1)
done
echo "step 6: now PPSTIME = TRGTIME, set trg_en"
echo 1 > /sys/class/em_gpio/em_gpio/$TRG_EN_GPIO/value
echo "step 7: wait pps time reach trigger time + 1"
let "TRGTIME = $TRGTIME + 1"
while [ "$PPSTIME" -lt "$TRGTIME" ]
do
sleep 0.1
PPSTIME=$(cat /sys/class/pps/pps0/assert | cut -d '.' -f 1)
done
echo "step 8: clear trg_en"
echo 0 > /sys/class/em_gpio/em_gpio/$TRG_EN_GPIO/value
echo "basename $0 done"

示波器可觀察到,上述腳本產生的TRG_EN信號,準確使能PPS脈沖產生與之上升沿完全同步的觸發脈沖TRG_PULSE。

對分布式系統同步觸發功能感興趣的客戶,可通過郵件support@emtronix.com與英創公司技術部門聯系,以了解詳細的實現代碼。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    88

    文章

    11759

    瀏覽量

    219013
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6107

    瀏覽量

    37073
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    高精度時間同步IEEE1588 PTP授時服務器

    IEEE1588精確時間協議(Precision Time Protocol,簡稱PTP)應運而生,憑借亞微秒級的同步精度、靈活的組網方式和優異的兼容性,成為當前
    的頭像 發表于 02-10 14:00 ?185次閱讀
    <b class='flag-5'>高精度</b>時間<b class='flag-5'>同步</b>的<b class='flag-5'>IEEE1588</b> PTP授時服務器

    SyncE/IEEE1588/DPLL時鐘凈化器為什么更依賴VCXO?

    板驗證方法,幫助SyncE/IEEE1588、微波回傳與傳輸時鐘系統實現穩鎖、低抖動與可量產的一致性設計。
    的頭像 發表于 01-29 13:49 ?6918次閱讀
    SyncE/<b class='flag-5'>IEEE1588</b>/DPLL時鐘凈化器為什么更依賴VCXO?

    在恩智浦i.MX RT1180跨界處理器上如何實現1588協議同步

    簡介 在前面的文章中介紹了i.MX RT1180跨界處理器的主要應用場景是在工業自動化與智能制造的高精度測量領域,而這其中時間同步是一個實時系統能夠穩定運行的關鍵。而主流的工業網絡
    的頭像 發表于 12-03 09:09 ?7843次閱讀
    在恩智浦i.MX RT1180跨界處理器上如何實現<b class='flag-5'>1588</b><b class='flag-5'>協議</b><b class='flag-5'>同步</b>

    1588協議如何依賴溫補晶振實現高精度時間同步?

    在5G基站密集部署、工業自動化產線高速運轉、金融交易系統毫秒必爭的今天,精確到納秒級的時間同步早已成為現代數字網絡的命脈。IEEE1588PrecisionTimeProtocol(PTP)
    的頭像 發表于 12-02 14:45 ?480次閱讀
    <b class='flag-5'>1588</b><b class='flag-5'>協議</b>如何依賴溫補晶振實現<b class='flag-5'>高精度</b>時間<b class='flag-5'>同步</b>?

    協議轉換后的時間同步精度如何保證?

    方法如下: 一、源頭同步:統一時間基準(核心前提) 確保電能質量監測裝置、協議轉換設備(網關 / 邊緣節點)、目標平臺(主站 / 云平臺)采用同一時間源,從根源減少偏差: 高精度對時協議
    的頭像 發表于 11-12 14:00 ?700次閱讀
    <b class='flag-5'>協議</b>轉換后的時間<b class='flag-5'>同步</b><b class='flag-5'>精度</b>如何保證?

    IEEE1588 PTP授時服務器:軌道交通系統的時間同步基石?

    在現代軌道交通飛速發展的今天,西安同步電子科技有限公司SYN2411型PTP1588 授時服務器作為一種先進的時間同步設備,正悄然在軌道交通系統的各個環節發揮著至關重要的作用,成為保障
    的頭像 發表于 09-19 18:08 ?874次閱讀

    解碼精密時間核心:SYN2411IEEE1588主時鐘技術解析

    高精度時間同步網絡的事實標準。作為國內領先的時間頻率技術提供商,SYN2411IEEE1588主時鐘,正是為滿足嚴苛時間同步需求而生的核心設
    的頭像 發表于 09-19 18:07 ?912次閱讀

    AWStudio:輕松設置EtherCAT分布式時鐘,提升同步精度!

    系統中的時鐘同步問題EtherCAT不使用分布式時鐘,各從站依賴本地時鐘獨立運行,無統一時間基準,這會導致工業自動化場景的可靠性與控制精度降低,引發以下后果:多設備
    的頭像 發表于 08-29 11:34 ?756次閱讀
    AWStudio:輕松設置EtherCAT<b class='flag-5'>分布式</b>時鐘,提升<b class='flag-5'>同步</b><b class='flag-5'>精度</b>!

    分布式光伏發電監測系統技術方案

    分布式光伏發電監測系統技術方案 柏峰【BF-GFQX】一、系統目標 :分布式光伏發電監測系統旨在
    的頭像 發表于 08-22 10:51 ?3198次閱讀
    <b class='flag-5'>分布式</b>光伏發電監測<b class='flag-5'>系統</b><b class='flag-5'>技術</b>方案

    高精度VCTCXO:±0.05ppm穩定性賦能基站時鐘系統

    FCom富士晶振高精度VCTCXO提供±0.05ppm穩定性,滿足5G小基站、SyncE、IEEE1588高精度時鐘同步系統需求。
    的頭像 發表于 07-15 10:00 ?2575次閱讀
    <b class='flag-5'>高精度</b>VCTCXO:±0.05ppm穩定性賦能基站時鐘<b class='flag-5'>系統</b>

    PTP同步時鐘使用注意事項及場景應用

    在數字化時代,精準時間同步分布式系統至關重要。PTP(精確時間協議,IEEE1588標準)應運而生,它通過網絡傳輸時間戳,突破傳統
    的頭像 發表于 06-12 15:35 ?948次閱讀

    PTP 時鐘服務器在應用方面的介紹

    ,實現網絡中各個節點的時鐘同步。SYN2407 系列模塊對該協議的支持,使得其能夠輕松融入各類遵循 IEEE1588 標準的網絡系統,為整個網絡提供
    的頭像 發表于 06-06 14:03 ?1072次閱讀

    PTP同步時鐘使用注意事項及場景應

    在數字化時代,精準時間同步分布式系統至關重要。PTP(精確時間協議,IEEE1588標準)應運而生,它通過網絡傳輸時間戳,突破傳統
    的頭像 發表于 05-26 15:49 ?674次閱讀

    1588v2協議:精確時間同步技術深度解析與實測演示

    實際應用中的表現。 1588v2協議概述 1588v2協議是一種用于在網絡中實現高精度時間同步
    的頭像 發表于 04-24 17:56 ?1916次閱讀
    <b class='flag-5'>1588</b>v2<b class='flag-5'>協議</b>:精確時間<b class='flag-5'>同步</b><b class='flag-5'>技術</b>深度解析與實測演示

    國產超高精度AFE替換AD7124應用于分布式控制系統

    國產超高精度AFE替換AD7124應用于分布式控制系統
    的頭像 發表于 03-12 10:15 ?914次閱讀
    國產超<b class='flag-5'>高精度</b>AFE替換AD7124應用于<b class='flag-5'>分布式控制系統</b>