0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >技术信息 > 单片机与IBM-PC机硬盘驱动器适配器的接口分析

单片机与IBM-PC机硬盘驱动器适配器的接口分析

2018-03-01
类别:技术信息
eye 291
文章创建人 拍明


51集成度高,控制、处理能力强,工作可靠稳定,已广泛应用于生产过程的自动检测、工业实时控制、机器人、通信、导航、医疗卫生和智能仪器仪表等领域。在这些应用中,特别是在工程信号的自动测试、分析中,常常需要记录、存储大量的数据,某些数据还需长期或永久保存。目前,单片机系统保存、记录数据的工具是随机存取存储器(RAM)。众所周知,RAM不能长久保存数据,51系列单片机系统的数据存储器最大只有64 KB,因此这些方法满足不了某些实际系统的要求。当前磁记录技术已非常成熟,硬盘记录、存储系统已成为计算机系统中的主流设备。它的存储容量大,存取速度高,可以永久性地保存数据,而价格却越来越低。将其应用于单片机系统,可使组成的系统性能大为提高。

IBM - PC计算机支持硬盘系统,主机与硬盘之间的接口技术已经标准化,已得到广泛的应用。用IBM - PC机的硬盘系统作为51系列单片机系统的数据存储设备,接口电路结构简单,无需专门设计硬盘的驱动电路,因而构成的应用系统性能价格比非常高。

一、接口电路的设计

IBM - PC机简称硬盘控制器。它是一个智能部件,可接一个或两个硬盘,通过系统板上62脚I/O通道插槽与PC机相连。这62脚信号线在此只用了40脚,其中AO~A19为20位地址线;DO~D7是8位数据线;MEMR用于读硬盘的基本I/O程序;IOR和IOW分别为主机读、写硬盘控制器的控制信号;IRQ5、DRQ3分别为硬盘控制器的中断请求和DMA请求信号;DACK3为主机响应DMA时送给控制器的信号;另外还有一个复位硬盘控制器的RESET信号,一个DMA数据传送时禁止I/O操作的AEN信号和6根电源、地线。主机从硬盘读取数据或向硬盘写入数据均是通过向硬盘控制器提供的6个可访问的寄存器写入命令和控制字来实现的。因此,设计单片机与硬盘控制器的接口电路时,只要考虑以上信号的产生、接收,单片机数据存储器的扩展,DMA控制器的连接等问题即可。在PC机中,硬盘控制器的6个可访问的寄存器占用主机的I/O端口地址320—323H,信号的发送、接收均是通过这几个口地址寻址的。20根地址线实际只用了10根,51系列单片机有16根地址线,能满足地址译码的要求。51系列单片机不直接支持DMA数据传送方式,而硬盘控制器和数据存储器之间的数据必须采用DMA方式。在PC机中,主机对硬盘控制器的读/写操作是通过对I/0端口的读/写来实现的,而单片机系统没有I/O读/写指令,可采用存储器映射方式,将硬盘控制器的4个地址映射到外部数据存储器,这样控制器的IOR和IOW分别与单片机的WR和RD相连即可。硬盘控制器的中断请求信号IRQ5只用于硬盘操作结束信号,因此,此信号作为单片机的INT1。其他信号线的连接方式不赘述,本接口电路如图1- 91所示。

图1- 91硬盘控制器与单片机的接口原理图.png

二、软件设计

在IBM - PC机中,主机可通过调用BIOS程序实现控制器、驱动器和硬盘的诊断,数据的存入和取出,设置硬盘的参数,测试硬盘驱动器是否准备好,格式化硬盘等功能;可通过DOS中断程序灵活地进行数据文件的加工、处理;还可通过硬盘启动和引导系统,安装各种应用程序。因此它的软件结构很复杂,程序量也很大。在本例中,只是把硬盘作为大容量数据存储器,因此只需简单地格式化磁盘,读/写数据以及测试硬盘驱动器的好坏、是否准备好等功能,可通过向控制器的6个寄存器写入命令和控制字来实现。这6个寄存器的访问逻辑见表1- 25。

表1- 25控制器I/O接口上的寄存器访问逻辑.png

数据输入/输出寄存器( DIOR)很重要,是控制器的信号主吞吐口。状态寄存器(321R)提供硬盘控制器的硬件状态,图1- 92为该寄存器每一位的作用。其他4个寄存器的功能、用途参见相关文献,在此不赘述。硬盘控制器的命令是由6字节组成的字块,称为命令块。由命令块可发布19条命令,本节只选用其中的少数几条,如读盘(READ)、写盘(WRITE)、格式化驱动器(FMTDRV)和测试驱动器是否就绪(TSTRDY)等。一条硬盘控制器命令的执行全过程可分为3个阶段:命令的发送、执行和结束。在命令的发送阶段,首先须写“选择控制器”寄存器,把硬盘控制器“启动”起来,然后再向控制器写入6字节的命令块;在命令的执行阶段,控制器根据接收到的命令内容执行各种操作;当命令执行完后,只有主机经DIOR把“完成状态”字节读走,命令执行的全过程才告结束,否则,硬盘控制器的工作状态将发生混乱。控制器提供的“完成状态”字节主要是向主机报告此次操作是否出现错误,若出现错误,主机还可读出错误的类型、出错的扇段地址等信息。

图1- 92状态寄存器各位的含义.png

根据以上分析,软件设计如下:

(1)主监控程序

此部分程序主要实现硬盘控制器的初始化、参数设定等功能。其程序框图如图1 - 93所示。

图1 - 93主控程序流程图.png

(2)功能模块

对于硬盘上数据的读/写,控制器采用DMA数据传送方式。当数据读/写操作完成后,控制器还发出中断请求信号,报告命令执行完毕。因此,对于读盘和写盘操作,进入功能程序后,先设置DMA控制器的参数、工作状态,初始化中断服务程序;然后写入命令块和DMA、中断使能,进入读/写操作。写盘程序流程图如图1- 94所示。

图1- 94写盘程序流程图.png

读盘操作与写盘操作非常相似,只是数据传送方向相反。因此,程序结构基本一样,在此不再赘述。

测试硬盘工作是否就绪、格式化硬盘等操作不需要传送数据,这部分程序不需要DMA参与,但硬件中断还需要。其他和写盘操作也基本相同,不再说明。

本例研究的51单片机与IBM - PC硬盘驱动器的接口电路已应用于便携式智能数据分析、测试仪,性能稳定、可靠。由于数据存储到硬盘上的方式与IBM - PC机相同,因此,单片机系统可与IBM - PC机共享数据,为工程技术人员提供了极大的方便。

IBM PC

IBM PC是IBM个人电脑的缩写,它是IBM PC兼容机硬件平台的原型和前身,其模型号码为5150。1981年8月12日它被引入。它是IBM佛罗里达州博喀拉藤(Boca Raton)的一组工程师和设计师在唐·埃斯特利奇(Don Estridge)的领导下设计的。

与“微型”和“家用电脑”,在1981年个人计算机”已经在使用之前。它是用于描述早在1972年施乐帕洛阿尔托研究中心的女低音。然而,因为成功的IBM的个人电脑,电脑就意味着更明确的微型计算机兼容IBM的PC机系列产品。

型号特点

型号

型号#

发布时间

CPU

特点

PC

5150

1981.08

8088

磁盘或磁带系统

XT

5160

1983.03

8088

首用IBM个人计算机硬盘内部标准。

XT/370

5160/588

1983.10

8088

5160与XT / 370选项组件和3278/79仿真适配器

3270 PC

5271

1983.10

8088

与3270终端仿真

PCjr

4860

1983.11

8088

基于软盘的家用电脑

Portable

5155

1984.02

8088

基于软盘的便携式

AT

5170

1984.08

80286

中速硬盘

AT/370

5170/599

1984.10

80286

有370选择工具及对3278/79仿真适配器的5170

3270 AT

5281

1985 .06

80286

与3270终端仿真

Convertible

5140

1986.04

8088

微型软磁盘 手提便携式

XT 286

5162

1986.09

80286

缓慢的硬盘,但零等待状态内存的主板。这6兆赫机器其实比8兆赫ATs(当使用平面的记忆,因为零点)等待状态


硬盘驱动器

磁盘驱动器(Disk Driver)又称“磁盘机”,是以磁盘作为记录信息媒体的存储装置。磁盘驱动器读取磁盘中的数据,传递给处理器。

磁盘驱动器包括软盘驱动器,硬盘驱动器,光盘驱动器等。

用途

磁盘驱动器既能将存储在磁盘上的信息读进内存中,又能将内存中的信息写到磁盘上。因此,就认为它既是输入设备,又是输出设备。

种类

磁盘驱动器是电子计算机中磁盘存储器的一部分,用来驱动磁盘稳速旋转,并控制磁头在盘面磁层上按一定的记录格式和编码方式记录和读取信息,分硬盘驱动器、软盘驱动器和光盘驱动器三种。




责任编辑:Davia

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯