ทำไมชิปนาฬิกาแบบเรียลไทม์จึงใช้ BCD


14

ฉันเห็นชิปนาฬิกาแบบเรียลไทม์ที่แตกต่างกันหลายสิบตัวในตลาดรวมถึงโปรเซสเซอร์จำนวนมากที่มีโมดูลนาฬิกาเรียลไทม์ที่ขับเคลื่อนด้วยพลังงานในตัว

เกือบทั้งหมดไม่เพียง แต่เก็บเวลาเป็นปีเดือนวันชั่วโมงนาทีวินาที แต่แม้กระทั่งแต่ละเขตข้อมูลจะถูกเก็บไว้ใน BCD มากกว่ารูปแบบไบนารี

มีเหตุผลพื้นฐานสำหรับเรื่องนี้หรือไม่?

มีแอปพลิเคชันไมโครโปรเซสเซอร์ใดที่ทำอะไรซับซ้อนกว่าเพียงแค่แสดงนาฬิกาที่รูปแบบ BCD มีประโยชน์มากกว่าไบนารีหรือรูปแบบของปีเดือนเดือนชั่วโมงชั่วโมงนาทีวินาทีจะมีประโยชน์มากกว่านับ 47 บิตตรง ของการเปลี่ยนแปลงสถานะ oscillator?

จากสิ่งที่ฉันบอกได้ดูเหมือนว่าผู้ผลิต RTCC จะเพิ่มวงจรพิเศษจำนวนมากเพื่อทำให้ชิปของพวกเขามีประโยชน์น้อยลง เหตุผลเดียวที่ฉันสามารถคิดหาโมดูล RTCC ในหน่วยประมวลผลเพื่อทำงานในลักษณะนั้นคือผู้ขายหน่วยประมวลผลใช้การใช้งาน BCD ที่มีอยู่แล้วแทนที่จะผลิตด้วยตัวเอง


2
ฉันไม่ทราบคำตอบ แต่ฉันสงสัยว่ามีความสัมพันธ์กับBCD ถึง 7-Segment Decoderหรือไม่?
ศ. Meow Meow

@Prof Meow Meow: ชื่อที่ดี วิธีปฏิบัติที่เป็นประโยชน์มากที่สุดสำหรับการจัดเก็บตัวเลขที่จะแสดงในฮาร์ดแวร์คือ BCD มีระบบที่เก็บตัวเลขที่จะแสดงในรูปแบบอื่น ๆ แต่ในหลายกรณีพวกเขาใช้ ROM เพื่อแมปโดยตรงจากตัวเลขไปยังการแสดงภาพ (เช่นเครื่องอาเขต "Tank" ใช้เคาน์เตอร์คะแนน 6 บิตและ 512 byte ROM เพื่อแปลงค่าคะแนนแต่ละรูปให้เป็นรูปร่าง 8x8) แต่โดยทั่วไปจะสามารถใช้งานได้หากค่าตัวเลขสูงสุดมีขนาดค่อนข้างเล็ก
supercat

คำตอบ:


12

RTC ทั้งหมดใช้การเข้ารหัส BCD หรือไม่

RTCs จาก Philips / NXP (ทั้งแบบสแตนด์อโลนและรวมเข้ากับชิป ARM7 หรือ Cortex-M3) ไม่ใช้การเข้ารหัส BCD

เกิดอะไรขึ้นกับ BCD RTC

เมื่อเปรียบเทียบกับตัวนับแบบแบนการดำเนินการเฉพาะที่ยากกว่าด้วยนาฬิกาแยก BCD คือการคำนวณความแตกต่างของเวลา (เพิ่มวินาทีหรือการคำนวณเวลาที่ผ่านไป) การเปรียบเทียบเวลาเช่น: "เป็นเวลาปัจจุบันที่มากกว่าเวลาปลุกที่กำหนดโดยผู้ใช้" เป็นเรื่องง่าย

มีอะไรดีเกี่ยวกับ BCD (และโดยทั่วไปคือแยกฟิลด์) RTC

การแยกฟิลด์เป็นสิ่งที่ดีมากเมื่อคุณใส่ใจในวันที่ในปฏิทิน ปฏิทินของมนุษย์มีเรื่องตลก ๆ เช่นความยาวหลายเดือนและหลายปีที่ผ่านมา ลองทำในเคาน์เตอร์เดียว (คุณจะได้รับคะแนนโบนัสสำหรับการใช้งานแทบจะไม่มีอำนาจ) โอ้และลองสนับสนุนวันต่อสัปดาห์ (ค่อนข้างมีประโยชน์ในอุปกรณ์ทุกประเภทที่มีไว้สำหรับมนุษย์ตั้งแต่นาฬิกาปลุกไปจนถึงตัวควบคุมฮีตเตอร์) ด้วยสิ่งนี้

วิธีการ BCD มีคุณสมบัติเพิ่มเติมหนึ่งอย่าง: คุณจะได้รับการขัดจังหวะ "ทุกวินาที" หรือ "ทุก ๆ สิบวินาที" โดยไม่ต้องทำการคำนวณใด ๆ ในเวลาหรือวันที่

สำหรับการคำนวณปีอธิกสุรทินนั้นน้อยใน NXP RTCs เพราะมันใส่ใจกับการหารด้วย 4 กฎและไม่ตรวจสอบการหารด้วย 100 และ 400 ถ้ามันเก็บตัวนับปีไว้ใน BCD นี่จะเป็นเรื่องไม่สำคัญและน่าจะเป็นไปได้มากที่สุด ทำถูกต้องแล้ว

สรุป

  1. หากคุณต้องการนาฬิกาแบบ monotonic ให้ใช้หนึ่งตัว คุณสามารถซื้อ PIC หรือ AVR ด้วย "ตัวนับ RTC" (ซึ่งเป็นเพียงตัวนับแบบอะซิงโครนัสที่มีออสซิลเลเตอร์ 32kHz อิสระ) โปรดทราบว่าการแสดงวันที่นั้นจะเป็นเรื่องยาก :)

  2. เมื่อคุณต้องการแสดงเวลาและวันที่และตั้งการเตือนตามการป้อนข้อมูลของผู้ใช้เวลาและวันที่จากนั้นใช้ RTC และจำไว้ว่าเมื่อผู้ใช้เปลี่ยนเวลาและวันที่ปัจจุบันการขัดจังหวะโดย RTC ของคุณอาจไม่ถูกต้อง


1
ฉันเพิ่งเริ่มใช้ Gekko ซึ่งมี RTC 24 บิตซึ่งเกือบจะเป็นสิ่งที่ฉันต้องการยกเว้นว่าจะไม่สามารถให้เวลาได้เมื่อตัวประมวลผลตาย ฉันยังดูที่ ST Micro ARM ซึ่งมีโมดูล BCD RTC ที่ไร้สาระซึ่งรองรับการขัดจังหวะเพียงหนึ่งวินาทีเท่านั้น หากชิป ST ไม่เคยไม่มีพลังงานมานานกว่าสามปีฉันสามารถนำโชคล่วงหน้า RTC มาทำงานด้วยความเร็ว 32x จากนั้นใช้เทคนิคซอฟต์แวร์เพื่อชดเชยจึงได้รับการแก้ไขเวลา 1/32 วินาทีในการปลุกเหตุการณ์ แต่ ครั้งที่จัดเก็บใน RTC จะไม่มีความสัมพันธ์ที่มีความหมายเวลาปฏิทินและ ...
SuperCat

1
... ดังนั้นความจำเป็นในการแปลงจากรูปแบบที่โง่ของ RTC ไปเป็นการเพิ่มครั้งละ 1/32 วินาทีจะน่ารำคาญโดยเฉพาะอย่างยิ่งเนื่องจากการแปลงดังกล่าวจะต้องใช้ในทุกรอบการนอนหลับ / ตื่น ฉันเดาว่าฉันอยากรู้ว่ามีกี่คนที่ใช้ RTCC readouts โดยไม่ต้องแปลงเป็นวินาทีเดียว อาจจะมีเพียงพอที่จะทำให้รูปแบบ YMDHMS คุ้มค่า แต่ในใจของฉันมันมีประโยชน์มากในการจอง YMDHMS สำหรับI / O ของมนุษย์และใช้เวลาเพียงไม่กี่วินาที
supercat

1
@jpc: ความชอบของฉันจริง ๆ แล้วไม่เคยตั้งเวลา RTC- ชิป แต่ให้ "เวลาตั้งแต่แบตเตอรี่นาฬิกาติดตั้ง" และเก็บความแตกต่างระหว่างเวลาและผนัง ฉันใช้วิธีการนั้นในผลิตภัณฑ์รุ่นหนึ่งซึ่งใช้ PIC แยกต่างหากเพื่อรักษาเวลาแบตเตอรี่สำรอง (เวลาบน PIC นั้นเป็นแบบอ่านอย่างเดียว) และจะใช้กับชิปที่มีตัวนับตรง แม้ว่ามันจะเป็นความคิดที่ค่อนข้างโง่ แต่การมี RTC ของเครื่องนั้นมีรูปแบบการจัดรูปแบบที่ไม่มีความหมาย แต่ถ้าฉันใช้ชิป ST Micro ฉันอาจทำเช่นนั้นได้
supercat

1
BTW ซีรี่ส์ STM32F100 ใช้ RTC 32- บิตวินาที (ไม่ใช่ BCD) แต่ชุด STM32F400 จะถอยกลับไปเป็น RTC ที่เข้ารหัส BCD ถอนหายใจ
Mark Lakata

1
@FedericoRusso: เขตข้อมูลแยกจะทำให้รู้สึกบางอย่างแม้ว่ามันจะมีแนวโน้มที่จะเป็นอุปสรรคมากกว่าความช่วยเหลือในการใช้งานมากที่สุด ทางเลือกของ BCD แต่ดูเหมือนว่าที่แปลกประหลาดอย่างจริงจังเป็นตัวเลือกที่จะกำกับซีพียูที่ไม่ได้รับการสนับสนุน BCD ใด ๆ
supercat

3

เมื่อใช้นาฬิกาในตอนท้ายคุณมีแนวโน้มที่จะสนใจในนาทีและหลายสิบวินาที (ต่อการแสดงนาฬิกา) มากกว่าเพียงแค่จำนวนวินาทีนาทีและอื่น ๆ ในกรณีที่คุณไม่สนใจตัวเลขที่แยกกันโอกาสที่คุณไม่สนใจค่านาทีหรือวินาทีที่แยกจากกันและคุณอาจใช้ตัวนับไบนารีแบบยาวตามที่คุณแนะนำ
ง่ายกว่าที่จะแปลงจาก BCD เป็นไบนารีในซอฟต์แวร์มากกว่าวิธีอื่น ๆ และเนื่องจากตัวนับ BCD ไม่จำเป็นต้องมีอสังหาริมทรัพย์เพิ่มมากไปกว่าตัวนับเลขฐานสองมันจึงเหมาะสมที่จะเลือกสำหรับ BCD


2
แอปพลิเคชันไม่ต้องการทำอะไรกับวันที่และเวลาอื่นนอกเหนือจากที่แสดง ฉันคิดว่ามันเป็นเรื่องธรรมดามากกว่าที่จะต้องการทำสิ่งต่าง ๆ เช่นคำนวณระยะทางในอนาคตหรือกำหนดเวลาที่ผ่านไปตั้งแต่เหตุการณ์บางอย่าง ฯลฯ ซึ่งง่ายต่อการคำนวณ: วันที่และเวลา 45 วินาที หลัง 28-Feb-2000 23:59:52 หรือ 5097582 + 45 (ค่าหลังสมมติว่าเที่ยงคืน 01-Jan-2000 เป็นยุค)? วิธีการพิจารณาว่า 5 นาทีผ่านไปแล้วระหว่าง 28-Feb-2000 23:59 ถึง 01-Mar-2000 00:03 (เทียบกับ 5097540.0 และ 5184180.0)
supercat

1
RTC ที่มีตัวนับ 48 บิตสำหรับ 65,536 ของวินาทีและโมดูลเปรียบเทียบสัญญาณเตือนซึ่งครอบคลุม 24 บิตด้านล่างหรือดังนั้นจะมีประโยชน์อย่างมากสำหรับระบบพลังงานต่ำเนื่องจากสามารถใช้เป็นพื้นฐานสำหรับการจัดตารางเวลาระบบปฏิบัติการอิสระของ หน่วยประมวลผลตื่นและนอนหลับ หากสิ่งที่คาดว่าจะเกิดขึ้น 4 วินาทีต่อจากนี้ระบบสามารถบันทึกค่า RTC เมื่อเหตุการณ์ควรจะเกิดขึ้น หาก 2 วินาทีนับจากนี้โปรเซสเซอร์พบว่าตัวเองไม่มีอะไรเลยก็สามารถตั้งค่าการเตือน RTC และเข้าสู่โหมดสลีปได้ เมื่อเหตุการณ์เกิดขึ้นระบบจะตื่นขึ้น
supercat

@supercat - สำหรับคอมพิวเตอร์ที่ใช้งานทั่วไปให้ระบบปฏิบัติการติดตามเวลาและทำ "สิ่งที่มีประโยชน์" ด้วยข้อมูลเวลานั้น RTC จะถูกปรึกษาเพียงครั้งเดียวเพื่อเริ่มต้นข้อมูลเวลาของระบบปฏิบัติการและจากนั้นเวลาจะได้รับการปรับปรุงโดยการขัดจังหวะ แต่สำหรับการใช้งานแบบฝังตัวที่เรียบง่ายมีแนวโน้มมากที่
Toybuilder

1
@Toybuilder: วิธีหลังเป็นวิธีที่ฉันใช้ในการล็อคอิเล็กทรอนิกส์ไม่กี่รุ่นล่าสุด สิ่งรบกวนที่ใหญ่ที่สุดของฉันคือการขาดตัวเลือกเอาต์พุตพัลส์ระหว่าง 32Khz และ 16Hz (เนื่องจากฉันไม่เชื่อถือการดึง 1M เพื่อให้ทำงานได้อย่างน่าเชื่อถือด้วยเอาต์พุตแบบสะสม 32Khz ตัวเลือกที่สมเหตุสมผลเท่านั้นคือ 16Hz) และความฉับพลันของ PIC วงจรจับเวลา
supercat

1
@FedericoRusso: หากมีตัวนับเวลาแบบไบนารี่ตรงจะไม่ต้องแปลงกลับเป็นชั่วโมงนาทีและวินาทียกเว้นในกรณีที่จอแสดงผลที่มนุษย์สามารถอ่านได้ มีเพียงหนึ่งเพิ่ม 3723 และที่มัน เมื่อทำงานกับค่าวันที่ / เวลาของ YMD-HMS จำเป็นต้องมีรหัสแยกต่างหากสำหรับการเพิ่มและลดเวลาการประหยัดเวลากลางวันเป็นฝันร้ายที่ผู้ผลิตชิปดูเหมือนจะต้องการเพิ่มการสนับสนุนที่เสียหาย [เช่นคำสั่งที่ลบหนึ่งจากการนับชั่วโมงยกเว้นเมื่อ มันเป็นศูนย์ในกรณีนี้มันไม่ทำอะไรเลย] DST เป็นความเจ็บปวดในระบบเลขฐานสองด้วย แต่ก็ไม่น่าเกลียด
supercat

3

ฉันสงสัยด้วยเหตุผลหลายประการ:

ประวัติศาสตร์ - พวกเขาทำเช่นนี้มาระยะหนึ่งแล้ว หากคุณต้องการให้ชิ้นส่วนใหม่ของคุณเปลี่ยนชิ้นส่วนอื่น ๆ คุณจะต้องทำงานเหมือนเดิม ดังนั้นคุณต้องรักษาด้วย BCD

แอปพลิเคชัน - ถ้ามีคนใช้ RTC จากไมโครเล็ก ๆ (บางอย่างในช่วง 8 บิตเช่น PIC ต่ำสุด) จากนั้นจัดการกับจำนวนมาก (เช่นเคาน์เตอร์ 47 บิตของคุณ) เป็นอาการปวดที่คอ มันง่ายกว่ามากในการจัดการกับตัวเลข BCD เนื่องจากคุณไม่ต้องทำงานเพื่อแยกแยะ

ไม่ใช่เรื่องยาก - การทำเคาน์เตอร์ BCD นั้นไม่ใช่เรื่องยากและอันที่จริงฉันคิดว่ามันไม่ได้มีอะไรมากมายไปกว่าการทำไบนารี

เราสามารถจินตนาการระบบที่คุณได้รับแยกชั่วโมงนาที ฯลฯ เคาน์เตอร์ในไบนารีแทนที่จะเป็น BCD (ดังนั้นการหลีกเลี่ยงปัญหา 'ทำลายจำนวน 47 บิต') แต่มันไม่ง่ายขนาดนั้นและคุณจะทำอะไรบางอย่าง แปลงเมื่อแสดงสิ่งต่อไป


1
ตัวเลข 48 บิตจะเป็นจำนวน 32 บิตและเศษส่วน 16 บิต การทำงานกับตัวเลข 32 บิตบนไมโคร 8 บิตนั้นไม่เลวเลย ฉันสามารถจินตนาการได้ว่าในบางสิ่งบางอย่างเช่น 6502 ซึ่งสามารถจัดการกับ BCD ที่บรรจุไว้ได้อย่างดีรูปแบบ BCD อาจบันทึกสองสามไบต์ในบางกรณีแม้ว่าความซับซ้อนของการจัดการที่เพิ่มขึ้นระหว่างวินาทีชั่วโมงชั่วโมง แต่แน่นอนว่าคนที่สร้าง RTCC ไว้ในชิป ARM ของ ST micro ไม่ได้คาดหวังว่าจะมีใครบางคนใช้ 6502 เพื่อประมวลผลข้อมูล - ไม่ใช่ด้วย ARM 32- บิตนั่งอยู่ตรงนั้น!
supercat

1
@supercat - ในขณะที่ไม่ยากการทำงาน 32 บิตบนไมโคร 8 บิตยังคงเป็นความเจ็บปวดใน <bleep> และในบางอย่างเช่น PIC (ด้วยคำสั่งที่ จำกัด มาก & การลงทะเบียน & การเว้นวรรค ram) มันยิ่งเจ็บปวด สำหรับชิป ARM - ฉันจะพนันว่ามีอะไรเกี่ยวข้องกับประวัติศาสตร์ก่อนหน้ามากกว่าสิ่งอื่น - ทุกคนคุ้นเคยกับการทำเช่นนั้นดังนั้นพวกเขาจึงทำเช่นนั้นต่อไป
Michael Kohne

1
ฉันสงสัยว่าคนที่ใช้อุปกรณ์ต่อพ่วง RTCC ส่วนใดที่ไม่แปลงวันที่ / เวลาให้เป็นตัวนับวินาทีสไตล์ Unix
supercat

1
supercat: พวกเขาทั้งหมดเหรอ? สิ่งที่ใช้เป็น timestamps สไตล์ยูนิกซ์ในนาฬิกา? OTOH กรณีการใช้งานเพียงอย่างเดียวของคุณคือสัญญาณเตือน RTOS ซึ่งให้บริการดีกว่าด้วยตัวจับเวลาปกติหรือด้วยการขัดจังหวะ "การเพิ่มครั้งที่สอง" อย่างง่ายจาก RTC
jpc

1
@jpc: ถ้าคุณต้องการตรวจสอบว่าวันที่ที่กำหนดอยู่ในการปรับเวลาตามฤดูกาลหรือพิจารณาว่าโปรแกรมที่เริ่มต้นในวันที่ / เวลาที่แน่นอนและระยะเวลาที่แน่นอนจะทับซ้อนกันหรือไม่ สิ่งต่าง ๆ นั้นง่ายมากในไม่กี่วินาที แต่ YMDHMS นั้นยากกว่า สำหรับการใช้งานตัวจับเวลาปกติสิ่งที่ฉันใช้ในปัจจุบันคือติ๊ก 1/16-วินาทีจากชิป RTC ขับ TMR1 และ TMR3 บน PIC; ที่ให้ฉันปลุกความแม่นยำ 1/16 วินาทีที่ใช้งานได้แม้ในขณะที่นาฬิกา CPU หลักหยุดทำงานและฉันได้รับช่วงเวลาทั้งหมดจากนั้น
supercat

1

ฉันเห็นด้วยกับ Michael Kohne ว่ามีแรงผลักดันทางประวัติศาสตร์มากมาย

MCU รุ่นแรกยังมีพื้นที่น้อยกว่าสำหรับรหัสและข้อมูล (เช่น 128 BYTES of RAM เป็นต้น) เนื่องจากข้อมูลเวลามักถูกใช้เพื่อจุดประสงค์ในการเชื่อมต่อระหว่างมนุษย์จึงเหมาะสมกว่าที่จะเก็บข้อมูลที่ใกล้เคียงที่สุดกับรูปแบบที่ใช้แสดง / อินพุตจากมนุษย์

บางส่วนของ MCU รุ่นใหม่ที่มีรหัสและพื้นที่ข้อมูลมากขึ้นบางครั้งก็ใช้ตัวนับเวลาฮาร์ดแวร์แบบเรียลไทม์อุปกรณ์เหล่านี้มักจะนับจำนวน 32kHz ติ๊ก


ฉันเขียนโค้ดสำหรับ Atari 2600 (RAM 128 ไบต์) และฉันรู้ถึงคุณประโยชน์ของ BCD สิ่งต่างๆเช่นคะแนนจะคำนวณใน BCD เกือบทุกครั้ง บางครั้งตัวเลขระดับคือ แม้ว่าใน 6502 ฉันจะคาดหวังว่าถ้าฉันต้องการตรวจสอบว่าวันที่ / เวลาสองครั้งอยู่ภายในห้านาทีของกันและกันและกำหนดว่าการปรับเวลาตามฤดูกาลมีผลบังคับใช้หรือไม่รหัสเพื่อแปลงตัวนับ 32 บิตวินาทีเป็น YMDHMS จงกระชับให้เป็นโค้ดเพื่อทำการคำนวณเหล่านั้นโดยไม่ต้องทำการแปลงเช่นนั้น สำหรับซีพียูรุ่นใหม่กว่านี้ฉันเคยเห็นตัวนับ 32Khz ตรงที่ต้องใช้ CPU ตัวหลักที่ยังมีชีวิตอยู่ ...
Supercat

... แต่ชิปที่ฉันสังเกตุเห็นว่ามี RTCC แยกต่างหากใช้ BCD YMDHMS
supercat

ซีพียูรุ่นใหม่ทำเช่นนี้เนื่องจากราคาถูกกว่าและใช้กระแสน้อยลงเล็กน้อย (โดยเฉพาะอย่างยิ่งสำคัญเนื่องจากกระบวนการเซมิคอนดักเตอร์ที่ใช้นั้นได้รับการปรับให้เหมาะสำหรับการสร้างซีพียูไม่ใช่ RTC)
jpc

@jpc: ทำไมราคาถูกกว่าและต่ำกว่าจึงใช้ BCD YMDHMS ฉันคิดว่าตัวนับแบบอ่านอย่างเดียว 47 บิตพร้อมตัวเปรียบเทียบที่ 32 บิตด้านล่างจะง่ายกว่าสิ่งที่แยกวิเคราะห์วันที่ทั้งหมดในชิป RTC ถ้าไม่มีภาพยนตร์ต้นแบบของวงจรวันที่ BCD ซึ่งเนื่องจากเวทมนตร์บางอันที่หลงลืมมานานสามารถถูก plopped ลงในการออกแบบเพื่อให้ได้กระแสต่ำกว่าที่มีอยู่ด้วยวิธีการที่ทันสมัยฉันไม่ชัดเจนว่าทำไม BCD จะถูกกว่าหรือใช้ ปัจจุบันน้อยลงหรือไม่
supercat

ฉันกำลังคิดเกี่ยวกับ @Toybuilders ตอบซึ่งเขาระบุว่าซีพียูรุ่นใหม่มีเพียงตัวนับและไม่ใช่ RPC แบบเต็มเป่า
jpc

1

ในกรณีที่ใครสนใจฉันแค่ดูชุด 32F ของ ST และดูเหมือนว่าในขณะที่ชุด 32L รุ่นใหม่ใช้ BCD RTC, 32F ใช้ตัวนับ 32- บิตตรงกับ prescalar ที่กำหนดค่าได้และให้แบตเตอรี่แยกต่างหากสำหรับมัน (ไชโย! ) ฉันจะค่อนข้างมีเคาน์เตอร์ที่ยาวกว่าตรงโดยไม่มี prescalar ที่กำหนดค่าได้ (ดังนั้นฉันจะได้ความถูกต้อง 1 / 256sec แต่เก็บเวลาไว้นานหลายปีโดยไม่ต้องกังวลกับการห่อ) แต่ถ้าฉันตั้ง prescale เป็นเวลา 1 / 64sec สองปีโดยไม่ล้น ไม่เหมาะ แต่ไม่เลวเกินไป ไม่น่ารังเกียจเล็ก ๆ น้อย ๆ ว่าถ้าใครบางคนกำลังเปิดเครื่องหลังจากที่มันถูกปิดเป็นเวลานานกว่า (2.1+ ปี) เวลา / วันที่จะย้อนกลับไปโดยไม่สามารถตรวจจับได้ในอีก 2.1 ปี แต่แทบจะไม่เป็นปัญหาสำคัญ (เคาน์เตอร์มีธงล้น แต่ใน หลายกรณีที่ไม่ได้ช่วยอะไรมาก หากเครื่องเปิดใช้งานเป็นเวลาสองปีก่อนที่จะถูกปิดและเปิดเครื่องเมื่อสามเดือนต่อมาตัวจับเวลาจะคาดว่าจะล้น คำถามจะเป็นว่ามีการล้นสองครั้งหรือไม่และฉันไม่รู้เกี่ยวกับการตั้งค่าสถานะใด ๆ


0

Maxim ดูเหมือนว่าจะทำสิ่งที่คุณต้องการด้วยDS1372U ต้องการน้อยกว่า1μAค่าใช้จ่าย 1.7 USD และสามารถใช้ได้ (!) ใน DigiKey และ Mouser ปัญหาเดียวก็คือดูเหมือนว่ามันจะไม่ส่งสัญญาณเตือนที่มีความแม่นยำมากกว่า 1 วินาทีและอัตรานาฬิกาเอาต์พุตต่ำสุดคือ $ \ about $ 4kHz


1
มันแพงไปหน่อยและมันก็ไม่อนุญาตให้มีการอ่านส่วนเพิ่มที่เล็กกว่าหนึ่งวินาที เอาท์พุท 4096Hz จะดีแม้ว่ามันจะดีกว่าถ้ามันต่ำสำหรับ 1/65536 วินาทีและสูงสำหรับ 15/65536 เอาต์พุตแบบ open-collector ควรน้อยที่สุดเท่าที่จะทำได้
supercat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.