软盘控制器,即软碟控制器(英语:Floppy Disk Controller,简称:FDC),是一个特殊功能的芯片,由控制读取与写入电脑软式磁盘机相关磁盘控制器电路所组成。在1980年代到1990年代,软碟控制器普遍使用于个人电脑或与IBM PC相容的机型上,如NEC μPD765、Intel 82072A或是82072A及其后继芯片型号。而在除上所列外其他的软碟控制器,可能存在结构上有着与之不同的观念或实作方式。
简介软盘控制器,即软碟控制器(英语:Floppy Disk Controller,简称:FDC),是一个特殊功能的芯片,由控制读取与写入电脑软式磁盘机相关磁盘控制器电路所组成。在1980年代到1990年代,软碟控制器普遍使用于个人电脑或与IBM PC相容的机型上,如NEC μPD765、Intel 82072A或是82072A及其后继芯片型号。而在除上所列外其他的软碟控制器,可能存在结构上有着与之不同的观念或实作方式。1
概观一个软碟控制器电路板最多可以控制到四个软式磁盘机,控制器连接到电脑的系统总线,并提供I/O埠给中央处理器。一般也与直接内存存取控制器连接。在x86个人电脑上,软碟控制器使用中断服务6,在其他的系统上,其他的中断服务方式也可能被使用。软碟控制器通常使用直接内存存取模式来实现资料的传送。
软碟控制器的功能将位元资料转换成MFM或GCR格式来纪录
解析并执行命令,如搜寻、读取、写入、格式化等等
以校验和的产生与验证来做错误侦测,如同循环冗余校验
用锁相回路(PLL)来同步资料
外部电路功能选择软驱
开启软驱马达
提供软碟控制器芯片的重置信号
致能/取消在软碟控制器内的中断与直接内存存取信号
资料分离逻辑电路
写前补偿逻辑电路
为控制器提供线性驱动讯号
从控制器接收线性讯号1
x86电脑软碟控制器的输入/输出埠软碟控制器有三个I/O埠,如下所示:
资料埠
主状态暂存器(MSR)
控制埠
前两个埠存在于软碟控制器芯片中,而控制埠则位于外部电路里。下面是三个埠的对应位址。
|| ||
资料埠软件使用资料埠有三个不同的目的:
当软件发出命令给软碟控制芯片,命令与命令参数是经由资料埠发出给软碟控制器芯片。软碟控制器芯片将命令与命令的不同参数储存在控制器内部的暂存器中。
当命令被执行后,软碟控制器芯片储存一组状态参数于控制器内部暂存器中。这些状态参数经由资料埠被中央处理器读取。这些不同的状态字节被软碟控制器芯片依特定的顺序排列呈现。
当工作在资料传输模式中,软碟控制器芯片与中央处理器的输出输入指令间的资料传递是经由资料工作来完成的。1
主状态暂存器(MSR)软件使用此埠来读取软碟控制器芯片与软驱所有的状态资讯。在进行软驱操作初始化前,软件读取此埠的资料来确定软碟控制器是否已是准备就绪的状态,并且软驱经由先前的初始化命令来验证相关的状态。以下列出状态暂存器不同位元意义的说明:1
|| ||
|| ||
数位控制埠软件使用数位控制埠来控制软驱和软碟控制器芯片的特定功能。此埠的位元被赋予的意义说明如下:1
|| ||
"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容量磁盘片。但当工作在每分钟转速为300的 1.44 MB格式取代了每分钟转速为360 的1.2 MB格式的磁片而变得普遍后,就如同每个磁道有15个磁区的1.2 MB格式磁片取代5.25"高密度磁盘机一样。此后,日本使用的软驱就支援了两种高密度格式(也支援单密度格式)。因此被称为3模式。一些BIOS提供设定选项可以来致能此一模式的软驱。1
本词条内容贡献者为:
吴晨涛 - 副研究员 - 上海交通大学