แผ่นบันทึก (Floopy Disk)
ลักษณะทั่วไป
        ขนาดโดยทั่วไปของ disks คือ 8 นิ้ว, 5.25 นิ้ว และ 3.5 นิ้ว ตัว disk ถูกทำจาก Mylar และฉาบด้วยสารแม่เหล็ก เมื่อ disk ถูกใส่ใน drive unit ใน spindle clampsที่อยู่ส่วนกลางของช่องว่างจะถูกหมุน ด้วยความเร็วคงที่ อาจจะ 300 หรือ 360 รอบต่อนาที ข้อมูลจะถูกเก็บบน disk ใน circular tracks หัวอ่าน/เขียน จะติดต่อกับ disk ผ่านทาง racetrack-shaped slot เพื่ออ่านหรือเขียนลงไปบน disk
            ในการเขียน กระแสไฟฟ้าจะไหลผ่านไปที่ขดลวดในหัวอ่าน และจะสร้างฟลักซ์แม่เหล็กในแกนเหล็ก ของหัวอ่าน/เขียน ช่องว่างในแกนเหล็กจะยอมให้ฟลักซ์แม่เหล็กไหลผ่านออกมา และทำให้สารแม่เหล็กบน 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 เสมออาจมีขั้วเป็นหนึ่งทิศทางหรือหลายทิศทาง หัวอ่านจะสร้างสัญญาณเมื่อพื้นที่ที่มีสนามแม่เหล็กเปลี่ยนผ่านบนหัวอ่าน

            จากรูปแสดงการเก็บบิทบน 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

            เริ่มแรกให้มองที่แผนผังของ 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 หรือ อยู่ภายในตรงศูนย์กลาง

            จากรูป เราจะมองสัญญาณที่ใช้อ่านและเขียน 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 ไมโครโปรเซสเซอร์และการออกแบบไมโครคอมพิวเตอร์ รศ.ยืน ภู่วรวรรณ