จุฬาลงกรณ์มหาวิทยาลัย

คณะวิศวกรรมศาสตร์

ภาควิชาวิศวกรรมคอมพิวเตอร์

2110-362 MICRO INTERF LAB

ชื่อ.............................................

เลขประจำตัว................................

หมายเลขเครื่อง............................

วันที่...........................................


3. หน่วยความจำและการ Decode ระบบ Bus

วัตถุประสงค์

  1. เพื่อให้นิสิตเข้าใจการทำงานของหน่วยความจำประเภทต่างๆ
  2. เพื่อให้นิสิตได้ฝึกฝนทักษะในการโปรแกรม EPROM
  3. เพื่อให้นิสิตเข้าใจและสามารถออกแบบระบบ BUS เพื่ออ่าน/เขียนข้อมูลจากหน่วยความจำได้
  4. เพื่อให้นิสิตได้พัฒนาทักษะในการออกแบบและสังเคราะห์วงจรมากขึ้น

ทฤษฎีที่เกี่ยวข้อง

EPROM (Erasable Programmable ROM) เป็นหน่วยความจำชนิด ROM (Read Only Memory) แต่ข้อมูลใน EPROM สามารถแก้ไขได้โดยการ "โปรแกรม" หรือ burn ก่อนที่จำนำไปใช้ในวงจร ทั้งนี้การโปรแกรมจะต้องอาศัยเครื่องมือเฉพาะเช่น EPROM Programmer และก่อนที่จะโปรแกรมข้อมูลชุดใหม่เข้าไปใน EPROM จำเป็นต้องลบ (erase) ข้อมูลเดิมทั้งหมดก่อน

ใน EPROM รุ่นแรก การลบจะใช้รังสี Ultra Violet ที่มีความเข้มสูงส่งไปที่ EPROM ซึ่งเครื่องมีอเฉพาะที่ทำงานดังกล่าวเรียกว่า EPROM Eraser ต่อมาได้มีการปรับปรุงพัฒนา EPROM ให้สามารถลบได้ด้วยสัญญาณไฟฟ้า เรียกว่า EEPROM (Electrical EPROM) หรือบางทีเรียกว่า E2PROM

ในการต่ออุปกรณ์หน่วยความจำเช่น RAM หรือ EPROM เข้ากับ Databus และ Address เดียวกันนั้น จำเป็นจะต้องมีวิธีในการอ้างอิงถึงอุปกรณ์แต่ละส่วน ซึ่งมีหลักการใหญ่ 2 แบบคือ

การทดลอง

  1. ให้นิสิตสร้าง Hex File ที่อยู่บนมาตรฐาน Intel Hex Format ซึ่งประกอบด้วย เลขประจำตัวของนิสิตเอง เริ่มตั้งแต่ Address 00H ไปจนถึง FFH วนซ้ำไปเรื่อยๆ (ให้ขั้นระหว่างข้อมูลแต่ละชุดด้วย FFH) แล้วนำ Hex File ที่ได้ไปทำการโปรแกรมลง EEPROM เช่น

    ID เป็น 4170680421 จะได้ข้อมูลเป็น 04h 01h 07h 00h 06h 08h 04h 02h 01h FFh 04h 01h ..... (วนซ้ำไปจนกว่าจะครบ 256 Byte)

  2. ให้นิสิตศึกษาการเชื่อมต่อ EEPROM จากเอกสารของบอร์ดทดสอบ จากนั้นให้ออกแบบและสร้างวงจรที่แสดงค่า (8 บิต) จาก 256 Address แรกของ EEPROM (00H-FFH) โดยเมื่อกดปุ่ม Address จะเลื่อนไปยังตำแหน่งถัดไป (และเมื่อถึง FFH แล้ว ให้เริ่ม Address ถัดไปที่ 00H) โดยให้แสดงค่า Address ออกมายัง LED บน Port DC3 ของบอร์ดทดสอบ (D[43-50]) และแสดงค่า ข้อมูลออกมายัง LED บน Port DC0 ของบอร์ดทดสอบ (D[1-8])

หมายเหตุ