สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
เครื่องสังเคราะห์เพลง
ซินธิไซเซอร์เพลงนี้ค่อนข้างเรียบง่าย คุณเพียงแค่ต้องเป่า ร้องเพลง หรือแม้แต่เล่นเพลงหน้าไมโครโฟน และเสียงจะถูกมอดูเลตและส่งผ่านลำโพง สเปกตรัมของมันจะปรากฏบนจอ LCD ด้วย Music Synthesizer มีอยู่สองเวอร์ชัน: คุณอาจเลือกใช้บน PCB หรือหากไม่สามารถทำได้ Breadboard แบบธรรมดาก็ทำได้
ขั้นตอนที่ 1: วัสดุที่จำเป็นและคำแนะนำ
ในการใช้งานระบบนี้ คุณจะต้องมีสิ่งต่อไปนี้:
- บอร์ด DE0-Nano-SoC
- จอ LCD LT24 จาก Terasic
- ไมโครโฟนอิเล็กเตรต
- ลำโพงสองสายพื้นฐาน (กราวด์และแหล่งจ่าย)
- สายอีเทอร์เน็ต
- PCB หรือเขียงหั่นขนม
- หัวแร้งและช่างแกะสลัก PCB หากคุณตัดสินใจที่จะใช้ซินธิไซเซอร์บน PCB
- แบตเตอรี่และขั้วต่อ USB (อุปกรณ์เสริม)
- แอมพลิฟายเออร์ยูนิต LM386
- ตัวแปลง MCP4821 ดิจิตอล/อนาล็อก
- LT1054 ตัวแปลงแรงดันไฟฟ้าตัวเก็บประจุแบบสวิตช์
- LM317 Reulator แบบปรับได้
- 7 TL081 OPA (DIP-8)
- TL082 OPA (DIP-8)
- ทรานซิสเตอร์ 2N5432
- ไดโอด 1N4148
- ตัวเก็บประจุแบบโพลาไรซ์ 17 10 µF
- ตัวเก็บประจุ 1µF
- ตัวเก็บประจุ 5 100nF
- ตัวเก็บประจุ 680nF
- ตัวเก็บประจุ 100 µF
- ตัวเก็บประจุ 2.2 µF
- ตัวเก็บประจุแบบโพลาไรซ์ 1000+µF (เช่น 4400)
- ตัวเก็บประจุแบบโพลาไรซ์ 220 µF
- ตัวเก็บประจุ 0.05 µF
- ตัวต้านทาน 100 โอห์ม 4 ตัว
- ตัวต้านทาน 2.2kOhms 1 ตัว
- ตัวต้านทาน 1 10kOhms
- ตัวต้านทาน 1 470 โอห์ม
- 1 1.8kOhms ตัวต้านทาน
- ตัวต้านทาน 1 1MOhm
- 1 ตัวต้านทาน 150 โอห์ม
- ตัวต้านทาน 4 1500 โอห์ม
โปรดทราบว่าคุณอาจต้องการส่วนประกอบมากกว่าที่คาดไว้
เราขอแนะนำอย่างยิ่งให้มีความรู้พื้นฐานด้านอิเล็กทรอนิกส์และการออกแบบ SoC ก่อนเริ่มโครงการนี้
ขั้นตอนที่ 2: คณะกรรมการการจัดหา
เมื่อคุณมีทุกสิ่งที่ต้องการแล้ว มาเริ่มกันด้วยการสร้างกระดานซื้อกิจการ ไมโครโฟนจะรวบรวมเสียงในบริเวณใกล้เคียง จากนั้นสัญญาณจะถูกกรองโดยตัวกรองความถี่ต่ำเพื่อสุ่มตัวอย่าง (และเคารพทฤษฎีบทแชนนอน) ก่อนที่จะขยายสัญญาณและสุดท้ายจะถูกบันทึกโดย DE0
หากคุณคุ้นเคยกับ Altium Design Software และสามารถเข้าถึงเครื่องแกะสลัก PCB ได้ คุณเพียงแค่ต้องสร้างแผนผังที่แสดงในภาพด้านบน และวางส่วนประกอบตามที่เราทำในภาพที่สอง มิเช่นนั้นคุณสามารถสร้างวงจรนี้ขึ้นมาใหม่บนเขียงหั่นขนมได้
ในทั้งสองกรณี ค่าของตัวต้านทานที่ถูกกำหนดอย่างชัดเจนในโอห์ม และค่าของตัวเก็บประจุที่ระบุใน Farads มีดังนี้:
- R4: 2.2k
- R5: 10k
- R6 และ R7: 100
- R3: 470
- R1 และ R2: 18 (ตัวต้านทานเหล่านี้ใช้เพื่อปรับแรงดันเอาต์พุตที่ควรเป็น 2V ดังนั้นค่าเหล่านี้อาจแตกต่างกันเล็กน้อยสำหรับคุณ)
- R8: 1.8k
- R9: 1M
- R10: 150
- R11, R12, R14 และ R15: 1.5k
- ธ.ค. 1: 2.2µ
- ธ.ค. 2: 100µ
- ธ.ค. 3: 100n
- ธ.ค.: 1µ
- 5 ธ.ค. 6 ธ.ค. 7 ธ.ค. 8 ธ.ค. 9 ธ.ค. 10 ธ.ค. 11 ธ.ค. 12 ธ.ค. 13 ธ.ค. 14: 1µ
- ธ.ค. 58: +1000µ (เช่น 4400)
- C1: 10µ
- C2: 1µ
- C3 และ C4: 100n
- C5: 1µ
เสร็จสิ้นกับคณะกรรมการการได้มา !
ขั้นตอนที่ 3: บอร์ดเอาต์พุตเสียง
ความสามารถในการบันทึกเสียงนั้นยอดเยี่ยม แต่ความสามารถในการทำซ้ำนั้นดีกว่า! ดังนั้น คุณจะต้องมีบอร์ดเอาท์พุตเสียง ซึ่งประกอบด้วยตัวแปลงดิจิตอล/แอนะล็อก ฟิลเตอร์ปรับให้เรียบ เพาเวอร์แอมปลิฟายเออร์ และลำโพง
แน่นอน คุณยังสามารถทำซ้ำวงจรบน PCB (และวางส่วนประกอบตามที่แสดงในภาพที่สอง) หรือบนเขียงหั่นขนม ในทั้งสองกรณี ต่อไปนี้คือค่าสำหรับทั้งตัวเก็บประจุและตัวต้านทาน:
- R1 และ R2: 100
- R3 และ R4: สายไฟ
- R5: 10
- C1: 1µ
- C2, C3, C5, C6, C7, C9: 100µ (โพลาไรซ์)
- C4 และ C8: 100n
- C10: 0.05µ
- C11: 250µ
เอาต์พุตเสียงเสร็จแล้ว ไปที่ซอฟต์แวร์กัน !
ขั้นตอนที่ 4: โครงการ Quartus
เพื่อให้ง่ายขึ้น เราจึงตัดสินใจเริ่มต้นจากโปรเจ็กต์ "my first-hps-fpga" ที่ให้ไว้ในซีดีรอมที่มาพร้อมกับ DE0-Nano-SoC สิ่งที่คุณต้องทำคือเปิดโปรเจ็กต์นี้และเปิดใช้ "Platform Designer" หรือ "Qsys" จากแถบเครื่องมือ และสร้างโปรเจ็กต์ด้านบนซ้ำ จากนั้น สร้างการออกแบบและคอมไพล์ด้วย Qsys (ดูรายละเอียดเพิ่มเติมในการสาธิต)
ขั้นตอนที่ 5: สนุก
เมื่อสร้างไฟล์ HDL แล้ว คุณเพียงแค่ต้องเปิดโครงการ Quartus เพื่อจุดประสงค์นั้น ให้เสียบสาย USB เข้ากับขั้วต่อ USB (JTAG) ของ DE0-Nano-Soc จากนั้นเลือก เครื่องมือ > การเขียนโปรแกรมบน Quartus คลิกที่ Auto Detect จากนั้นเลือกตัวเลือกที่สอง หลังจากนั้น คลิกอุปกรณ์ FPGA (อันที่สอง) จากนั้นคลิก "เปลี่ยนไฟล์" และเลือกไฟล์.sof ที่สร้างไว้ก่อนหน้านี้ สุดท้าย ให้คลิกที่ช่องทำเครื่องหมาย "Program/Configure" และคลิกปุ่ม "Start" เพื่อเปิดไฟล์
สุดท้าย อัปโหลดโค้ด C ต่อไปนี้ลงในหน่วยความจำ DE0 เพื่อจุดประสงค์ดังกล่าว ให้ติดตั้ง Putty บนพีซี (Linux) เชื่อมโยงบอร์ดกับบอร์ดผ่านการเชื่อมต่ออีเทอร์เน็ต และโดยการเสียบสาย USB เข้ากับขั้วต่อ USB (UART) ของ DE0 เปิดและกำหนดค่า Putty ด้วยอัตราบอด 115200 ไม่มีความเท่าเทียมกัน หยุดหนึ่งบิต และไม่มีการตั้งค่าการควบคุมการไหล หลังจากนั้น บังคับที่อยู่ IPv4 แบบคงที่ให้กับพอร์ตอีเทอร์เน็ตของพีซี ป้อน "รูท" บน Putty shell จากนั้น "ifconfig eth0 192.168. XXX. XXX" และ "รหัสผ่าน" ตามด้วยรหัสผ่าน เปิดเชลล์บนพีซีของคุณ ไปที่ที่เก็บโปรเจ็กต์ และป้อน "scp myfirsthpsfpga [email protected]. XXX. XXX:~/" ในที่สุด บน Putty shell ให้ป้อน "./myfirsthpsfpga" สนุก !