首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > 软盘控制器

软盘控制器

资料介绍
软盘控制器软盘控制器编程方法

软盘控制器的编程方法
赵炯 oldlinux.org (gohigh@sh163.net)

1.1 软盘驱动器的设备号
在Linux中,软驱的主设备号是2,次设备号 = TYPE*4 + DRIVE,其中DRIVE为0-3,分 别对应软驱A、B、C或D;TYPE是软驱的类型,2表示1.2M软驱,7表示1.44M软驱,也即flop py.c中85行定义的软盘类型(floppy_type[])数组的索引值:
表6.1 软盘驱动器类型

类型 0 1 2 3 4 5 6 7

说明 不用。 360KB PC 软驱。 1.2MB AT 软驱。 360kB 在 720kB 驱动器中使用。 3.5" 720kB 软盘。 360kB 在 1.2MB 驱动器中使用。 720kB 在 1.2MB 驱动器中使用。 1.44MB 软驱。

例如,因为7*4 + 0 = 28,所以 /dev/PS0 (2,28)指的是1.44M A驱动器,其设备号是0 x021c。 同理 /dev/at0 (2,8)指的是1.2M A驱动器,其设备号是0x0208。

1.2 软盘控制器
对软盘控制器的编程比较烦琐。在编程时需要访问4个端口,分别对应一个或多个寄存 器。对于1.2M的软盘控制器有以下一些端口。
表6.2 软盘控制器端口

I/O 端口 0x3f2 0x3f4 0x3f5 0x3f7

读写性 只写 只读 读/写 只读 只写

寄存器名称 数字输出寄存器(DOR)(数字控制寄存器) FDC 主状态寄存器(STATUS) FDC 数据寄存器(DATA) 数字输入寄存器(DIR) 磁盘控制寄存器(DCR)(传输率控制)

数字输出端口DOR(数字控制端口)是一个8位寄存器,它控制驱动器马达开启、驱动器 选择、启动/复位FDC以及允许/禁止DMA及中断请求。
表6.3 数字输出寄存
标签:软盘控制
软盘控制器
本地下载

评论