ช่างรุ่นเก่าอยากรู้จัก อีพรอมให้มากกว่านี้
LSVคลังสมองออนไลน์ "ปีที่14"
พฤศจิกายน 22, 2024, 07:56:28 am *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
 
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
« หน้าที่แล้ว ต่อไป »
หน้า: [1] ลงล่าง พิมพ์
ผู้เขียน หัวข้อ: ช่างรุ่นเก่าอยากรู้จัก อีพรอมให้มากกว่านี้  (อ่าน 6955 ครั้ง)
somchaim
member
*

คะแนน 0
ออฟไลน์ ออฟไลน์

กระทู้: 8


บ่าวชัย เมืองอุดร


« เมื่อ: มกราคม 21, 2009, 03:38:57 am »

คือยอมรับนะครับว่า อีพรอมยังเป็นเรื่องใหม่สำหรับผมและอาจจะสำหรับช่างอีกหลายๆคนด้วยแหละ คือถ้าเกิดอยากจะรู้เกี่ยวกับอีพรอมตั้งแต่ต้นจนจบเอาแบบเข้าใจง่ายๆ พอจะเริ่มหาจากใหนได้ ช่วยแนะนำหน่อยนะ ครับ
บันทึกการเข้า
drdr61♥
ซุปเปอร์ วีไอพี
member
*

คะแนน 292
ออฟไลน์ ออฟไลน์

กระทู้: 2663


ดูสิ่งที่มากระทบใจ อย่าเอาจิตไปปรุงแต่ง


อีเมล์
« ตอบ #1 เมื่อ: มกราคม 21, 2009, 09:02:28 am »

ROM (Read-OnlyMemory)

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

ชนิดของROM

          o Manual ROM

            ROM (READ-ONLY MEMORY)
                      ข้อมูลทั้งหมดที่อยู่ใน ROM จะถูกโปรแกรม โดยผู้ผลิต (โปรแกรม มาจากโรงงาน) เราจะใช้ ROM ชนิดนี้ เมื่อข้อมูลนั้น ไม่มีการเปลี่ยนแปลง และมีความต้องการใช้งาน เป็นจำนวนมาก ผู้ใช้ไม่สามารถ เปลี่ยนแปลงข้อมูลภายใน ROM ได้
                     โดย ROM จะมีการใช้ technology ที่แตกต่างกันตัวอย่างเช่น BIPOLAR, CMOS, NMOS, PMOS
          o   PROM (Programmable ROM)

            PROM (PROGRAMMABLE READ-ONLY MEMORY)
                    ข้อมูลที่ต้องการโปรแกรมจะถูกโปรแกรมโดยผู้ใช้เอง โดยป้อนพัลส์แรงดันสูง (HIGH VOLTAGE PULSED) ทำให้ METAL STRIPS หรือ POLYCRYSTALINE SILICON ที่อยู่ในตัว IC ขาดออกจากกัน ทำให้เกิดเป็นลอจิก “1” หรือ “0” ตามตำแหน่ง ที่กำหนดในหน่วยความจำนั้นๆ เมื่อ PROM ถูกโปรแกรมแล้ว ข้อมูลภายใน จะไม่สามารถเปลี่ยนแปลงได้อีก หน่วยความจำชนิดนี้ จะใช้ในงานที่ใช้ความเร็วสูง ซึ่งความเร็วสูงกว่า หน่วยความจำ ที่โปรแกรมได้ชนิดอื่นๆ

          o EPROM (Erasable Programmable ROM)

            EPROM (ERASABLE PROGRAMMABLE READ-ONLY MEMORY)
                    ข้อมูลจะถูกโปรแกรม โดยผู้ใช้โดยการให้สัญญาณ ที่มีแรงดันสูง (HIGH VOLTAGE SIGNAL) ผ่านเข้าไปในตัว EPROM ซึ่งเป็นวิธีเดียวกับที่ใช้ใน PROM แต่ข้อมูลที่อยู่ใน EPROM เปลี่ยนแปลงได้ โดยการลบข้อมูลเดิมที่อยู่ใน EPROM ออกก่อน แล้วค่อยโปรแกรมเข้าไปใหม่ การลบข้อมูลนี้ทำได้ด้วย การฉายแสง อุลตร้าไวโอเลตเข้าไปในตัว IC โดยผ่าน ทางกระจกใส ที่อยู่บนตัว IC เมื่อฉายแสง ครู่หนึ่ง (ประมาณ 5-10 นาที) ข้อมูลที่อยู่ภายใน ก็จะถูกลบทิ้ง ซึ่งช่วงเวลา ที่ฉายแสงนี้ สามารถดูได้จากข้อมูล ที่กำหนด (DATA SHEET) มากับตัว EPROM และ มีความเหมาะสม ที่จะใช้ เมื่องานของระบบ มีโอกาส ที่จะปรับปรุงแก้ไขข้อมูลใหม่

          o EAROM (Electrically Alterable ROM)

            EAROM (ELECTRICALLY ALTERABLE READ-ONLY MEMORY)
                      EAROM หรืออีกชื่อหนึ่งว่า EEPROM (ELECTRICAL ERASABLE EPROM) เนื่องจากมีการใช้ไฟฟ้าในการลบข้อมูลใน ROM เพื่อเขียนใหม่ ซึ่งใช้เวลาสั้นกว่าของ EPROM
                     การลบขึ้นอยู่กับพื้นฐานการใช้เทคโนโลยีที่แตกต่างกัน ดังนั้น EAROM (ELECTRICAL ALTERABLE ROM) จะอยู่บนพื้นฐานของเทคโนโลยีแบบ NMOS ข้อมูลจะถูกโปรแกรมโดยผู้ใช้เหมือนใน EPROM แต่สิ่งที่แตกต่างก็คือ ข้อมูลของ EAROM สามารถลบได้โดยทางไฟฟ้าไม่ใช่โดยการฉายแสงแบบ EPROM

          โดยทั่วไปจะใช้ EPROM เพราะเราสามารถหามาใช้ และทดลองได้ง่าย มีราคาถูก วงจรต่อง่าย ไม่ยุ่งยาก และสามารถเปลี่ยนแปลงโปรแกรมได้ นอกจากระบบ ที่ทำเป็นการค้าจำนวนมาก จึงจะใช้ ROM ประเภทโปรแกรมสำเร็จ

          จากรูปแสดงให้เห็นส่วนประกอบพื้นฐานของ ROM ซึ่งจะมีสัญญาณต่างๆ ที่เกี่ยวข้องกับ ROM และทุกชิปที่อยู่ใน ROM มักมีการจัดแบ่งแยกหน้าที่เสมอ เช่น ขาแอดเดรสของ ROM เป็นอินพุต ส่วนขาข้อมูลจะเป็นเอาต์พุต โดยหลักการแล้ว ขาข้อมูลจะต่อเข้ากับบัสข้อมูลซึ่งเป็นบัส 2 ทาง ดังนั้นเอาต์พุตของ ROM ในส่วนขาข้อมูลนี้มักจะเป็นลอจิก 3 สถานะ ซึ่งถ้าไม่ใช้ก็จะอยู่ในสถานะ ที่มีอิมพีแดนซ์สูง (High Impedence)
          ลักษณะโครงสร้างภายในของข้อมูลในหน่วยความจำ สามารถดูได้จาก Data Sheet ของ ROM นั้นๆ เช่น ROM ที่ระบุเป็น 1024 8 ,2048 8 หรือ 4096 8 ตัวเลขชุดแรก (1024 ,2048 หรือ 4096) จะบอกจำนวนตำแหน่ง ที่ใช้เก็บข้อมูลภายใน ส่วนตัวเลขชุดที่สอง (Cool เป็นตัวบอกจำนวนบิตของข้อมูลแบบขนาน ที่อ่านจาก ROM
          ในการกำหนดจำนวนเส้นของบัสแอดเดรสที่ใช้กับ ROM เราสามารถรู้ได้ด้วยสูตร
 
2x = จำนวนแอดเดรสที่อ้างถึง
                             เช่น 2x = 4096 จะได้ x = 12 ซึ่งก็คือ จำนวนเส้นบัสแอดเดรสนั่นเอง

ขั้นตอนการอ่านข้อมูลจาก ROM
        1. CPU จะส่งแอดเดรสไปให้ ROM แอดเดรสดังกล่าวจะปรากฏ เป็นแอดเดรสที่ต้องการอ่าน ใน ROM โดยข้อมูลจะถูกอ่านออกมาเพียงครั้งละ 1 ไบต์เท่านั้น
        2. CPU จะต้องให้ช่วงเวลาของการส่งแอดเดรสยาวนานพอประมาณ (Wait State) เรียกว่า Access Time โดยปกติต้องประมาณ 100-300 นาโนวินาที ขึ้นกับชนิดของ ROM ซึ่ง ROM จะใช้เวลานั้นในการถอดรหัสแอดเดรส ของข้อมูลที่ต้องการจะอ่านออกมาที่เอาท์พุทของ ROM ซึ่งถ้าใช้เวลาเร็วกว่านั้น ROM จะตอบสนองไม่ทัน
        3. CPU จะส่งสัญญาณไปทำการเลือก ROM เรียกว่า สัญญาณ /CS (Chip Select) เพื่อบอกว่าต้องการเลือก ROM ซึ่งเป็นการส่งสัญญาณเพื่อยืนยันการเลือกชิปนั่นเอง
        4. ข้อมูลจะผ่านออกทางขาข้อมูลชั่วขณะจังหวะการเลือกชิป และเมื่อขาการเลือกชิปไม่แอคตีฟ ข้อมูลก็จะเข้าสู่ภาวะที่มีอิมพีแดนซ์สูง
        ลักษณะดังกล่าว สามารถเขียนเป็นแผนผังเวลาออกมาได้ ดังแสดงในรูป

การต่อกับบัสของ Z-80
          ในการต่อกับบัสของ Z-80 นั้น สามารถเชื่อมโยงกันโดยตรงได้ เพราะ Z-80 แยกบัสข้อมูล และบัสแอดเดรสออกจากกัน ดังแสดงในรูป

          จากรูป เป็นการนำเอา ROM เบอร์ 2716 มาต่อกับ Z-80 โดยใช้แอดเดรสจาก CPU ต่อกับ ROM โดยตรง และบัสข้อมูลก็ต่อถึงกันโดยตรง ในที่นี้จะยังไม่มีการถอดรหัสแอดเดรส สังเกตว่าในขณะนี้ยังไม่มี การต่อสายสัญญาณ /CE ซึ่งปกติต้องมาจาก CPU แต่จะกล่าวถึงเฉพาะวิธีการถอดรหัสเพื่อต่อกับ สัญญาณ /CE นี้เท่านั้น

การกำหนดแอดเดรส
          ปกติ Z-80 จะมีสัญญาณแอดเดรสจำนวน 16 สาย โดยใช้ชื่อสัญญาณเป็นแอดเดรส A0-A15 ซึ่งหมายถึง การอ้างแอดเดรสได้ 216 หรือ 65536 ตำแหน่ง แต่ ROM เบอร์ 2716 มีแอดเดรสเพียง 11 สาย นั่นหมายถึง ความจุของหน่วยความจำ มีเพียง 2 กิโลไบต์ หรือ 2048 ตำแหน่งเท่านั้น ดังนั้นการต่อ 2 กิโลไบต์ ลงใน 64 กิโลไบต์จะต้องกำหนดว่า 2 กิโลไบต์ที่ต่อนี้ อยู่ ณ ที่ใดในส่วนของพื้นที่ทั้งหมด 64 กิโลไบต์ของ Z-80 ซึ่งถ้าจะต่อให้ครบทั้ง 64 กิโลไบต์ ต้องใช้ ROM ถึง 32 ตัว
          ในการต่อ ROM นั้น เรามักให้ ROM เริ่มที่แอดเดรส 0000H ทั้งนี้เพราะเมื่อเริ่มทำการรีเซต Z-80จะเริ่มทำงานที่แอดเดรสนี้ ดังนั้นเมื่อเปิดเครื่องจะทำให้ Z-80 มีโปรแกรมและพร้อมที่จะรัน (run) จึงต้องนำ ROM มาใส่ที่แอดเดรสกลุ่มล่างสุดนี้ สำหรับการกำหนดพื้นที่ของหน่วยความจำเพื่อการใช้งานนั้น สามารถแสดงได้ดังรูป

          จากรูป เป็นการกำหนดพื้นที่ของหน่วยความจำ RAM และ ROM เพื่อการใช้งาน โดยสมมติให้ ROM ที่จะต่อนี้มีทั้งสิ้น 4 ตัว คือ ROMA, ROMB, ROMC และ ROMD โดยในขั้นแรกจะต่อเฉพาะ ROMA และ ROMB ส่วน RAM ที่ใช้จะต่อเป็น RAMA และ RAMB

การเลือกชิปของ ROM
          เมื่อต่อ ROM เข้าสู่ระบบ เราจะต้องหาวิธีในการเลือกชิปของ ROM ให้ถูกต้องตามแอดเดรสที่เรากำหนด ไว้ เช่น ROMA เรากำหนดแอดเดรสไว้ที่แอดเดรส 0000H - 07FFH ดังนั้นเราจำเป็นต้องมีตัวถอดรหัสเพื่อเลือก แอดเดรสให้ถูกต้อง การถอดรหัสนี้เราจะใช้แอดเดรสส่วนบนที่เหลือมาทำการถอดรหัส ในที่นี้เราจะใช้ 74LS138 และทำการเลือกโดยใช้ A11, A12, A13, A14 และ A15 การถอดรหัสของ 74LS138 นี้เป็นการเลือกจาก 3 บิตไปเป็น 8 บิตโดยใช้อินพุต A, B, C วงจรการถอดรหัสนี้แสดงได้ดังรูป

          ด้วยวิธีนี้จะเห็นว่า ถ้าเราเลือกแอดเดรสจาก A10 - A15 จะมีสัญญาณจาก A0 - A10 ส่งไปยังแอดเดรสของ ROM โดยตรง ส่วน A11 - A 15 จะผ่านการถอดรหัสก่อน แล้วจึงไปทำการเลือกชิปใน ROM ตามที่เราต้องการ เพื่อให้เห็นขั้นตอนการถอดรหัสชัดเจนขึ้น เราควรพิจารณาขั้นตอนการทำงานของ 74LS138 โดยเขียนออกมาเป็นตารางแอดเดรส ดังแสดงในตาราง

          จากตารางนี้ เราจะเน้นเฉพาะส่วนของแอดเดรส A11 - A15 ซึ่งจะส่งค่ารวมของแอดเดรสเพื่อออกไปยังขาเอาต์พุตขาที่ 10-15 เช่น ถ้าแอดเดรส A11 - A15 เป็นลอจิก ‘ 0 ‘ หมด ขาที่ 15 ซึ่งเป็นเอาต์พุตจะแอคตีฟ เพิ่อทำการเลือกชิป และจากตารางจะพบว่า ในช่วงระหว่างแอดเดรส 0000H-07FFH ขาที่ 15 ของ 74LS138 จะแอคตีฟ ดังนั้น 74LS138 จึงเป็นวงจรถอดรหัสที่ใช้ในการเลือกชิป ROM ได้อย่างถูกต้อง

สัญญาณการอ่านข้อมูล
          สำหรับการอ่านข้อมูลจากหน่วยความจำนั้น Z-80 จะต้องใช้สัญญาณทีเกี่ยวข้องหลายสัญญาณ เช่น สัญญาณ /MREQ กับสัญญาณ /RD สัญญาณทั้งสองจะต้องเกิดขึ้นพร้อมกัน ดังนั้นเมื่อเป็นเช่นนี้ จึงต้องเอาสัญญาณทั้งสองนี้ออร์ (OR) กันเพื่อให้ได้สัญญาณ /MEMR การกำหนดจังหวะการอ่านหน่วยความจำ แสดงได้ดังรูป

การต่อ Z-80 กับสัญญาณ /CS ของ ROM
          การเลือก ROM ในจังหวะการอ่านนี้ ซีพียูต้องกำหนดได้ว่าจะเลือกแอดเดรสกลุ่มใด และจังหวะการเลือกนั้นจะต้องตรงกับการอ่านพอดี ดังนั้นจึงต้องนำเอาสัญญาณ /MEMR และสัญญาณเลือก ROMA มาทำการ OR กันอีกครั้ง เพื่อจะเลือก ROM ได้อย่างถูกต้อง วงจรที่ต่อ ROM แบบสมบูรณ์ในกรณีนี้แสดงได้ดังรูป

          จากรูปจะเห็นว่า สัญญาณจากซีพียูที่เข้าไปทำการควบคุม ROM จะประกอบด้วยสัญญาณ จากหลายส่วนซึ่งได้แก่ สัญญาณแอดเดรส A0-A15 โดยสัญญาณ A11-A15 จะสร้างสัญญาณใหม่เป็น สัญญาณ ROMA เพื่อเลือก ROM จากนั้นจะใช้สัญญาณ /MREQ กับสัญญาณ /RD สร้างสัญญาณ /MEMR และสร้างเป็นสัญญาณ /CE ต่อไป โดยประกอบกันเป็นขั้นตอนดังแสดงในรูป

การต่อ Z-80 กับ ROM อีกวิธีหนึ่ง
          สังเกตว่า ROM เบอร์ 2716 มีขา /CE และ /OE ซึ่งอาจจะนำขาสัญญาณเลือกเอาต์พุตนี้ มาใช้ประโยชน์ได้ การเลือก ROM เบอร์ 2716 นี้จะใช้ /CE และ /OE ในการเลือก โดยขาทั้งสอง จะเป็นลอจิก“0” ในการเลือกชิป และเลือกเอาต์พุตโดยทำการเปิดเกตลอจิก 3 สถานะนั่นเอง เมื่อเป็นเช่นนี้ เราสามารถลดจำนวนเกตแบบออร์ (or gate) ลงไป 1 ตัวได้ โดยแทนที่จะใช้สัญญาณ /MEMR และสัญญาณ ROMA มา OR กัน เราก็เชื่อมต่อโดยการใช้สัญญาณ /MEMR ต่อกับสัญญาณ /OE และสัญญาณ ROMA ต่อกับสัญญาณ /CE ดังแสดงในรูป

การต่อ ROM หลายๆชิบ
          หากต้องการจะต่อ ROM หลายๆชิป เช่น ROMA,ROMB,ROMC และ ROMD ก็สามารถต่อเพิ่มได้ โดยใช้สัญญาณเลือกจาก 74LS138 และ /MEMR มาเลือกโดยผ่านทาง /CE และ /OE ได้ ดังแสดงในรูป

การใช้ ROM ในชิปที่มีความจุเพิ่มขึ้น
          ROM ที่ใช้ในปัจจุบันมีความจุสูงขึ้นมาก EPROM บางตัวมีความจุถึง 32 กิโลไบต์ เช่น EPROM ที่ใข้กันมากในขณะนี้ ได้แก่ เบอร์ 2764 (มีความจุ 8 กิโลไบต์) เบอร์ 27128 (มีความจุ 16 กิโลไบต์) ดังนั้นหากต้องการใช้ ROM ในชิปที่มีความจุเพิ่มขึ้นก็ทำได้ โดยใช้หลักการเช่นเดียวกัน ในที่นี้ขอให้ดูการจัดขาของ EPROM เบอร์ 2732 เมื่อเปรียบเทียบกับเบอร์ 2764 ซึ่งสามารถแสดงได้ดังรูป

          EPROM เบอร์ 2732 มีจำนวนขาเท่ากับเบอร์ 2764 ดังนั้นการเพิ่มความจุจะกระทำได้โดยง่าย และสามารถใช้ซ็อกเกต (socket) เดิมได้ทันที หรือเพียงแต่แก้ขาแอดเดรสเพียงเส้นเดียว สังเกตว่าขาที่แตกต่างกันในที่นี้คือ EPROM เบอร์ 2764 ได้เพิ่มเติมอีก 4 ขา โดยเพิ่มส่วนบนเป็น A12 และขา PGM มาอยู่ที่ขา 27 ส่วนขา 26 ไม่ใช้ ความแตกต่างนี้เองทำให้การเพิ่มเติมลายวงจรทำได้ง่ายขึ้น โดยการต่อจากขา 26 มาที่ขา 28 เพื่อต่อสาย Vcc ดังแสดงในรูป

          เมื่อจะต่อกับ EPROM เบอร์ 2732 เราสามารถขยายระบบโดยใช้ขาแอดเดรสของ EPROM เบอร์ 2732 จากแอดเดรส A0- A11ดังนั้นส่วนที่จะขยายจากซีพียู เราใช้ 74LS42 โดยนำแอดเดรส A12- A15 มาถอดรหัสดังแสดงในรูป
ที่มา: http://web.ku.ac.th/schoolnet/snet1/hardware/rom.htm

 บทเรียน Online วิชา 204323 ไมโครโปรเซสเซอร์และการออกแบบไมโครคอมพิวเตอร์ รศ.ยืน ภู่วรวรรณ
บันทึกการเข้า

คนเราต่างที่มา ต่างที่ไป ย่อมคิดและทำอะไรที่ต่างกัน ยอมรับและเข้าใจ  จะสงบสุข
ขายอุปกรณ์ไวเลส และสายอาศไวเลส wifi
b.chaiyasith
แก้ปัญหาไม่ตกคุยกันเวลางานline:chiabmillion
.กลุ่มผู้มีน้ำใจงาม.
member
*

คะแนน 650
ออฟไลน์ ออฟไลน์

กระทู้: 3008


ไม้ดีไม่ลอยน้ำมาไกล


อีเมล์
« ตอบ #2 เมื่อ: มกราคม 23, 2009, 04:58:06 pm »

  อ่านยังไม่จบเลย ยาวจังแต่ได้ความรู้ดี  Cheesy
บันทึกการเข้า

"CHIAB"
มนุษย์เราแต่ละคน  ต่างไม่รู้ว่ามาจากไหน  ไม่มีใครรู้จักกันมาก่อนเลย  แล้ววันหนึ่งก็มาพบหน้ากัน  สมมุติเป็นพ่อ  เป็นแม่  เป็นเมีย  เป็นสามี  เป็นลูก  อยู่ร่วมกัน  ใช้ชีวิตร่วมกัน และแล้ววันหนึ่ง  ก็แยกย้ายด้วยการ  "ตายจาก"  กันไปสู่  ณ  ที่ซึ่งไม่มีใครได้ตามพบ  คืนสู่ความเป็นผู้ไม่รู้ว่ามาจากไหน  ไปไหน  และคืนสู่ความเป็น  "คนแปลกหน้า"  ซึ่งกันและกันอนันกาลอีกครั้งหนึ่ง...และอีกครั้งหนึ่ง!?
ขอขอบคุณ คุณเปลว สีเงิน ที่ให้ข้อคิดดีๆ
somchaim
member
*

คะแนน 0
ออฟไลน์ ออฟไลน์

กระทู้: 8


บ่าวชัย เมืองอุดร


« ตอบ #3 เมื่อ: มกราคม 27, 2009, 01:56:21 am »

ดีใจจังครับที่มีเพื่อนๆ พี่ๆ น้องๆ ที่ใจดี มาให้ความรู้ ขอบคุณมากๆครับ Evil
บันทึกการเข้า
หน้า: [1] ขึ้นบน พิมพ์ 
« หน้าที่แล้ว ต่อไป »
กระโดดไป:  

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC2 | SMF © 2001-2006, Lewis Media

lsv2555Please follow the new website at https://www.pohchae.com

Valid CSS!