ในบทความนี้ เราจะพูดถึงการใช้ชิปเคาน์เตอร์สำเร็จรูปเพื่อใช้ประโยชน์จากบล็อกอาคารที่ผลิตสำเร็จแล้ว
เคาน์เตอร์เป็นหน่วยตรรกะดิจิทัลขั้นพื้นฐานและมีการใช้งานหลากหลาย
ตัวนับจะเคลื่อนไปตามลำดับตัวเลขที่ต่อเนื่องกัน — ขึ้นหรือลง — ทุกครั้งที่มีการขับเคลื่อนพัลส์นาฬิกา ตัวนับจะใช้ในการแบ่งสัญญาณนาฬิกาความถี่สูงเพื่อให้ได้สัญญาณนาฬิกาความถี่ต่ำสำหรับสเตตแมชชีนและการนับเหตุการณ์พื้นฐาน คุณสามารถออกแบบตัวนับตั้งแต่ต้นด้วยตารางความจริงโดยใช้ตรรกะบูลีน
ในบทความนี้ เราจะพูดถึงการใช้ชิปเคาน์เตอร์สำเร็จรูปเพื่อใช้ประโยชน์จากบล็อกอาคารที่ผลิตสำเร็จแล้ว
ตระกูลลอจิก 7400 ทั่วไปมีชิปเคาน์เตอร์ 4 บิตจำนวนมากให้เลือกใช้ ขนาด 4 บิตเป็นขนาดที่นิยมใช้เนื่องจากเคาน์เตอร์มีขนาดเล็กพอที่จะใส่ในแพ็คเกจ 16 พินได้ และสามารถต่อเรียงกันเพื่อสร้างความกว้างที่ยาวขึ้นได้อย่างง่ายดาย เคาน์เตอร์ 4 บิตสองตัวจะให้ตัวนับไบต์หนึ่งตัว
ตัวนับไบนารี 4 บิตโดยปกติจะเลื่อนจาก 00002 ถึง 11112 หรือ 0 ถึง 15 ทศนิยม ลำดับการนับเลขกำลังสองตามธรรมชาตินี้มีประโยชน์ในแอปพลิเคชันต่างๆ มากมาย
อย่างไรก็ตาม แอปพลิเคชันบางอย่างเหมาะกับตัวนับทศวรรษที่เลื่อนจาก 00002 ถึง 10012 หรือทศนิยม 0 ถึง 9 มากกว่า ตัวนับทศวรรษมักใช้เมื่อนับเหตุการณ์ที่ผู้คนจะต้องตีความ เนื่องจากผู้คนมักจะคิดเป็นทศนิยม
คำว่าเลขฐานสิบที่เข้ารหัสแบบไบนารี หรือ BCD หมายถึงตัวนับแบบไบนารีที่ห่อหุ้มตั้งแต่ 10012 ถึง 00002 แทนที่จะดำเนินการต่อด้วยลำดับการนับแบบไบนารีปกติ
ตัวนับทศวรรษที่รู้จักกันดีคือ 74LS190 'LS190 เป็นตัวนับแบบซิงโครนัส ซึ่งหมายความว่าตัวนับจะส่งสัญญาณการเปลี่ยนแปลงเฉพาะที่ขอบสัญญาณนาฬิกาต่ำไปสูงเท่านั้น ซึ่งทำให้ตัวนับมีพฤติกรรมที่คาดเดาได้ง่าย
รูปที่ 1 แสดงการกำหนดพิน 'LS190'
รูปที่ 1 การกำหนดพิน 74LS190
นอกจากพินจ่ายไฟ 2 ตัวแล้ว ชิปยังมีอินพุตการนับ 4 ตัว เอาต์พุตการนับ 4 ตัว นาฬิกา และสัญญาณควบคุมหลายตัว อินพุตการนับ DN ช่วยให้โหลดค่าเฉพาะลงในเคาน์เตอร์ได้ล่วงหน้า ทำให้คุณสามารถเลือกที่จะไม่เริ่มนับจากศูนย์เสมอไป
สัญญาณ LOAD จะถ่ายโอนสถานะ DN ภายในชิป ซึ่งสะท้อนที่เอาต์พุต QN บนขอบสัญญาณนาฬิกาที่เพิ่มขึ้นถัดไป เราจะใช้คุณสมบัตินี้เพื่อรีเซ็ตชิปเพื่อเริ่มนับที่ศูนย์
ถัดไปจะมีสัญญาณ DOWN ที่บอกชิปให้นับถอยหลังเมื่อ DOWN = 1 หรือให้เริ่มนับเมื่อ DOWN = 0
นอกจากนาฬิกา CLK แล้ว ยังมีสัญญาณเปิดใช้งานการนับ CTEN ที่ทำให้ CLK มีคุณสมบัติ เมื่อ CTEN = 0 ชิปจะเพิ่มหรือลดตามปกติที่ขอบขาขึ้นของนาฬิกา เมื่อ CTEN = 1 ตัวนับจะไม่เดินหน้าและคงค่าปัจจุบันไว้ เว้นแต่จะโหลดค่าใหม่ผ่านสัญญาณ LOAD
CTEN และเอาต์พุตทั้งสองตัวคือ RCO (ripple carry out) และ MAXMIN ช่วยให้สามารถเชื่อมต่อเคาน์เตอร์หลายตัวแบบต่อเนื่องได้เพื่อให้ได้เคาน์เตอร์ที่มีขนาดแทบทุกขนาด
แล้วทั้งหมดนี้มารวมกันได้อย่างไรรูปที่ 2 แสดงตัวนับแบบเรียงซ้อนทั้งไบต์ที่ประกอบด้วยชิป 74LS190 สองตัว
รูปที่ 2 ตัวนับทั้งไบต์
โปรดทราบว่าชิปทั้งสองตัวมีสัญญาณ CLK และ LOAD ร่วมกัน ซึ่งหมายความว่าชิปทั้งสองตัวสามารถเคลื่อนที่ไปข้างหน้าพร้อมกันที่ขอบสัญญาณนาฬิกาขาขึ้นเดียวกันได้ นอกจากนี้ยังหมายความว่าชิปทั้งสองตัวสามารถโหลดซ้ำพร้อมกันได้อีกด้วย
ตัวอย่างนี้มีการผูก DN ไว้ต่ำเพื่อให้ตัวนับรีเซ็ตเป็น 0 เมื่อ LOAD = 0 และ CLK ถูกขับเคลื่อนจากต่ำไปสูง สัญญาณ DOWN จะถูกตั้งไว้ต่ำบนชิปทั้งสองเพื่อระบุลำดับการนับที่เพิ่มขึ้นจาก 0 ถึง 9 สำหรับชิปแต่ละตัว
ในที่สุด เคาน์เตอร์จะเรียงซ้อนกันเพื่อสร้างเคาน์เตอร์เดียวโดยส่งสัญญาณ CTEN ของเคาน์เตอร์ตัวหนึ่งกับสัญญาณ RCO ของอีกตัวหนึ่ง RCO ของหลักที่มีนัยสำคัญน้อยที่สุดจะส่งพัลส์ต่ำทุกครั้งที่ค่านับเป็น 9 ซึ่งจะทำให้เคาน์เตอร์ของหลักที่มีนัยสำคัญที่สุดทำงานในรอบสัญญาณนาฬิกาหนึ่งรอบเพื่อที่มันจะได้เดินหน้าไปที่ขอบ CLK ถัดไป
หลังจากขอบต่อไปนี้ หลักที่มีนัยสำคัญน้อยที่สุดจะวนกลับมาเป็น 0 ซึ่งจะทำให้ RCO กลับไปสู่สถานะสูงสุด และปิดใช้งานตัวนับหลักที่มีนัยสำคัญมากที่สุดจนกว่าจะถึงเวลาที่จะต้องก้าวหน้าอีกครั้ง
ตอนนี้เรามีแกนหลักของวงจรเคาน์เตอร์แล้ว แต่มีอินพุตที่ห้อยอยู่สองอันคือ CLK และ LOAD อินพุตเหล่านี้สามารถเป็นปุ่มกดแบบแมนนวลเพื่อให้คุณควบคุมได้ว่าเมื่อใดที่เคาน์เตอร์จะโหลดซ้ำด้วย 0 และเมื่อใดที่เคาน์เตอร์จะเดินหน้า LOAD สามารถเชื่อมต่อกับปุ่มกดได้โดยตรง
อย่างไรก็ตาม CLK ไม่ง่ายอย่างที่คิด เนื่องจากควบคุมพฤติกรรมของวงจรทั้งหมด CLK ต้องเป็นสัญญาณที่สะอาดพร้อมการเปลี่ยนผ่านจากสูงไปต่ำอย่างสม่ำเสมอ เพื่อให้ตัวนับทำงานได้อย่างถูกต้อง
หากเราเชื่อมต่อปุ่มกดเข้ากับ CLK โดยตรง ตัวนับอาจทำงานผิดปกติ
สาเหตุก็คือปุ่มกลไกจะสร้างสัญญาณรบกวนทางไฟฟ้าเมื่อพื้นผิวด้านในสัมผัสกันและตัดสัญญาณรบกวน เสียงดังกล่าวอาจไม่ได้ยินโดยมนุษย์ แต่วงจรลอจิกแบบซิงโครนัสจะตอบสนองอย่างรวดเร็ว วงจรดีบาวน์ซ์ (เช่น วงจรที่แสดงในรูปที่ 3 ) สามารถแก้ปัญหานี้ได้
รูปที่ 3 วงจรดีบาวน์ซ์นาฬิกา
ตามชื่อวงจรดีบาวน์ซ์จะขจัดการดีบาวน์ซ์หรือสัญญาณรบกวนจากอินพุตและสร้างเอาต์พุตที่สะอาด มีเทคนิคมากมายในการดีบาวน์ซ์ปุ่มกด เทคนิคที่แสดงที่นี่ใช้ตัวกรอง RC ร่วมกับอินเวอร์เตอร์ทริกเกอร์ชิมิตต์ (ทำจากเกต NAND) เพื่อกรองสัญญาณนาฬิกาปุ่มกดที่มีสัญญาณรบกวน ค่าคงที่เวลา RC คือ 100 มิลลิวินาทีเมื่อปล่อยประจุจาก 5V เป็น 0V และ 200 มิลลิวินาทีเมื่อชาร์จกลับมาที่ 5V
คุณสามารถปรับค่าคงที่ของเวลาให้สูงขึ้นหรือต่ำลงเพื่อให้เหมาะกับความต้องการเฉพาะของคุณได้
หลังจากเชื่อมต่อส่วนนี้ของวงจรแล้ว ตัวนับจะเพิ่มขึ้นอย่างชัดเจนในแต่ละครั้งที่คุณกดปุ่ม CLK และโหลดซ้ำเมื่อคุณกด LOAD ค้างไว้และกดปุ่ม CLK
ตอนนี้ตัวนับสามารถใช้งานได้แล้ว แต่ไม่ได้บ่งบอกอะไรมากนักว่าตัวนับยังทำงานเหมือนที่เป็นอยู่ในปัจจุบัน
เราต้องเชื่อมต่อตัวบ่งชี้ภาพเพื่อดูค่าการนับที่ถูกสร้างขึ้น สิ่งที่ง่ายที่สุดที่ต้องทำคือเชื่อมต่อ LED เข้ากับเอาต์พุตทั้งแปดตัวและดูรูปแบบ BCD เปลี่ยนไปทุกครั้งที่กด CLK
อย่างไรก็ตาม การอ่านลำดับการนับ 0-99 ที่สามารถจดจำได้นั้นน่าสนใจกว่า สำหรับเรื่องนี้ เราหันมาใช้ตัวถอดรหัส/ไดรเวอร์ BCD-to-7-seven-segment 74LS47
คุณอาจสังเกตเห็นจอแสดงผลแบบ 7 ส่วนรอบๆ ตัวคุณ เช่น เตาไมโครเวฟ นาฬิกาดิจิตอล เครื่องเสียง และเครื่อง VCR จอแสดงผลแต่ละจอประกอบด้วยองค์ประกอบแสงอิสระ 7 ส่วน ซึ่งมักจะเป็น LED ที่สามารถรวมกันเป็นเลขทศนิยมที่สามารถจดจำได้ 74LS47 จะแปลงเอาต์พุต BCD ของ 74LS190 ให้เป็นรูปแบบ 7 ส่วนที่สามารถอ่านได้โดยมนุษย์
รูปที่ 4 แสดงให้เห็นถึงวิธีเชื่อมต่อชิป 74LS47 เข้ากับหลักที่มีนัยสำคัญน้อยที่สุดของตัวนับที่เราสร้างขึ้นแล้ว
รูปที่ 4. วงจรแสดงผล 7 ส่วน
(จอแสดงผล 74LS47 และ 7 ส่วนแบบเดียวกันที่สองเชื่อมต่อกับหลักที่สำคัญที่สุด)
เป็นการเชื่อมต่อแบบง่ายๆ โดยใช้สัญญาณควบคุมเพียงสามสัญญาณเพื่อเชื่อมต่อให้สูงขึ้น 74LS47 มีเอาต์พุตแบบแอคทีฟโลว์ที่ออกแบบมาสำหรับจอแสดงผล LED แบบแอโนดทั่วไป
จอแสดงผลแบบแอโนดทั่วไปจะมีแอโนด LED ทั้งหมดเชื่อมต่อกับพินเดียว แคโทดแต่ละอันจะเชื่อมต่อกับชิปตัวถอดรหัสผ่านตัวต้านทานจำกัดกระแส ตัวต้านทานจะป้องกันไม่ให้กระแสไหลผ่าน LED เข้าไปใน 74LS47 มากเกินไปจนทำให้เกิดความเสียหายกับแต่ละส่วน แต่ละส่วนของจอแสดงผลแบบเจ็ดส่วนจะระบุเป็น "a" ถึง "g"