ฉันจะสมมติว่า RTC เป็นทั้งชิปที่แยกออกมาพร้อมคริสตัลของตัวเองหรือโมดูลที่รวมเข้ากับไมโครคอนโทรลเลอร์ของคุณที่มีแหล่งเวลาแยกต่างหากอีกครั้ง (เช่นคริสตัล 32 kHz) กว่านาฬิกาหลัก และแหล่งเวลาสำหรับ RTC นั้นแม่นยำกว่าแหล่งข้อมูลสำหรับไมโครคอนโทรลเลอร์
ในการพิจารณาความถี่ที่คุณต้องอ่าน RTC คุณต้องทราบว่าข้อผิดพลาดสูงสุดของนาฬิกาหลักของคุณคืออะไร ตัวอย่างเช่นหากคริสตัลหลักเป็น spec'ed ที่ 20 ppm นั่นก็เท่ากับ 0.002% ดังนั้นนาฬิกาที่ใช้แหล่งสัญญาณนาฬิกาหลักอาจลอยได้ 0.00002 * 3600 * 24 = 1.728 วินาทีต่อวัน
ดังนั้นหากคุณอ่าน RTC เพียงวันละสองครั้งและในระหว่างที่เพิ่มเวลาครั้งที่สองโดยใช้ตัวขัดจังหวะตัวจับเวลาคุณจะไม่ถูกปิดมากกว่าวินาทีที่สอง - จะไม่ถูกปิดมากกว่าวินาทีที่เปรียบเทียบกับ RTC นั่นคือ
ถ้าอย่างที่ฉันคิดไว้ก่อนหน้านี้ RTC ของคุณอาจเป็นชิปแยกต่างหากที่มีคริสตัลของตัวเองหรือโมดูลที่รวมเข้ากับไมโครคอนโทรลเลอร์ของคุณนั่นไม่ได้หมายความว่ามันถูกต้อง RTC สามารถมีข้อผิดพลาดได้เช่นกัน ตัวอย่างเช่นหากใช้คริสตัลขนาด 32 kHz ที่มีค่าความคลาดเคลื่อน 5 ppm (ซึ่งมีราคาแพงกว่า 10 ppm เล็กน้อย) ก็สามารถปิดได้ที่ 0.43 วินาทีต่อวันหรือ 13 วินาทีต่อเดือน
ในการหลีกเลี่ยงปัญหานี้คุณจะต้องปรับ RTC ที่คุณเขียนปัจจัยการแก้ไขกลับไปที่การลงทะเบียน การทำเช่นนั้นจะช่วยให้คุณได้รับข้อผิดพลาดในทางปฏิบัติเป็นศูนย์ แต่แน่นอนคุณจะต้องมีแหล่งสัญญาณนาฬิกาภายนอกลำดับที่สามเพื่อใช้เป็นข้อมูลอ้างอิงเมื่อทำการปรับจูน การอ้างอิงที่แม่นยำที่สุดในสหรัฐอเมริกาคือสาย 60 Hz AC ซึ่งรับประกันว่าจะเป็น60 * 60 * 60 * 24 (5,184,000) รอบในระยะเวลา 24 ชั่วโมงระหว่างมิดไนต์ต่อเนื่อง เพื่อให้มีประโยชน์คุณจะต้องใช้เวลาตลอด 24 ชั่วโมงเนื่องจาก 60 เฮิร์ตซ์สามารถเลื่อนไปมาระหว่างเที่ยงคืนได้
การอ้างอิงเวลาที่ยอดเยี่ยมอื่นจะใช้ GPS (ความแม่นยำ 10 ns) หากมีฮาร์ดแวร์ GPS อยู่ในโครงการแล้ว
หากเวลา RTC ของคุณมาจากแหล่งภายนอกเช่นเวลาเครือข่ายเซลลูลาร์ (AT + CCLK? call) หรือเซิร์ฟเวอร์เวลาเครือข่ายที่ใช้ NTP คุณสามารถใช้ค่า RTC ได้เนื่องจากไม่มีสิ่งใดที่จะ "ปรับ" .