สารบัญ:
- ขั้นตอนที่ 1: ฮาร์ดแวร์/ซอฟต์แวร์
- ขั้นตอนที่ 2: บล็อกไดอะแกรม
- ขั้นตอนที่ 3: ไดอะแกรมสถานะ
- ขั้นตอนที่ 4: โมดูลตัวแบ่งนาฬิกา
- ขั้นตอนที่ 5: โมดูลแสดงผล
- ขั้นตอนที่ 6: การผูกโมดูล
- ขั้นตอนที่ 7: ข้อจำกัด
- ขั้นตอนที่ 8: เสร็จแล้ว
วีดีโอ: VHDL นาฬิกาจับเวลา: 8 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
นี่คือบทช่วยสอนเกี่ยวกับวิธีการสร้างนาฬิกาจับเวลาโดยใช้ VHDL และแผงวงจร FPGA เช่น บอร์ด Basy3 Atrix-7 นาฬิกาจับเวลาสามารถนับได้ตั้งแต่ 00.00 วินาที ถึง 99.99 วินาที มันใช้สองปุ่ม ปุ่มหนึ่งสำหรับปุ่มเริ่ม/หยุด และอีกปุ่มสำหรับปุ่มรีเซ็ต ตัวเลขจะแสดงบนจอแสดงผลเจ็ดส่วนของบอร์ดโดยใช้แอโนดและแคโทด จำเป็นต้องใช้ไฟล์ที่แตกต่างกันสามไฟล์เพื่อให้นาฬิกาจับเวลานี้ทำงาน
ขั้นตอนที่ 1: ฮาร์ดแวร์/ซอฟต์แวร์
- บอร์ด Basy3 Atrix-7 FPGA
- Vivado Design Suite จาก Xilinx
- USB 2.0 A ชายกับ Micro-B Male
ขั้นตอนที่ 2: บล็อกไดอะแกรม
นาฬิกาจับเวลาโดยรวมมีสามอินพุตและสองเอาต์พุต อินพุตสามช่อง ได้แก่ เริ่ม/หยุด รีเซ็ต และนาฬิกา ปุ่มเริ่ม/หยุดและรีเซ็ตเป็นปุ่ม และนาฬิกาคือนาฬิกา 100MHz ของบอร์ด เอาต์พุตทั้งสองคือแอโนดและแคโทดสำหรับจอแสดงผลเจ็ดส่วน
โมดูลแรก (ตัวแบ่งนาฬิกา) มีหนึ่งอินพุตและเอาต์พุตสองช่อง อินพุตคือนาฬิกา 100MHz ของบอร์ดและเอาต์พุตเป็นนาฬิกาแยก 2 ตัว อันหนึ่งทำงานที่ 480Hz และอีกอันทำงาน 0.5MHz
โมดูลที่สอง (จอแสดงผล) มีห้าอินพุตและสองเอาต์พุต อินพุตคือนาฬิกา 100MHz ของบอร์ด นาฬิกาสองตัวจากโมดูลตัวแบ่งนาฬิกา และปุ่มเริ่ม/หยุดและรีเซ็ต เอาต์พุตคือแอโนดและแคโทด
โมดูลสุดท้าย (สร้างแบบจำลองโดยบล็อกไดอะแกรมทั้งหมด) มีสามอินพุตและสองเอาต์พุต นี่คือไฟล์ที่รวบรวมทุกอย่างไว้ด้วยกัน อินพุตคือ 100MHz ของบอร์ดและปุ่มเริ่ม/หยุดและรีเซ็ต เอาต์พุตคือแอโนดและแคโทดที่ควบคุมการแสดงผลเจ็ดส่วน อินพุตและเอาต์พุตทั้งหมดอยู่บนบอร์ดสำหรับโมดูลสุดท้าย
ขั้นตอนที่ 3: ไดอะแกรมสถานะ
ภาพด้านบนแสดงไดอะแกรมสถานะสำหรับการทำงานของนาฬิกาจับเวลา การกดปุ่มรีเซ็ตจะไม่มีผลกับสถานะของนาฬิกาจับเวลา สถานะถัดไปถูกกำหนดโดยปุ่มเริ่ม/หยุด เริ่ม/หยุดคือ "สูง" เมื่อกดลง แต่ไม่ใช่เมื่อกดค้างไว้ และ "ต่ำ" เมื่อปุ่มดีดกลับหรือกดค้างไว้หลังจากที่ "สูง" ชั่วขณะ
หากนาฬิกาจับเวลากำลังนับและปุ่มเริ่ม/หยุดไปที่ "สูง" จะหยุดนับ หากนาฬิกาจับเวลาหยุดเดินและปุ่มเริ่ม/หยุดขึ้น "สูง" ระบบจะเริ่มนับใหม่อีกครั้ง สำหรับทั้งสองสถานะ หากปุ่มเริ่ม/หยุดเป็น "ต่ำ" ปุ่มจะอยู่ในสถานะที่เป็นอยู่ในปัจจุบัน
ขั้นตอนที่ 4: โมดูลตัวแบ่งนาฬิกา
โมดูลตัวแบ่งนาฬิกามีหนึ่งอินพุต นาฬิกา 100MHz ของบอร์ด และสองเอาต์พุต นาฬิกา 480Hz และ 0.5MHz นาฬิกา 480Hz ใช้เพื่อให้ LED ทั้งหมดบนจอแสดงผลเจ็ดส่วน "เปิด" พร้อมกันโดยสลับผ่านสี่ส่วนอย่างรวดเร็ว นาฬิกา 0.5MHz ใช้สำหรับนาฬิกาจับเวลาเพื่อนับหน่วยเป็นเซนติเมตร
ขั้นตอนที่ 5: โมดูลแสดงผล
โมดูลแสดงผลนี้มีห้าอินพุต นาฬิกา 100MHz ของบอร์ด นาฬิกาสองตัวจากโมดูลนาฬิกา และปุ่มเริ่มต้น/หยุดและรีเซ็ต และเอาต์พุตสองช่อง ได้แก่ แอโนดและแคโทด โมดูลนี้ยังมี "ตรรกะ" สำหรับการนับนาฬิกาจับเวลาและรวมเอาเครื่องสถานะจำกัด
ขั้นตอนที่ 6: การผูกโมดูล
โมดูลสุดท้ายนี้เป็นโมดูลที่รวมอีกสองโมดูลเข้าด้วยกัน มีอินพุตสามตัว นาฬิกา 100MHz ของบอร์ดและปุ่มเริ่ม/หยุดและรีเซ็ต และเอาต์พุตสองช่อง ได้แก่ แอโนดและแคโทด นาฬิกา 100MHz ไปที่โมดูลตัวแบ่งนาฬิกาและโมดูลแสดงผล และปุ่มเริ่ม/หยุดและรีเซ็ตจะไปที่โมดูลแสดงผล เอาต์พุตของโมดูลตัวแบ่งนาฬิกา (480Hz และ 0.5MHz) ไปที่อินพุตนาฬิกาสองช่องของโมดูลแสดงผล เอาต์พุตของโมดูลแสดงผล (แอโนดและแคโทด) ไปที่เอาต์พุตของโมดูลสุดท้าย
ขั้นตอนที่ 7: ข้อจำกัด
อินพุตทั้งสองสามารถเป็นปุ่มใดก็ได้บนบอร์ด FPGA ของ Basys3 Atrix-7 และเอาต์พุตจะเป็นสี่ขั้วบวกและแปดขั้ว (เพราะคุณต้องการจุดทศนิยมระหว่างวินาทีและมิลลิวินาที) สำหรับการแสดงผลเจ็ดส่วน
ขั้นตอนที่ 8: เสร็จแล้ว
อัปโหลดโปรแกรมไปยังบอร์ด FPGA ของ Basy3 Atrix-7 แล้วกดปุ่มเริ่ม/หยุดเพื่อให้นาฬิกาจับเวลาทำงานต่อไป!
แนะนำ:
Cordic Algorithm ใช้ VHDL: 4 ขั้นตอน
Cordic Algorithm โดยใช้ VHDL: ## เป็นลิงก์ที่ได้รับความนิยมสูงสุดใน Google สำหรับการนำ VHDL ไปใช้ของ CORDIC ALGORITHM เพื่อสร้างคลื่นไซน์และโคไซน์## ในปัจจุบัน มีอัลกอริธึมที่มีประสิทธิภาพด้านฮาร์ดแวร์จำนวนมาก แต่ก็ยังไม่เป็นที่ทราบกันดีเนื่องจาก การครอบงำของซอฟต์แวร์
นาฬิกาจับเวลา Arduino โดยใช้ I2C LCD: 5 ขั้นตอน
Arduino Stopwatch โดยใช้ I2C LCD: ในโครงการนี้ ฉันจะสอนให้คุณใช้จอ LCD และ Arduino เป็นนาฬิกาจับเวลาแบบโต้ตอบ เมื่อโปรเจ็กต์ของคุณเสร็จสิ้นด้วยรหัสที่ให้มา โค้ดดังกล่าวควรมีลักษณะเหมือนรูปภาพด้านบน ไปที่ขั้นตอนถัดไปเพื่อเรียนรู้ว่าจะเริ่มต้นจากตรงไหน
การออกแบบตัวควบคุมแคชเชื่อมโยงชุดสี่ทางอย่างง่ายใน VHDL: 4 ขั้นตอน
การออกแบบ Simple Four-way Set Associative Cache Controller ใน VHDL: ในคำสั่งก่อนหน้าของฉัน เราเห็นวิธีการออกแบบตัวควบคุมแคชที่แมปโดยตรงอย่างง่าย คราวนี้เราก้าวไปข้างหน้า เราจะออกแบบตัวควบคุมแคชที่เชื่อมโยงชุดสี่ทางอย่างง่าย ข้อได้เปรียบ ? อัตราการพลาดน้อยกว่า แต่ในราคาประสิทธิภาพ
การออกแบบ Interrupt Controller ที่ตั้งโปรแกรมได้ใน VHDL: 4 ขั้นตอน
การออกแบบ Programmable Interrupt Controller ใน VHDL: ฉันรู้สึกท่วมท้นกับคำตอบที่ได้รับในบล็อกนี้ ขอบคุณสำหรับการเยี่ยมชมบล็อกของฉันและกระตุ้นให้ฉันแบ่งปันความรู้ของฉันกับคุณ ครั้งนี้ ฉันจะนำเสนอการออกแบบโมดูลที่น่าสนใจอื่นที่เราเห็นใน SOC ทั้งหมด -- Interrupt C
นาฬิกาจับเวลา Arduino ที่ใช้งานง่าย: 4 ขั้นตอน
นาฬิกาจับเวลา Arduino ที่ใช้งานง่าย: ค้นหาเว็บสำหรับนาฬิกาจับเวลา Arduino คุณอาจจะเพิ่งทำถ้าคุณอยู่ที่นี่ จากประสบการณ์ส่วนตัว ฉันสามารถบอกคุณได้ว่านาฬิกาจับเวลาบนอินเทอร์เน็ตนั้นซับซ้อนเกินไป (เป็นรหัส สำหรับผู้เริ่มต้น) หรือง่ายเกินไป และไม่ฝึกฝน