軟碟控制器(英語:Floppy Disk Controller,簡稱:FDC),是一個特殊功能的芯片,由控制讀取與寫入電腦軟式磁盤機相關(guān)磁盤控制器電路所組成。在1980年代到1990年代,軟碟控制器普遍使用于個人電腦或與IBM PC相容的機型上,如NEC μPD765、Intel 82072A或是82072A及其后繼芯片型號。而在除上所列外其他的軟碟控制器,可能存在結(jié)構(gòu)上有著與之不同的觀念或?qū)嵶鞣绞健?/p>
概觀一個軟碟控制器電路板最多可以控制到四個軟式磁盤機,控制器連接到電腦的系統(tǒng)總線,并提供I/O埠給中央處理器。一般也與直接內(nèi)存存取控制器連接。在x86個人電腦上,軟碟控制器使用中斷服務(wù)6,在其他的系統(tǒng)上,其他的中斷服務(wù)方式也可能被使用。軟碟控制器通常使用直接內(nèi)存存取模式來實現(xiàn)資料的傳送。
在下面的方塊圖上顯示軟碟控制器經(jīng)由工業(yè)標準結(jié)構(gòu)(ISA)總線來與中央處理器溝通。在最來的設(shè)計里,軟碟控制器被包含在Super I/O芯片中,并透過LPC總線來與外界溝通。
大部分的軟碟控制器功能是以集成電路的方式實現(xiàn)。但是有些是用外部電路的方式實現(xiàn)。軟碟控制器的功能詳列如下。1
軟碟控制器的功能將位元資料轉(zhuǎn)換成MFM或GCR格式來紀錄
解析并執(zhí)行命令,如搜尋、讀取、寫入、格式化等等
以校驗和的產(chǎn)生與驗證來做錯誤偵測,如同循環(huán)冗余校驗
用鎖相回路(PLL)來同步資料1
外部電路功能選擇軟驅(qū)
開啟軟驅(qū)馬達
提供軟碟控制器芯片的重置信號
致能/取消在軟碟控制器內(nèi)的中斷與直接內(nèi)存存取信號
資料分離邏輯電路
寫前補償邏輯電路
為控制器提供線性驅(qū)動訊號
從控制器接收線性訊號1
一般x86個人電腦軟碟控制器的輸入/輸出埠軟碟控制器有三個I/O埠,如下所示:
資料埠
主狀態(tài)暫存器(MSR)
控制埠
前兩個埠存在于軟碟控制器芯片中,而控制埠則位于外部電路里。下面是三個埠的對應(yīng)位址。1
|| ||
資料埠軟件使用資料埠有三個不同的目的:
當軟件發(fā)出命令給軟碟控制芯片,命令與命令參數(shù)是經(jīng)由資料埠發(fā)出給軟碟控制器芯片。軟碟控制器芯片將命令與命令的不同參數(shù)儲存在控制器內(nèi)部的暫存器中。
當命令被執(zhí)行后,軟碟控制器芯片儲存一組狀態(tài)參數(shù)于控制器內(nèi)部暫存器中。這些狀態(tài)參數(shù)經(jīng)由資料埠被中央處理器讀取。這些不同的狀態(tài)字節(jié)被軟碟控制器芯片依特定的順序排列呈現(xiàn)。
當工作在資料傳輸模式中,軟碟控制器芯片與中央處理器的輸出輸入指令間的資料傳遞是經(jīng)由資料工作來完成的。1
主狀態(tài)暫存器(MSR)軟件使用此埠來讀取軟碟控制器芯片與軟驅(qū)所有的狀態(tài)資訊。在進行軟驅(qū)操作初始化前,軟件讀取此埠的資料來確定軟碟控制器是否已是準備就緒的狀態(tài),并且軟驅(qū)經(jīng)由先前的初始化命令來驗證相關(guān)的狀態(tài)。以下列出狀態(tài)暫存器不同位元意義的說明1:
|| ||
|| ||
數(shù)位控制埠軟件使用數(shù)位控制埠來控制軟驅(qū)和軟碟控制器芯片的特定功能。此埠的位元被賦予的意義說明如下:
|| ||
"3模式"軟驅(qū)起初在日本,出現(xiàn)有3.5"高密度軟驅(qū)支援3種磁盤格式取代普遍的支援兩種軟碟片格式的磁盤機 - 1.44 MB(2 MB未格式化),1.2 MB(1.6 MB未格式化)和 720 kB(1 MB未格式化)。最初,在日本3.5"軟驅(qū)的高密度模式只支援1.2 MB的容量磁片而不支援除日本以外普遍所使用的1.44 MB容量磁盤片。但當工作在每分鐘轉(zhuǎn)速為300的 1.44 MB格式取代了每分鐘轉(zhuǎn)速為360 的1.2 MB格式的磁片而變得普遍后,就如同每個磁道有15個磁區(qū)的1.2 MB格式磁片取代5.25"高密度磁盤機一樣。此后,日本使用的軟驅(qū)就支援了兩種高密度格式(也支援單密度格式)。因此被稱為3模式。一些BIOS提供設(shè)定選項可以來致能此一模式的軟驅(qū)。1
本詞條內(nèi)容貢獻者為:
李嘉騫 - 博士 - 同濟大學(xué)