TS2PHC(8) System Manager's Manual TS2PHC(8)

ts2phc - همگام‌سازی یک یا چند ساعت سخت‌افزاری PTP با استفاده از برچسب‌های زمانی خارجی

ts2phc [ -hmqv ] [ -c device|name ] [ -f config ] [ -l print-level ] [ -s device|name ] [ long-options ] ...

دستور ts2phc ساعت‌های سخت‌افزاری PTP (موسوم به PHC) را با سیگنال‌های برچسب زمانی خارجی همگام‌سازی می‌کند. می‌توان از یک منبع واحد برای توزیع زمان به یک یا چند دستگاه PHC استفاده کرد.

تنظیم خودکار جهت همگام‌سازی. این برنامه با پرس‌وجوی وضعیت پورت‌ها از نمونه در حال اجرای ptp4l تعیین می‌کند کدام PHC باید ساعت مرجع برای توزیع زمان باشد و کدام‌ها باید مقصد باشند. توجه داشته باشید که با استفاده از این گزینه، سلسله‌مراتب توزیع سیگنال PPS طبق فایل پیکربندی همچنان ثابت باقی می‌ماند. این بدان معناست که یک منبع PPS از نوع PHC ممکن است به ساعت مقصد تبدیل شود، و یک دریافت‌کننده PPS ممکن است به ساعت مرجع تبدیل گردد. سایر انواع غیر PHC منابع PPS (مانند generic یا NMEA) نمی‌توانند به ساعت‌های مقصد تبدیل شوند. ساعت‌هایی که بخشی از فهرست پورت‌های ptp4l نیستند همگام‌سازی نمی‌شوند. این گزینه زمانی مفید است که گزینه boundary_clock_jbod در ptp4l نیز فعال باشد.
تعیین یک PHC برای همگام‌سازی. ساعت را می‌توان با فایل دستگاه نویسه‌ای آن (مانند dev/ptp0/) یا رابط شبکه مرتبط با آن (مانند eth0) مشخص کرد. این گزینه می‌تواند چندین بار مشخص شود.
خواندن پیکربندی از فایل مشخص‌شده. به طور پیش‌فرض هیچ فایل پیکربندی خوانده نمی‌شود.
نمایش خلاصه راهنمای خط فرمان.
تنظیم حداکثر سطح پیام‌های syslog که باید چاپ شوند یا به ثبت‌کننده لاگ سیستم ارسال گردند. پیش‌فرض 6 (LOG_INFO) است.
چاپ پیام‌های لاگ در خروجی استاندارد.
جلوگیری از ارسال پیام‌های لاگ به سامانه لاگ سیستم (syslog).
تعیین منبع داده‌های زمان روز (ToD). از کلیدواژه "generic" برای یک سیگنال 1-PPS خارجی بدون اطلاعات ToD استفاده کنید. هنگام استفاده از یک PHC به عنوان منبع زمان، ساعت را می‌توان با فایل دستگاه نویسه‌ای (مانند dev/ptp0/) یا رابط شبکه مرتبط (مانند eth0) مشخص کرد. از کلیدواژه "nmea" برای یک سیگنال 1-PPS خارجی از یک GPS که اطلاعات ToD را از طریق جمله RMC NMEA ارائه می‌دهد استفاده کنید.
چاپ نسخه نرم‌افزار و خروج.

تمامی گزینه‌های فایل پیکربندی (در ادامه ببینید) را می‌توان به عنوان آرگومان خط فرمان به سبک «طولانی» نیز استفاده کرد. برای نمونه، گزینه use_syslog را می‌توان با هر یک از این دو فرم تنظیم نمود:

?(CW-use_syslog 1 -use_syslog=1?P

مقادیر گزینه‌های داده‌شده در خط فرمان بر مقادیر بخش سراسری فایل پیکربندی اولویت دارند.

فایل پیکربندی به بخش‌هایی تقسیم شده است. هر بخش با خطی شامل نام آن درون قلاب آغاز می‌شود و به دنبال آن تنظیمات می‌آیند. هر تنظیم در یک خط جداگانه قرار می‌گیرد و شامل نام گزینه و مقدار است که با نویسه‌های فاصله جدا شده‌اند. خطوط خالی و خطوطی که با # آغاز می‌شوند نادیده گرفته می‌شوند.

دو نوع بخش مختلف وجود دارد:

1.
بخش سراسری (که با [global] مشخص می‌شود) گزینه‌های برنامه و گزینه‌های پیش‌فرض مقصد زمان را تعیین می‌کند. سایر بخش‌ها مخصوص ساعت‌های مشخص هستند و گزینه‌های پیش‌فرض را بازنویسی می‌کنند.
2.
بخش‌های مقصد زمان نام PHC پیکربندی‌شده را مشخص می‌کنند (مانند [eth0]). مقاصد زمانی که در فایل پیکربندی مشخص شده‌اند نیازی به تعیین با گزینه خط فرمان -c ندارند.

در ترکیب با دستورهای ?Bspp?R و ?Bsa_file?R برای تعیین اینکه کدام کلید از انجمن امنیتی (SA) تعریف‌شده توسط ?Bspp?R باید برای محاسبات خروجی icv استفاده شود به کار می‌رود. تمام انجمن‌های امنیتی از فایل مشخص‌شده توسط ?Bsa_file?R خوانده می‌شوند. نیازمند دستورهای ?Bspp?R و ?Bsa_file?R است. مقدار باید بین ۱ تا 2^32-1 باشد. پیش‌فرض 0 است (غیرفعال).
سروویی که برای همگام‌سازی ساعت محلی استفاده می‌شود. مقادیر معتبر عبارتند از: "pi" برای یک کنترل‌کننده PI، "linreg" برای یک کنترل‌کننده تطبیقی با رگرسیون خطی، "ntpshm" و "refclock_sock" به ترتیب برای ساعت‌های مرجع NTP SHM و chrony SOCK جهت اجازه دادن به پردازش دیگر برای همگام‌سازی ساعت محلی، و "nullf" برای سروویی که همیشه آفست فرکانس صفر را اعمال می‌کند (جهت استفاده در گره‌های SyncE). پیش‌فرض "pi" است.
حداکثر آفست (بر حسب ثانیه) که سروو با تغییر فرکانس ساعت (یا فاز هنگام استفاده از سروو nullf) به جای پرش ساعت اصلاح می‌کند. این تنها در اولین به‌روزرسانی اعمال می‌شود. وقتی روی 0.0 تنظیم شود، سروو در زمان شروع ساعت را پرش نخواهد داد. پیش‌فرض 0.00002 (۲۰ میکروثانیه) است.
وقتی روی 1 تنظیم شود، هیچ PHC تنظیم و تصحیح نخواهد شد. این گزینه در سناریوهای آزمایشی می‌تواند مفید باشد، برای مثال برای تعیین میزان همگام بودن گروهی از ساعت‌های محلی با یکدیگر. پیش‌فرض 0 است (تنظیم و تصحیح ساعت‌ها).
مسیر فایل فعلی تعاریف ثانیه‌های کبیسه. در سیستم‌های دبیان این فایل توسط بسته tzdata ارائه می‌شود و در مسیر usr/share/zoneinfo/leap-seconds.list/ قرار دارد. اگر یک leapfile پیکربندی شود، در صورت تغییر مجدداً بارگیری خواهد شد. پیش‌فرض یک رشته خالی است که موجب می‌شود برنامه از یک جدول داخلی که بیانگر ثانیه‌های کبیسه شناخته‌شده در تاریخ انتشار نرم‌افزار است استفاده کند.
حداکثر سطح لاگ‌گیری پیام‌هایی که باید چاپ شوند. پیش‌فرض 6 (LOG_INFO) است.
حداکثر تنظیم فرکانس مجاز ساعت بر حسب بخش در میلیارد (ppb). این یک محدودیت اضافی علاوه بر حداکثر مجاز توسط سخت‌افزار است. وقتی روی 0 تنظیم شود، حد سخت‌افزاری استفاده خواهد شد. پیش‌فرض 900000000 (90%) است.
برچسبی که به تمام پیام‌های چاپ‌شده در خروجی استاندارد یا لاگ سیستم اضافه می‌شود. اگر برچسب حاوی رشته "{level}" باشد، با سطح لاگ پیام به صورت عدد جایگزین می‌شود. پیش‌فرض یک رشته خالی است.
شماره قطعه حافظه مشترک (SHM) مورد استفاده سروو ntpshm. پیش‌فرض 0 است.
ثابت انتگرال‌گیر کنترل‌کننده PI. وقتی روی 0.0 تنظیم شود، ثابت انتگرال‌گیر بر اساس فرمول زیر از بازه همگام‌سازی فعلی تنظیم می‌شود. پیش‌فرض 0.0 است.

ki = min(ki_scale * sync^ki_exponent, ki_norm_max / sync)

ثابت ki_exponent در فرمول بالا. پیش‌فرض 0.4 است.
ثابت ki_norm_max در فرمول بالا. پیش‌فرض 0.3 است.
ثابت ki_scale در فرمول بالا. پیش‌فرض 0.3 است.
ثابت تناسبی کنترل‌کننده PI. وقتی روی 0.0 تنظیم شود، ثابت تناسبی با فرمول زیر از بازه همگام‌سازی فعلی تعیین می‌شود: پیش‌فرض 0.0 است.

kp = min(kp_scale * sync^kp_exponent, kp_norm_max / sync)

ثابت kp_exponent در فرمول تناسبی. پیش‌فرض -0.3 است.
ثابت kp_norm_max در فرمول تناسبی. پیش‌فرض 0.7 است.
ثابت kp_scale در فرمول تناسبی. پیش‌فرض 0.7 است.
تعیین مکان فایل حاوی انجمن‌های امنیتی (Security Associations) مورد استفاده برای پردازش امنیتی فوری Authentication TLV بر اساس سازوکار امنیتی اختیاری تعریف‌شده در استاندارد ieee1588-2019 بخش 14.16. پیش‌فرض یک رشته خالی است (غیرفعال).
تعداد مقادیر آفست بررسی‌شده برای انتقال از وضعیت SERVO_LOCKED به وضعیت SERVO_LOCKED_STABLE. انتقال زمانی رخ می‌دهد که آخرین مقادیر به تعداد 'servo_num_offset_values' همگی زیر مقدار پیش‌فرض 10 است.
آستانه آفست مورد استفاده برای انتقال از وضعیت SERVO_LOCKED به SERVO_LOCKED_STABLE. انتقال زمانی رخ می‌دهد که مقادیر آفست اخیر همگی زیر مقدار آستانه باشند. مقدار پیش‌فرض 0 است (غیرفعال).
حداکثر آفست (بر حسب ثانیه) که سروو با تغییر فرکانس ساعت به جای پرش ساعت اصلاح می‌کند. وقتی روی 0.0 تنظیم شود، سروو هرگز ساعت را به جز در زمان راه‌اندازی جهش نخواهد داد. پیش‌فرض 0.0 است.
اشاره‌گر پارامترهای امنیتی را برای انجمن امنیتی مورد نظر جهت پشتیبانی از authentication tlv تعیین می‌کند. در پورت‌های یک‌مرحله‌ای پشتیبانی نمی‌شود. مقدار باید بین -۱ تا ۲۵۵ باشد. پیش‌فرض -۱ است (غیرفعال).
بازه پایداری و نگهداری (holdover) بر حسب ثانیه. هنگامی که اطلاعات ToD متوقف می‌شود (مانند قطع ارتباط گیرنده GNSS)، ابزار ts2phc اجازه دارد برای بازه مشخص‌شده به همگام‌سازی ساعت مقصد تا زمانی که سروو در وضعیت SERVO_LOCKED_STABLE است ادامه دهد. پیش‌فرض 0 است (غیرفعال).
حداقل تأخیر مورد انتظار پیام‌های NMEA RMC بر حسب نانوثانیه. اگر حداکثر تأخیر بیش از ۱ ثانیه باشد، یا در صورتی که 'ts2phc.extts_polarity' روی "both" تنظیم شده و از 'ts2phc.pulsewidth' بیشتر باشد، این گزینه باید تنظیم شود تا برچسب‌های زمانی پیام‌های NMEA به درستی به پالس‌های سیگنال PPS نسبت داده شوند. پیش‌فرض 0 نانوثانیه است.
میزبان راه دور ارائه‌دهنده اطلاعات ToD هنگام استفاده از منبع سیگنال PPS از نوع "nmea". در صورت مشخص شدن هر دو گزینه، اتصال شبکه راه دور به پورت سریال ترجیح داده خواهد شد. پیش‌فرض رشته خالی است (مشخص‌نشده).
پورت سریال و نرخ باود بر حسب bps برای دستگاه نویسه‌ای ارائه‌دهنده اطلاعات ToD هنگام استفاده از منبع سیگنال PPS از نوع "nmea". پورت سریال پیش‌فرض "/dev/ttyS0" و نرخ باود پیش‌فرض 9600 bps است.
تنظیم آفست میان شروع ثانیه و لبه بالارونده منبع PPS. تنها برای منبع PPS از نوع PHC موجود است. محدوده مجاز 0 تا 999999999 نانوثانیه است. پیش‌فرض 0 نانوثانیه است.
عرض پالس سیگنال PPS خارجی بر حسب نانوثانیه. هنگامی که 'ts2phc.extts_polarity' روی "both" باشد، عرض پالس داده‌شده برای تشخیص و کنار گذاشتن برچسب زمانی لبه ناخواسته استفاده می‌شود. محدوده مجاز 1000000 تا 990000000 نانوثانیه است. پیش‌فرض 500000000 نانوثانیه است.
تعیین منبع داده‌های زمان روز (ToD). از کلیدواژه "generic" برای سیگنال 1-PPS خارجی بدون اطلاعات ToD استفاده کنید. هنگام استفاده از یک PHC به عنوان منبع زمان، ساعت را می‌توان با فایل دستگاه نویسه‌ای آن یا رابط شبکه مرتبط مشخص کرد. از کلیدواژه "nmea" برای یک 1-PPS خارجی از GPS ارائه‌دهنده اطلاعات ToD از طریق جمله NMEA RMC استفاده کنید. پیش‌فرض "generic" است.
چاپ پیام‌ها در لاگ سیستم (در صورت فعال بودن). پیش‌فرض 1 (فعال) است.
چاپ پیام‌ها در خروجی استاندارد (در صورت فعال بودن). پیش‌فرض 0 (غیرفعال) است.

کانال خروجی متناوب یا برچسب‌گذاری زمانی خارجی مورد استفاده. برخی دستگاه‌های PHC دارای پایه‌های برنامه‌پذیر و یک یا چند کانال برچسب‌گذاری زمانی هستند. این گزینه امکان انتخاب یک کانال خاص را فراهم می‌سازد. پیش‌فرض کانال 0 است.
مقداری بر حسب نانوثانیه که به هر برچسب زمانی PPS اضافه می‌شود. پیش‌فرض 0 است (بدون تصحیح).
قطبیت سیگنال PPS خارجی، یا "rising" (بالارونده) یا "falling" (پایین‌رونده). برخی دستگاه‌های PHC همیشه هر دو لبه را برچسب زمانی می‌زنند. تنظیم این گزینه روی "both" به برنامه ts2phc اجازه می‌دهد تا با تشخیص و نادیده گرفتن لبه ناخواسته، با چنین دستگاه‌هایی کار کند. در این حالت اطمینان حاصل کنید که 'ts2phc.pulsewidth' را روی مقدار صحیح تنظیم کرده‌اید. پیش‌فرض "rising" است.
تنظیم این گزینه روی 1، دستگاه PHC داده‌شده را به عنوان منبع سیگنال PPS پیکربندی می‌کند. پیش‌فرض 0 است (نقش دریافت‌کننده زمان).
شناسه پایه (پین) مورد استفاده. برخی دستگاه‌های PHC دارای پایه‌های برنامه‌پذیر هستند و این گزینه امکان پیکربندی یک پایه خاص را برای برچسب زمانی خارجی یا خروجی متناوب فراهم می‌آورد. پیش‌فرض شناسه پایه 0 است.

هنگام به اشتراک‌گذاری یک فایل پیکربندی یکسان میان ptp4l، phc2sys و ts2phc محتاط باشید. به یاد داشته باشید که مقادیر مشخص‌شده در فایل پیکربندی بر مقادیر پیش‌فرض اولویت دارند. اگر گزینه‌ای که میان سایر برنامه‌ها مشترک است در فایل پیکربندی تنظیم شود، مقدار آن برای تمامی برنامه‌های استفاده‌کننده از آن فایل اعمال خواهد شد و این ممکن است مورد انتظار نباشد.

توصیه می‌شود از فایل‌های پیکربندی جداگانه برای ptp4l، phc2sys و ts2phc استفاده کنید تا از هرگونه رفتار غیرمنتظره جلوگیری شود.

phc2sys(8) ptp4l(8)

March 2024 linuxptp