แผ่นบันทึก (Floppy Disk)
/Floopy_01.jpg)
ขนาดโดยทั่วไปของ disks คือ 8 นิ้ว, 5.25 นิ้ว และ 3.5 นิ้ว ตัว disk ถูกทำจาก Mylar และฉาบด้วยสารแม่เหล็ก เมื่อ disk ถูกใส่ใน drive unit ใน spindle clampsที่อยู่ส่วนกลางของช่องว่างจะถูกหมุน ด้วยความเร็วคงที่ อาจจะ 300 หรือ 360 รอบต่อนาที ข้อมูลจะถูกเก็บบน disk ใน circular tracks หัวอ่าน/เขียน จะติดต่อกับdisk ผ่านทาง racetrack-shaped slot เพื่ออ่านหรือเขียนลงไปบน disk
/Floopy_02.jpg)
ในการเขียนกระแสไฟฟ้าจะไหลผ่านไปที่ขดลวดในหัวอ่าน และจะสร้างฟลักซ์แม่เหล็กในแกนเหล็ก ของหัวอ่าน/เขียน ช่องว่างในแกนเหล็กจะยอมให้ฟลักซ์แม่เหล็กไหลผ่านออกมา และทำให้สารแม่เหล็กบน disk เป็นแม่เหล็กขึ้น พื้นที่บน disk ถูกทำให้เป็นแม่เหล็กโดยเป็นอนุภาคที่มีทิศทางและคงสถานะแม่เหล็กไว้ ขั้วของพื้นที่ที่ทำเป็นแม่เหล็กจะพิจารณาโดยใช้ทิศทางการไหลของกระแสผ่านขดลวด ข้อมูลก็สามารถอ่านจาก disk ด้วยหัวอ่าน/เขียนเช่นเดียวกัน โ่ดยเมื่อขั้วของแม่เหล็กเปลี่ยนเพราะ track ผ่านไปบนช่องว่างในหัวอ่าน/เขียนศักย์ไฟฟ้าเล็ก ๆ เป็นมิลลิโวลต์ จะถูกเหนี่ยวนำในขดลวด amplifier และ comparator ถูกใช้เป็นตัวเปลี่ยนสัญญาณเล็ก ๆ เป็นระดับ logic มาตรฐานร่อง write-protect ในซอง floppy disk สามารถใช้ป้องกันการเก็บข้อมูลจากการเขียนทับเหมือนกับ knock-out plastic บนตลับเทปคลาสเซ็ท LED และ Phototransistor สามารถชี้ว่าร่องนี้มีหรือไม่ และจะเขียนเมื่อพบว่ามีร่องนี้อยู่ index hole ที่เจาะบนแผ่น disk จะชี้จุดเริ่มของ record tracks จะใช้ LED และPhototransistor ในการตรวจสอบหา index hole |
รูปแบบการบันทึกบิท (Recorded Bit Formats - FM and MFM) |
บิต 1 แทนด้วยการเปลี่ยนขั้วของแม่เหล็กบน track บิต 0 แทนด้วยการไม่เปลี่ยนขั้วของแม่เหล็ก รูปแบบการบันทึกนี้มักเรียกว่า non-return-to-zero หรือการบันทึกแบบ NRZ เพราะมีสนามแม่เหล็กบน track เสมออาจมีขั้วเป็นหนึ่งทิศทางหรือหลายทิศทาง หัวอ่านจะสร้างสัญญาณเมื่อพื้นที่ที่มีสนามแม่เหล็กเปลี่ยนผ่านบนหัวอ่าน |
/Floopy_03.jpg)
จากรูปแสดงการเก็บบิตบน track ในรูปแบบ single-density รูปแบบนี้มักเรียกว่าการบันทึก frequency modulation, FM, หรือ F2F สังเกตจะมี clock pulse, C ที่จุดเริ่มของแต่ละ bit cell ในรูปแบบนี้ pulse เหล่านี้จะแทนความถี่พื้นฐาน บิต 1 จะถูกเขียนใน bit cell โดยใส่ใน pulse, D ระหว่าง clock pulse บิต 0 จะถูกแทนโดยการไม่มี pulse ระหว่าง clock pulse |
ข้อดีของ การบันทึกแบบ F2F คือ clock pulse และ data bit ถูกใช้เพื่อแทนแต่ละ data bit เพราะว่า bitsสามารถเก็บใกล้ ๆ กันบน disk track โดยไม่เชื่อมต่อกัน การเก็บรูปแบบนี้มีข้อจำกัดในด้านจำนวนของข้อมูลที่สามารถเก็บบน track เพื่อในจำนวนของข้อมูลที่สามารถเก็บบน track มีเป็นสองเท่าเราจะใช้การจัดเก็บแบบmodified frequency modulation หรือ MFM แสดงดังรูปข้างต้น |
หลักเบื้องต้นของรูปแบบนี้คือ ทั้ง clock pulses และ "1" data pulses ถูกใช้เพื่อเก็บ phase-locked loopและอ่าน circuitry synchronized โดย clock pulse จะไม่ถูกนำไปใส่ถ้า data pulse ไม่เกิดขึ้นสม่ำเสมอพอในdata bytes เพื่อเก็บ phase-locked loop clock bits ถูกเก็บที่จุดเริ่มต้นของ bit cell และ data bits ถูกเก็บในส่วนกลางของ bit cell time clock bits จะถูกเก็บลงถ้า data bit ใน cell ก่อนหน้าเป็น 0 และ data bit ใน bit cell ขณะนั้นเป็น 0 ด้วย เพราะว่ารูปแบบนี้มีทุกกรณีเพียง 1 pulse ต่อ bit cell , bit cell สามารถมีความยาวครึ่งหนึ่ง หรือ มากเป็น 2 เท่า ที่สามารถเก็บลงใน track วิธีนี้เป็นการบันทึกแบบ double-density มีใน IBM PC และmicrocomputers ธรรมดาอื่น ๆ |
Floppy Disk Controller - the Intel 8272A |
จากการพิจารณาเรื่องก่อนหน้านี้เราสามารถบอกได้ว่า การเขียนข้อมูลไปที่ floppy disk และการอ่านข้อมูลกลับมาต้องการความพร้อมเพียงหลายระดับ ระดับหนึ่งคือมอเตอร์และสัญญาณของหัวอ่าน ระดับอื่น ๆ คือ การเขียนและการอ่านระดับบิทจริง ๆ การทำทุก ๆ สิ่งของความพร้อมเพียงนี้เป็นงานหลัก ดังนั้นเราต้องออกแบบfloppy disk controller เป็นพิเศษ ตัวอย่างในที่นี้ เราใช้ Intel 8272A controller ซึ่งเทียบเท่ากัน NEC uPD765A controller ที่ใช้ใน IBM PC 8272 Signals and Circuit Connectiions |
/Floopy_04.jpg)
เริ่มแรกให้มองที่แผนผังของ 8272A ตามรูป สัญญาณตามด้านซ้ายของแผนผัง สาย data bus, RD, WR, A0, RESET, และ CS เป็นสัญญาณ peripheral interface มาตรฐาน สัญญาณ DRQ, DACK, และ INT ถูกใช้สำหรับ DMA transfer ของข้อมูลระหว่าง controller เมื่อโปรแกรมทางคอมพิวเตอร์ต้องการข้อมูลจาก disk มันจะส่งชุดคำสั่งไปที่ registers ภายใน controller, controller ก็จะทำขบวนการเพื่ออ่านข้อมูลจาก track และ sectorบน disk เมื่อ controller อ่าน byte แรกของข้อมูลจาก sector มันจะส่งสัญญาณ DMA request, DRQ ไปที่ DMA controller, DMA controller จะส่งตำแหน่งแรกของการเคลื่อนย้ายไปบน bus และแสดง DACK input ของ 8272เพื่อบอกว่า DMA transfer ก้าวหน้าแล้ว เมื่อจำนวนของ bytes ที่ระบุใน DMA initialization ถูกเคลื่อนย้าย DMA controller จะแสดง TERMINAL COUNT input ของ 8272 ด้วยเหตุนี้ 8272 จะแสดงสัญญาณ interrupt output, INT สัญญาณ INT สามารถติดต่อไปยัง CPU เพื่อบอกให้ CPU ทราบว่าต้องการชุดของข้อมูลที่ถูกอ่านจาก diskไปไว้ที่ buffer ในหน่วยความจำ |
สัญญาณต่าง ๆ ในการติดต่อกับ disk drive hardware |
สัญญาณ READY จาก disk drive จะเป็น high ถ้า drive มีไฟฟ้าอยู่และพร้อมที่จะทำงาน ถ้าเราลืมปิดตะปู disk drive สัญญาณ READY ก็จะไม่แสดง
|
สัญญาณ WRITE PROTECT/TWO SIDE สัญญาณนี้จะชี้ว่า write protect notch ถูกปิด หรือไม่เมื่อdrive อยู่ในภาวะอ่านหรือเขียน เมื่อ drive ทำขบวนการในภาวะ track-seek สัญญาณนี้ก็จะชี้ว่า drive เป็น two-sided หรือ one-sided |
สัญญาณ INDEX จะเป็นจังหวะเมื่อ index hole ใน disk ผ่านระหว่าง LED และ Phototran sistor detector |
สัญญาณ FAULT/TRACK 0 ชี้เงื่อนไขของปัญหาที่เกิดขึ้นกับ disk drive ระหว่างทำขบวนการ อ่าน/เขียน ส่วนในระหว่าง ทำขบวนการ track-seek สัญญาณจะแสดงเมื่อ หัวอ่านอยู่เหนือ track 0 |
สัญญาณ DRIVE SELECT ,DS0 และ DS1 จาก controller ถูกส่งไปที่ตัวแปลข้อมูลภายนอก ซึ่งใช้สัญญาณนี้สร้างสัญญาณ enable สำหรับ1 ถึง 4 drives |
สัญญาณ MFM จะแสดง high ถ้า controller ถูกโปรแกรมสำหรับ modified frequency moduration และlow ถ้า controller ถูกโปรแกรมสำหรับ standard frequency modulation(FM)
|
สัญญาณ RW/SEEK ถูกใช้เพื่อบอก drive ให้ทำขบวนการในภาวะอ่าน/เขียน หรือ ภาวะ track-seek |
สัญญาณ HEAD LOAD จะแสดงโดย controller เพื่อบอก drive hardware ให้นำหัวอ่าน/เขียนไปติดต่อกับ disk เมื่อการเชื่อมต่อไป double-sided drive ,HEAD SELECT จาก controller ถูกใช้กับสัญญาณนี้เพื่อชี้ว่าหัวอ่านทั้งสองควรถูก loaded ระหว่างขบวนการเขียนบน track ด้านในของ disk สัญญาณ LOW CURRENT/DIRECTION |
จะแสดงโดย controller เพราะว่า bit บน track ด้านในจะอยู่ใกล้กันมาก กระแสที่ใช้ในการเขียนต้องถูกลดลงเพื่อป้องกันการเขียนทับกัน เมื่อทำคำสั่ง seek-track สัญญาณนี้ก็จะใช้บอก drive ว่า ก้าวออกนอกขอบขอ disk หรือ อยู่ภายในตรงศูนย์กลาง
|
/Floopy_05.jpg)
จากรูป เราจะมองสัญญาณที่ใช้อ่านและเขียน clock และ data bit บน track ตามรูปจะแสดงสัญญาณไฟฟ้าระหว่างขาและหัวอ่าน/เขียน ในการบันทึกนั้นข้อมูล clock จะถูกเก็บบน track พร้อมกับข้อมูล data เราใช้clock bits เพื่อบอกเราเมื่ออ่าน data bits , สัญญาณ VcoSYNC จาก controller จะบอกวงจร phase-locked loopภายนอก เพื่อ synchronize ความถี่ , output จากวงจร phase-locked loop คือ สัญญาณ DATA WINDOWสัญญาณนี้จะถูกส่งไปยัง controller เพื่อบอกว่าจะหา data pulse ที่ไหนใน data stream ที่มาใน READ DATA input External circuitry supplies ที่เป็นพื้นฐานของสัญญาณ WR CLOCK จะใช้ความถี่ 500 kHzสำหรับแบบ FMและ 1 MHz สำหรับแบบ MFM , output ของ 8272 ที่เป็นclock bits และ data bits จะถูกเขียนลง disk โดยขาของ WR DATA ระหว่างขบวนการเขียน 8272 จะแสดงสัญญาณ WR ENABLE เพื่อเปิด วงจรภายนอก ซึ่งส่งข้อมูลให้กับหัวอ่าน/เขียน สัญญาณPRE-SHIFT 0 และ PRE-SHIFT 1 จาก controller จะไปที่วงจรภายนอกซึ่งshift bits ไปข้างหน้าหรือถอยหลังเมื่อจะมีการเขียน bit ก็จะมีตำแหน่งที่ถูกต้องเมื่ออ่านออกมา |
รวบรวมจาก บทเรียน Online วิชา 204323 ไมโครโปรเซสเซอร์และการออกแบบไมโครคอมพิวเตอร์ รศ.ยืน ภู่วรวรรณ |