Facebook သည် အနုမြူနာရီအသေးစားနှင့် GNSS လက်ခံကိရိယာကို အကောင်အထည်ဖော်ခြင်းအပါအဝင် PCIe ဘုတ်ဖန်တီးခြင်းနှင့်ပတ်သက်သည့် တိုးတက်မှုများကို ထုတ်ဝေခဲ့သည်။ သီးခြားအချိန်ထပ်တူပြုခြင်းဆာဗာများ၏လုပ်ဆောင်မှုကို စုစည်းရန် ဘုတ်ကိုသုံးနိုင်သည်။ ဘုတ်အဖွဲ့ထုတ်လုပ်မှုအတွက် လိုအပ်သော သတ်မှတ်ချက်များ၊ ဇယားကွက်များ၊ BOM၊ Gerber၊ PCB နှင့် CAD ဖိုင်များကို GitHub တွင် ထုတ်ဝေထားသည်။ ဘုတ်အား မူလက မော်ဂျူလာကိရိယာအဖြစ် ဒီဇိုင်းထုတ်ထားပြီး SA5X၊ mRO-50၊ SA.45s နှင့် u-blox RCB-F9T ကဲ့သို့သော GNSS မော်ဂျူးများကို စင်ပြင်ပမှ အက်တမ်နာရီချစ်ပ်များနှင့် GNSS မော်ဂျူးများကို အသုံးပြုခွင့်ပေးသည်။ Orolia သည် ပြင်ဆင်သတ်မှတ်မှုများအပေါ် အခြေခံ၍ အဆင်သင့်လုပ်ထားသော ဘုတ်များ စတင်ထုတ်လုပ်ရန် ရည်ရွယ်ထားသည်။
Time Card သည် ၎င်းတို့၏ အခြေခံအဆောက်အဦများတွင် ဖြန့်ကျက်အသုံးပြုနိုင်ပြီး ဥပမာအားဖြင့် စုစည်းရန်အတွက် အဓိက (Time Master) အတိအကျ အချိန်ဆာဗာများ ဖန်တီးရန်အတွက် အစိတ်အပိုင်းများကို ပံ့ပိုးပေးရန်အတွက် အစိတ်အပိုင်းများကို ပံ့ပိုးပေးရန် ရည်ရွယ်သော ကမ္ဘာလုံးဆိုင်ရာ Time Appliance ပရောဂျက်၏ တစ်စိတ်တစ်ပိုင်းအဖြစ် Time Card ကို တီထွင်လျက်ရှိသည်။ ဒေတာစင်တာများတွင် အချိန်ထပ်တူပြုခြင်း။ သီးခြားဆာဗာကိုအသုံးပြုခြင်းသည် တိကျသောအချိန်ထပ်တူပြုခြင်းအတွက် ပြင်ပကွန်ရက်ဝန်ဆောင်မှုများအပေါ်တွင် မှီခိုမနေစေဘဲ တပ်ဆင်ထားသောအနုမြူနာရီတစ်ခုရှိနေခြင်းသည် ဂြိုလ်တုစနစ်များမှဒေတာများလက်ခံရရှိခြင်းတွင် ချို့ယွင်းမှုရှိပါက မြင့်မားသောကိုယ်ပိုင်အုပ်ချုပ်ခွင့်ကိုပေးသည် (ဥပမာ၊ ရာသီဥတုအခြေအနေ သို့မဟုတ် တိုက်ခိုက်မှုများကြောင့်)။
ပရောဂျက်၏ထူးခြားချက်မှာ ပင်မအချိန်အတိအကျဆာဗာတစ်ခုတည်ဆောက်ရန်၊ ပုံမှန်ကွန်ရက်ကတ်တစ်ခုနှင့် Time Card ပါ၀င်သည့် x86 ဗိသုကာကိုအခြေခံ၍ ပုံမှန်ဆာဗာကို သင်အသုံးပြုနိုင်သည်မှာဖြစ်သည်။ ထိုသို့သောဆာဗာတွင်၊ GNSS မှတစ်ဆင့် ဂြိုလ်တုများမှ တိကျသောအချိန်အချက်အလက်များကို လက်ခံရရှိပြီး GNSS မှတစ်ဆင့် သတင်းအချက်အလက်ရယူရာတွင် ချို့ယွင်းချက်ရှိပါက မြင့်မားသောတိကျမှုအဆင့်ကို ထိန်းသိမ်းထားရန် အက်တမ်နာရီသည် အလွန်တည်ငြိမ်သော oscillator တစ်ခုအဖြစ် လုပ်ဆောင်သည်။ အဆိုပြုဘုတ်အဖွဲ့ရှိ GNSS မှတစ်ဆင့် ဒေတာလက်ခံရရှိရန် ပျက်ကွက်ပါက အချိန်အတိအကျမှ သွေဖည်နိုင်ခြေမှာ တစ်နေ့လျှင် 300 nanoseconds ခန့်ဖြင့် ခန့်မှန်းထားသည်။
Linux အတွက်၊ Linux 5.15 kernel ၏ အဓိကဖွဲ့စည်းမှုတွင် ထည့်သွင်းရန် စီစဉ်ထားသည့် ocp_pt driver ကို ပြင်ဆင်ထားပါသည်။ ယာဉ်မောင်းသည် PTP POSIX (/dev/ptp2)၊ အမှတ်စဉ် (/dev/ttyS7) မှ GNSS၊ အမှတ်စဉ် (/dev/ttyS8) နှင့် i2c စက်များ (/dev/i2c-*) အင်တာဖေ့စ်နှစ်ခုကို အသုံးပြုပြီး၊ အသုံးပြုသူပတ်ဝန်းကျင်မှ ဟာ့ဒ်ဝဲနာရီ (PHC) ၏ လုပ်ဆောင်နိုင်စွမ်းများကို ဝင်ရောက်ကြည့်ရှုပါ။ NTP (Network Time Protocol) ဆာဗာကို စတင်သောအခါ၊ Chrony နှင့် NTPd ကို အသုံးပြုရန် အကြံပြုထားပြီး၊ PTP (Precision Time Protocol) ဆာဗာကို စတင်သည့်အခါ၊ ptp4u သို့မဟုတ် ptp4l သည် အချိန်တန်ဖိုးများကို သေချာစေသည့် phc2sys stack နှင့် ပေါင်းစပ်ထားခြင်းဖြစ်သည်။ အက်တမ်နာရီမှ ကွန်ရက်ကတ်သို့ ကူးယူသည်။
GNSS လက်ခံသူနှင့် အက်တမ်နာရီ၏ လုပ်ဆောင်ချက်ကို ဟာ့ဒ်ဝဲနှင့် ဆော့ဖ်ဝဲလ်တွင် နှစ်မျိုးလုံး လုပ်ဆောင်နိုင်သည်။ ကိုက်ညီသော module ၏ ဟာ့ဒ်ဝဲလုပ်ဆောင်နိုင်စွမ်းကို FPGA ၏အခြေခံပေါ်တွင် အကောင်အထည်ဖော်ထားပြီး ဆော့ဖ်ဝဲဗားရှင်းသည် GNSS လက်ခံသူနှင့် ptp4l နှင့် chronyd ကဲ့သို့သော အပလီကေးရှင်းများမှ အဏုမြူနာရီအခြေအနေကို တိုက်ရိုက်စောင့်ကြည့်သည့်အဆင့်တွင် လုပ်ဆောင်သည်။
စျေးကွက်တွင် အဆင်သင့်လုပ်ထားသော ဖြေရှင်းချက်များကို အသုံးပြုမည့်အစား အဖွင့်ဘုတ်ပြားကို တီထွင်ရခြင်း၏ အကြောင်းရင်းများမှာ အကောင်အထည်ဖော်မှု၏ မှန်ကန်မှု၊ အဆိုပြုထားသည့် ဆော့ဖ်ဝဲနှင့် လုံခြုံရေး လိုအပ်ချက်များအကြား ကွာဟချက် (အများစုတွင်၊ ကိစ္စများတွင် ခေတ်မမီတော့သော ပရိုဂရမ်များကို ပံ့ပိုးပေးထားပြီး အားနည်းချက် ပြင်ဆင်မှုများ ပေးပို့ခြင်းသည် လ သို့မဟုတ် နှစ်များပင် ကြာနိုင်သည်) အပြင် ကန့်သတ်စောင့်ကြည့်ခြင်း (SNMP) နှင့် ဖွဲ့စည်းမှုဆိုင်ရာ ရွေးချယ်စရာများ (ကိုယ်ပိုင် CLI သို့မဟုတ် ဝဘ် UI ကို ကမ်းလှမ်းထားသည်)။
source: opennet.ru