\ .TH DPLL 8 "23 October 2025" "iproute2" "Linux" .SH "نام (NAME)" dpll \- ابزار پیکربندی و نظارت بر حلقه‌های قفل فاز دیجیتال (DPLL) .SH "خلاصه دستور (SYNOPSIS)" .ad l .in +8 .ti -8 .B dpll .RI "[ " OPTIONS " ]" .B device .RI "{ " COMMAND " | " .BR help " }" .sp .ti -8 .B dpll .RI "[ " OPTIONS " ]" .B pin .RI "{ " COMMAND " | " .BR help " }" .sp .ti -8 .B dpll .RI "[ " OPTIONS " ]" .B monitor .ti -8 .IR OPTIONS " := { " \fB\-V\fR | \fB\-\-Version\fR | \fB\-j\fR | \fB\-\-json\fR | \fB\-p\fR | \fB\-\-pretty\fR | \fB\-t\fR | \fB\-\-timestamp\fR | \fB\-\-tshort\fR } .SH "توضیحات (DESCRIPTION)" ابزار .B dpll برای پیکربندی و نظارت بر دستگاه‌ها و پین‌های حلقه قفل فاز دیجیتال (DPLL) به کار می‌رود. از DPLLها برای همگام‌سازی ساعت در سخت‌افزارهای گوناگون، به‌ویژه در تجهیزات مخابراتی و شبکه‌ای استفاده می‌شود. یک دستگاه DPLL می‌تواند روی یک یا چند پین ورودی قفل شود و خروجی همگام‌سازی‌شده ارائه دهد. پین‌ها می‌توانند سیگنال‌های فیزیکی خارجی (مانند GNSS 1PPS یا SyncE) یا نوسان‌سازهای داخلی باشند. .SH "گزینه‌ها (OPTIONS)" .TP .BR "\-V" , " \-\-Version" چاپ نسخه ابزار .B dpll و خروج. .TP .BR "\-j" , " \-\-json" نمایش نتایج در قالب JSON (JavaScript Object Notation). .TP .BR "\-p" , " \-\-pretty" هنگام ترکیب با .BR \-j ، یک خروجی JSON مرتب و خوانا با فاصله‌گذاری و خطوط جدید برای خوانایی بهتر تولید می‌کند. .TP .BR "\-t" , " \-\-timestamp" هنگام استفاده همراه شیء .BR monitor ، یک خط .B "Timestamp:" پیش از هر اعلان دریافت‌شده در همان قالبی که توسط .B ip monitor استفاده می‌شود چاپ می‌کند. .TP .B "\-\-tshort" مشابه .BR \-t ، اما یک پیشوند فشرده درون‌خطی ISO 8601 به صورت .RB \(lq [ YYYY-MM-DD T HH:MM:SS . uuuuuu ] \(rq به جای یک خط جداگانه .B "Timestamp:" در ابتدای هر اعلان درج می‌کند. .SH "دستورات دستگاه (DEVICE COMMANDS)" .SS dpll device show [ id ID ] [ module-name NAME ] [ clock-id ID ] [ type TYPE ] [ mode MODE ] [ lock-status STATUS ] نمایش اطلاعات درباره دستگاه‌های DPLL. اگر هیچ آرگومانی مشخص نشود، تمامی دستگاه‌های موجود در سیستم نمایش داده می‌شوند. .TP .BI id " ID" فقط دستگاه با شناسه عددی مشخص‌شده را نمایش می‌دهد. .TP .BI module-name " NAME" فقط دستگاه‌های ارائه‌شده توسط ماژول هسته مشخص‌شده را نمایش می‌دهد. .TP .BI clock-id " ID" فقط دستگاه‌های با شناسه ساعت ۶۴ بیتی مشخص‌شده را نمایش می‌دهد. .TP .BI type " TYPE" فقط دستگاه‌هایی از نوع مشخص‌شده را نمایش می‌دهد: .BR pps " یا " eec . .TP .BI mode " MODE" فقط دستگاه‌هایی در حالت کاری مشخص‌شده را نمایش می‌دهد: .BR manual " یا " automatic . .TP .BI lock-status " STATUS" فقط دستگاه‌های دارای وضعیت قفل مشخص‌شده را نمایش می‌دهد: .BR unlocked "، " locked "، " locked-ho-acq "، " holdover . .PP خروجی شامل موارد زیر است: .RS .IP \[bu] 2 شناسه دستگاه .IP \[bu] نام ماژول ارائه‌دهنده دستگاه .IP \[bu] شناسه ساعت (شناسه یکتا) .IP \[bu] حالت کاری (manual، automatic) .IP \[bu] وضعیت قفل (unlocked، locked، locked-ho-acq، holdover) .IP \[bu] خطای وضعیت قفل (در صورت وجود) .IP \[bu] سطح کیفیت ساعت (در صورت پشتیبانی) .IP \[bu] دما (در صورت پشتیبانی) .IP \[bu] نوع (PPS یا EEC) .IP \[bu] حالت‌های پشتیبانی‌شده .IP \[bu] وضعیت ناظر انحراف فاز (فعال/غیرفعال) .IP \[bu] ضریب میانگین‌گیری انحراف فاز .IP \[bu] وضعیت ناظر بسامد (فعال/غیرفعال) .RE .SS dpll device set id ID [ PARAMETER VALUE ] ... پیکربندی پارامترهای دستگاه DPLL. .TP .BI id " ID" مشخص می‌کند کدام دستگاه پیکربندی شود (الزامی). .TP .BI mode " { automatic | manual }" تنظیم حالت کاری دستگاه DPLL. در حالت .BR automatic ، دستگاه DPLL به طور خودکار بهترین منبع ورودی در دسترس را بر اساس اولویت و کیفیت انتخاب می‌کند. در حالت .BR manual ، منبع ورودی باید به صورت صریح پیکربندی شود و DPLL منابع را به طور خودکار تعویض نخواهد کرد. .TP .BI phase-offset-monitor " { enable | disable }" نظارت بر انحراف فاز میان دستگاه و پین‌های آن را فعال یا غیرفعال می‌کند. هنگامی که فعال باشد، هسته به طور مداوم اختلاف فاز را اندازه‌گیری و گزارش می‌دهد. .TP .BI phase-offset-avg-factor " FACTOR" ضریب میانگین‌گیری (۱ تا ۲۵۵) اعمال‌شده بر محاسبات انحراف فاز را تنظیم می‌کند. مقادیر بزرگ‌تر اندازه‌گیری‌های هموارتر اما با پاسخ‌دهی کندتر ارائه می‌دهند. .TP .BI frequency-monitor " { enable | disable }" نظارت بر بسامد را روی دستگاه فعال یا غیرفعال می‌کند. هنگامی که فعال باشد، هسته به طور مداوم بسامد واقعی پین را اندازه‌گیری و گزارش می‌دهد که از طریق فیلد .B measured-frequency در خروجی pin show قابل خواندن است. .SS dpll device id-get [ module-name NAME ] [ clock-id ID ] [ type TYPE ] دریافت شناسه دستگاه بر اساس مشخصه‌های شناسایی آن. برای اسکریپت‌نویسی زمانی که نیاز به یافتن شناسه عددی یک دستگاه دارید کاربردی است. حداقل یک مشخصه برای شناسایی دستگاه باید مشخص شود. .TP .BI module-name " NAME" نام ماژول هسته. .TP .BI clock-id " ID" شناسه ساعت ۶۴ بیتی در مبنای دهدهی یا هگزادسیمال (با پیشوند 0x). .TP .BI type " TYPE" نوع دستگاه: .BR pps " یا " eec . .SH "دستورات پین (PIN COMMANDS)" .SS dpll pin show [ id ID ] [ parent-device DEVICE_ID ] \ [ parent-pin PIN_ID ] [ module-name NAME ] [ clock-id ID ] \ [ board-label LABEL ] [ panel-label LABEL ] [ package-label LABEL ] \ [ type TYPE ] [ direction DIR ] [ state STATE ] [ operstate OPERSTATE ] نمایش اطلاعات درباره پین‌های DPLL. اگر هیچ آرگومانی مشخص نشود، تمام پین‌های موجود در سیستم را نمایش می‌دهد. .TP .BI id " ID" فقط پین دارای شناسه عددی مشخص‌شده را نمایش می‌دهد. .TP .BI parent-device " DEVICE_ID" فقط پین‌هایی را نمایش می‌دهد که دستگاه DPLL مشخص‌شده والد آن‌ها است. .TP .BI parent-pin " PIN_ID" فقط پین‌هایی را نمایش می‌دهد که پین مشخص‌شده والد آن‌ها است (پین‌های mux). .TP .BI module-name " NAME" فقط پین‌های ارائه‌شده توسط ماژول هسته مشخص‌شده را نمایش می‌دهد. .TP .BI clock-id " ID" فقط پین‌های دارای شناسه ساعت ۶۴ بیتی مشخص‌شده را نمایش می‌دهد. .TP .BI board-label " LABEL" فقط پین‌های دارای برچسب برد مشخص‌شده را نمایش می‌دهد. .TP .BI panel-label " LABEL" فقط پین‌های دارای برچسب پنل مشخص‌شده را نمایش می‌دهد. .TP .BI package-label " LABEL" فقط پین‌های دارای برچسب بسته مشخص‌شده را نمایش می‌دهد. .TP .BI type " TYPE" فقط پین‌هایی از نوع مشخص‌شده را نمایش می‌دهد: .BR mux "، " ext "، " synce-eth-port "، " int-oscillator "، " gnss . .TP .BI direction " DIR" فقط پین‌هایی را نمایش می‌دهد که رابطه parent-device با جهت مشخص‌شده دارند: .BR input "، " output . در صورت ترکیب با .BR parent-device ، تنها رابطه parent-device مشخص‌شده بررسی می‌شود. .TP .BI state " STATE" فقط پین‌هایی را نمایش می‌دهد که رابطه parent-device با وضعیت مشخص‌شده دارند: .BR connected "، " disconnected "، " selectable . در صورت ترکیب با .BR parent-device ، تنها رابطه parent-device مشخص‌شده بررسی می‌شود. .TP .BI operstate " OPERSTATE" فقط پین‌هایی را نمایش می‌دهد که رابطه parent-device با وضعیت عملیاتی مشخص‌شده دارند: .BR active "، " standby "، " no-signal "، " qual-failed . در صورت ترکیب با .BR parent-device ، تنها رابطه parent-device مشخص‌شده بررسی می‌شود. .PP خروجی شامل موارد زیر است: .RS .IP \[bu] 2 شناسه پین .IP \[bu] نام ماژول .IP \[bu] شناسه ساعت .IP \[bu] برچسب برد (برچسب سخت‌افزاری از درخت دستگاه یا ACPI) .IP \[bu] برچسب پنل .IP \[bu] برچسب بسته .IP \[bu] نوع پین (mux، ext، synce-eth-port، int-oscillator، gnss) .IP \[bu] بسامد پیکربندی‌شده و محدوده‌های بسامد پشتیبانی‌شده .IP \[bu] بسامد اندازه‌گیری‌شده بر حسب هرتز (هنگامی که نظارت بر بسامد فعال باشد) .IP \[bu] قابلیت‌ها (state-can-change، priority-can-change، direction-can-change) .IP \[bu] محدوده تنظیم فاز، ریزدانگی (granularity) و مقدار فعلی .IP \[bu] انحراف بسامد کسری .IP \[bu] روابط با دستگاه والد (جهت، اولویت، وضعیت، انحراف فاز) .IP \[bu] روابط با پین والد .IP \[bu] اطلاعات همگام‌سازی مرجع .IP \[bu] بسامد Esync و پشتیبانی از پالس (در صورت امکان) .RE .SS dpll pin set id ID [ PARAMETER VALUE ] ... پیکربندی پارامترهای پین DPLL. چندین پارامتر را می‌توان در یک دستور واحد مشخص کرد. .TP .BI id " ID" مشخص می‌کند کدام پین پیکربندی شود (الزامی). .TP .BI frequency " FREQ" تنظیم بسامد پین بر حسب هرتز. پین باید از بسامد مشخص‌شده پشتیبانی کند (محدوده‌های frequency-supported را در خروجی pin show بررسی کنید). .TP .BI phase-adjust " ADJUSTMENT" تنظیم انحراف فاز بر حسب پیکوثانیه. این مقدار فاز سیگنال خروجی را به صورت دقیق تنظیم می‌کند. مقادیر منفی فاز را به عقب جابه‌جا می‌کنند و مقادیر مثبت آن را به جلو می‌برند. مقدار باید در محدوده phase-adjust-min و phase-adjust-max باشد. .TP .BI esync-frequency " FREQUENCY" تنظیم بسامد SyncE ارتقایافته (SyncE) بر حسب هرتز برای پین‌های دارای این قابلیت. .TP .BI parent-device " DEVICE_ID " "[ " "direction DIR" " ] [ " "prio PRIO" " ] [ " "state STATE" " ]" پیکربندی رابطه میان این پین و یک دستگاه DPLL والد. .RS .TP .BI direction " { input | output }" تنظیم جهت پین نسبت به دستگاه والد. .TP .BI prio " PRIORITY" تنظیم اولویت (۰ تا ۲۵۵) برای این پین روی دستگاه والد. .TP .BI state " { connected | disconnected | selectable }" تنظیم وضعیت پین روی دستگاه والد. .RE .TP .BI parent-pin " PIN_ID " "[ " "state STATE" " ]" پیکربندی رابطه با یک پین والد. .TP .BI reference-sync " PIN_ID " "[ " "state STATE" " ]" پیکربندی رابطه همگام‌سازی مرجع با پینی دیگر. .SS dpll pin id-get [ SELECTOR ] ... دریافت شناسه پین بر اساس مشخصه‌های شناسایی آن. .TP .BI module-name " NAME" فیلتر بر اساس نام ماژول هسته. .TP .BI clock-id " ID" فیلتر بر اساس شناسه ساعت ۶۴ بیتی. .TP .BI board-label " LABEL" فیلتر بر اساس برچسب برد (شناسه سخت‌افزاری). .TP .BI panel-label " LABEL" فیلتر بر اساس برچسب پنل. .TP .BI package-label " LABEL" فیلتر بر اساس برچسب بسته. .TP .BI type " TYPE" فیلتر بر اساس نوع پین: .BR mux "، " ext "، " synce-eth-port "، " int-oscillator "، " gnss . .SH "دستور نظارت (MONITOR COMMAND)" .SS dpll monitor نظارت بر رویدادهای زیرسیستم DPLL به صورت بلادرنگ. اعلانات زیر را نمایش می‌دهد: .RS .IP \[bu] 2 ایجاد، حذف و تغییرات پیکربندی دستگاه .IP \[bu] ایجاد، حذف و تغییرات پیکربندی پین .IP \[bu] تغییرات وضعیت قفل .IP \[bu] به‌روزرسانی‌های انحراف فاز .IP \[bu] تغییرات بسامد .RE .PP رویدادها با نوع خود پیشوندگذاری می‌شوند: [DEVICE_CREATE]، [DEVICE_CHANGE]، [DEVICE_DELETE]، [PIN_CREATE]، [PIN_CHANGE]، [PIN_DELETE]. .PP برای توقف نظارت کلیدهای Ctrl+C را فشار دهید. .SH "مثال‌ها (EXAMPLES)" .SS نمایش تمام دستگاه‌های DPLL .nf .B dpll device show .fi .SS نمایش دستگاه مشخص در قالب JSON .nf .B dpll -j device show id 0 .fi .SS تنظیم دستگاه 0 در حالت دستی (manual) .nf .B dpll device set id 0 mode manual .fi .SS فعال‌سازی نظارت بر انحراف فاز روی دستگاه 0 .nf .B dpll device set id 0 phase-offset-monitor enable .fi .SS فعال‌سازی نظارت بر بسامد روی دستگاه 0 .nf .B dpll device set id 0 frequency-monitor enable .fi .SS نمایش تمام دستگاه‌های EEC .nf .B dpll device show type eec .fi .SS نمایش دستگاه‌های ماژول مشخص در قالب JSON .nf .B dpll -jp device show module-name ice .fi .SS نمایش تمام پین‌ها .nf .B dpll pin show .fi .SS نمایش تمام پین‌های GNSS .nf .B dpll pin show type gnss .fi .SS نمایش پین‌های GNSS از یک ماژول مشخص .nf .B dpll pin show type gnss module-name ice .fi .SS نمایش پین با خروجی JSON مرتب و خوانا .nf .B dpll -jp pin show id 5 .fi .SS نمایش پین‌های ورودی متصل روی دستگاه 0 .nf .B dpll pin show parent-device 0 direction input state connected .fi .SS تنظیم بسامد پین روی ۱۰ مگاهرتز .nf .B dpll pin set id 0 frequency 10000000 .fi .SS پیکربندی رابطه پین با دستگاه والد .nf .B dpll pin set id 1 parent-device 0 prio 10 direction input state connected .fi .SS تنظیم انحراف فاز به میزان ۱۰۰۰- پیکوثانیه .nf .B dpll pin set id 2 phase-adjust -1000 .fi .SS تنظیم هم‌زمان چندین پارامتر پین .nf .B dpll pin set id 3 frequency 10000000 phase-adjust -1000 .fi .SS نظارت بر رویدادهای DPLL .nf .B dpll monitor .fi .SS نظارت بر رویدادها در قالب JSON .nf .B dpll -jp monitor .fi .SS دریافت شناسه دستگاه بر اساس نام ماژول .nf .B dpll device id-get module-name ice .fi .SS دریافت شناسه پین بر اساس برچسب برد .nf .B dpll pin id-get board-label "GNSS-1PPS" .fi .SH "تنظیم فاز (PHASE ADJUSTMENT)" تنظیم فاز بر حسب پیکوثانیه (1e-12 ثانیه) مشخص می‌شود و امکان تنظیم دقیق فاز سیگنال را فراهم می‌آورد. این امر برای کاربردهای نیازمند همگام‌سازی زمانی دقیق مانند شبکه‌های 5G و معاملات با بسامد بالا حیاتی است. .PP ملاحظات مهم: .RS .IP \[bu] 2 پیش از تنظیم مقادیر، phase-adjust-min و phase-adjust-max را بررسی کنید .IP \[bu] برخی سخت‌افزارها نیاز دارند مقادیر مضاربی از phase-adjust-gran باشند .IP \[bu] مقادیر منفی فاز را به عقب می‌برند (در زمان زودتر) .IP \[bu] مقادیر مثبت فاز را به جلو می‌برند (در زمان دیرتر) .IP \[bu] هسته تمامی درخواست‌های تنظیم فاز را اعتبارسنجی می‌کند .RE .SH "قابلیت‌ها (CAPABILITIES)" پین‌ها ممکن است قابلیت‌های مختلفی داشته باشند که تعیین می‌کند کدام عملیات مجاز است: .TP .B state-can-change وضعیت پین (connected/disconnected/selectable) می‌تواند تغییر یابد. .TP .B priority-can-change اولویت پین می‌تواند تغییر یابد. این ممکن است در مورد اولویت سطح بالا یا اولویت در روابط parent-device صدق کند. .TP .B direction-can-change جهت پین (input/output) می‌تواند تغییر یابد. .PP پیش از تلاش برای ایجاد تغییرات در پیکربندی، از .B dpll pin show برای بررسی این که پین از چه قابلیت‌هایی پشتیبانی می‌کند استفاده کنید. .SH "وضعیت خروج (EXIT STATUS)" .TP .B 0 موفقیت .TP .B 1 شکست .SH "نکات (NOTES)" .IP \[bu] 2 زیرسیستم DPLL به پشتیبانی هسته نیاز دارد (CONFIG_DPLL=y یا m) .IP \[bu] پشتیبانی سخت‌افزاری بسته به دستگاه و درایور متفاوت است .IP \[bu] برخی عملیات به قابلیت‌های سخت‌افزاری خاصی نیاز دارند .IP \[bu] مقادیر انحراف فاز توسط سخت‌افزار اندازه‌گیری می‌شوند و نمی‌توان آن‌ها را مستقیماً تنظیم کرد .IP \[bu] تغییرات در پیکربندی دستگاه یا پین ممکن است بر همگام‌سازی ساعت سیستم تأثیر بگذارد .SH "همچنین ببینید (SEE ALSO)" .BR ip (8), .BR devlink (8), .BR ethtool (8) .PP مستندات هسته لینوکس: .I Documentation/driver-api/dpll.rst .PP مشخصات Netlink: .I Documentation/netlink/specs/dpll.yaml .SH "نویسنده (AUTHOR)" ابزار dpll توسط Arkadiusz Kubalewski، Vadim Fedorenko و دیگران نوشته شده است. این صفحه راهنما توسط Petr Oros نوشته شده است. .SH "گزارش خطاها (REPORTING BUGS)" گزارش خطاها را به ارسال کنید