軟碟控制器

维基百科,自由的百科全书
跳转至: 导航搜索
IBM PC (IBM 5150)裡的 5 1/4 磁碟機控制介面卡

軟碟控制器英语Floppy Disk Controller簡稱FDC),是一個特殊功能的晶片,由控制讀取與寫入電腦軟式磁碟機相關磁碟控制器電路所組成。 在1980年代到1990年代,軟碟控制器普遍使用於個人電腦或與IBM PC相容的機型上,如NEC μPD765、Intel 82072A 或是 82072A 及其後繼晶片型號。而在除上所列外其他的軟碟控制器,可能存在結構上有著與之不同的觀念或實作方式。

概觀[编辑]

一個軟碟控制器電路板最多可以控制到四個軟式磁碟機,控制器連接到電腦系統匯流排,並提供I/O埠給中央處理器。一般也與直接記憶體存取控制器連接。在 x86 個人電腦上,軟碟控制器使用中斷服務 6,在其他的系統上,其他的中斷服務方式也可能被使用。軟碟控制器通常使用直接記憶體存取模式來實現資料的傳送。

在下面的方塊圖上顯示軟碟控制器經由工業標準結構(ISA)匯流排來與中央處理器溝通。在最來的設計裡,軟碟控制器被包含在Super I/O晶片中,並透過LPC匯流排來與外界溝通。

軟碟控制器與中央處理器和軟碟機溝通的方塊圖。

大部分的軟碟控制器功能是以積體電路的方式實現。但是有些是用外部電路的方式實現。軟碟控制器的功能詳列如下。

軟碟控制器的功能[编辑]

  • 將位元資料轉換成 MFMGCR 格式來紀錄
  • 解析並執行命令,如搜尋、讀取、寫入、格式化 等等
  • 校驗和的產生與驗證來做錯誤偵測, 如同循環冗餘校驗
  • 鎖相迴路(PLL)來同步資料

外部電路功能[编辑]

  • 選擇軟碟機
  • 開啟軟碟機馬達
  • 提供軟碟控制器晶片的重置信號
  • 致能/取消在軟碟控制器內的中斷與直接記憶體存取信號
  • 資料分離邏輯電路
  • 寫前補償邏輯電路
  • 為控制器提供線性驅動訊號
  • 從控制器接收線性訊號

一般 x86 個人電腦軟碟控制器的輸入/輸出埠[编辑]

軟碟控制器有三個I/O埠,如下所示:

  • 資料埠
  • 主狀態暫存器 (MSR)
  • 控制埠

前兩個埠存在於軟碟控制器晶片中, 而控制埠則位於外部電路裡。下面是三個埠的對應位址。

埠位址
[hex]
埠名稱 所在位置 埠型態
3F5 資料暫存器 軟碟控制器晶片 雙向輸出/輸入
3F4 主狀態暫存器 軟碟控制器晶片 輸入
3F2 數位控制埠 外部電路 輸出

資料埠[编辑]

軟體使用資料埠有三個不同的目的:

  • 當軟體發出命令給軟碟控制晶片,命令與命令參數是經由資料埠發出給軟碟控制器晶片。軟碟控制器晶片將命令與命令的不同參數儲存在控制器內部的暫存器中。
  • 當命令被執行後,軟碟控制器晶片儲存一組狀態參數於控制器內部暫存器中。這些狀態參數經由資料埠被中央處理器讀取。這些不同的狀態位元組被軟碟控制器晶片依特定的順序排列呈現。
  • 當工作在資料傳輸模式中,軟碟控制器晶片與中央處理器的輸出輸入指令間的資料傳遞是經由資料工作來完成的。

主狀態暫存器 (MSR)[编辑]

軟體使用此埠來讀取軟碟控制器晶片與軟碟機所有的狀態資訊。 在進行軟碟機操作初始化前,軟體讀取此埠的資料來確定軟碟控制器是否已是準備就緒的狀態, 並且軟碟機經由先前的初始化命令來驗證相關的狀態。以下列出狀態暫存器不同位元意義的說明:

位元 說明
0 FDD 0 : 0 號軟碟機處於搜尋模式忙碌
1 FDD 1 : 1 號軟碟機處於搜尋模式忙碌
2 FDD 2 : 2 號軟碟機處於搜尋模式忙碌
3 FDD 3 : 3 號軟碟機處於搜尋模式忙碌
4 FDC Busy: 軟碟控制器忙碌; 讀取/寫入命令進行中
5 Non-DMA mode: 不是處於直接記憶體存取模式
6 DIO: 指出軟碟控制器晶片與中央處理器間資料傳輸的方向
7 MQR: 指出資料暫存器為已準備完成,可以進行資料傳送
解釋
MQR 1 = 資料暫存器已準備完成,0 = 資料暫存器尚未準備完成
DIO 1 = 控制器有資料給中央處理器,0 = 控制器從中央處理器接收資料
Non-DMA 1 = 控制器不在直接記憶體存取模式中,0 = 控制器處於直接記憶體存取模式中
FDC Busy 1 = 忙碌,0 = 閒置
FDD 0,1,2,3 1 = 使用中,0 = 非使用中

數位控制埠[编辑]

軟體使用數位控制埠來控制軟碟機和軟碟控制器晶片的特定功能。 此埠的位元被賦予的意義說明如下:

位元 說明
0 與 1 被選擇的裝置號碼
2 重置軟碟機控制晶片 (低位準)
3 致能軟碟控制器的中斷及直接記憶體存取信號
4 到 7 個別位元代表已啟動馬達的磁碟機代號 0、1、2 或 3

格式資料[编辑]

有可能存在彼此互不相容的軟碟片格式; 除此之外,因為磁碟片實體格式的不同,也可能存在互不相容的檔案系統。

磁碟機 格式 容量 傳輸
速度
[kbit/s]
RPM 磁軌數 TPI 註解
8" SD 8" SD 80 kB 33.333 360 32 48 舊的控制器才有。[1]
5.25" SD 5.25" SD 160 kB 125 40 舊的控制器才有。
5.25" SD 5.25" SD 171 kB 250 - 308 35 只與 C1541 相容的才有。
5.25" SD 5.25" SD 180 kB 150 40 舊的控制器才有。
5.25" DD 5.25" DD 360 kB 250 300 40 [2]
5.25" HD 5.25" DD 360 kB 300 360 40 48 [3][4]
5.25" HD 5.25" HD 1.2 MB 500 360 80 96 最高到 83 個磁軌。不同的偏壓電流。[3][4]
5.25" HD 5.25" HD 720 kB 300 360 80 最高到 83 個磁軌。[2]
3.5" DD 3.5" DD 720 kB 250 300 80 135 最高到 83 個磁軌。[2][5]
3.5" DD 3.5" DD 800 kB 250 300 80 C1581所使用。
3.5" DD 3.5" DD 880 kB 250 300 80 最高到 83 個磁軌。為 Amiga 電腦所使用。
3.5" DD 3.5" DD 360 kB 250 300 40 [2]
3.5" HD 3.5" DD 720 kB 250 300 80 最高到 83 個磁軌。[2]
3.5" HD 3.5" HD 1.44 MB 500 300 80 135 最高到 83 個磁軌。[2][6]
3.5" HD 3.5" HD 1.76 MB 250 300 80 Amiga 電腦所使用。
3.5" ED 3.5" ED 2.88 MB 1000 300 80 135 最高到 83 個磁軌。[5][7]

[8]

面數:

密度:

[9]

"3模式" 軟碟機[编辑]

起初在日本,出現有 3.5" 高密度軟碟機支援 3 種磁碟格式取代普遍的支援兩種軟碟片格式的磁碟機 - 1.44 MB (2 MB 未格式化),1.2 MB (1.6 MB 未格式化) 和 720 kB (1 MB 未格式化)。最初, 在日本 3.5" 軟碟機的高密度模式只支援1.2 MB的容量磁片而不支援除日本以外普遍所使用的1.44 MB容量磁碟片。[10] 但當工作在每分鐘轉速為 300 的 1.44 MB 格式取代了每分鐘轉速為 360 的 1.2 MB 格式的磁片而變得普遍後,就如同每個磁軌有 15 個磁區的 1.2 MB 格式磁片取代 5.25" 高密度磁碟機一樣。此後,日本使用的軟碟機就支援了兩種高密度格式(也支援單密度格式)。因此被稱為3模式。一些BIOS提供設定選項可以來致能此一模式的軟碟機。[11]

延伸閱讀[编辑]

相關條目[编辑]

參考[编辑]

  1. ^ hypertextbook.com - Angular Speed of a Floppy Disk
  2. ^ 2.0 2.1 2.2 2.3 2.4 2.5 unifr.ch - sys/src/kernel/floppy.c
  3. ^ 3.0 3.1 iesleonardo.info - This diskette tutorial provides technical information concerning diskettes
  4. ^ 4.0 4.1 oldskool.org - Let HD 5,25" FDDs operate at 300 rpm instead of 360 rpm
  5. ^ 5.0 5.1 intel.com - Intel 82077SL for Super Dense Floppies
  6. ^ yi.org - High Density Floppy Disks Mf2hd Disk 3 5 1 Pk
  7. ^ mcamafia.de - IBM Personal system/2, 3,5"-inch Diskette Drives, Technical Reference
  8. ^ Linux-2.6.17/drivers/block/floppy.c.  090504 gelato.unsw.edu.au
  9. ^ What is the difference between the traditional floppy disk and the high capacity floppy disks? - Yahoo! Answers.  100626 answers.yahoo.com
  10. ^ books.google.com - Fix Your Own PC by Corey Sandler
  11. ^ rojakpot.com - 3mode floppy support