基于单片机的IDE硬盘接口设计方案分析

时间:2022-07-08 07:51:59

基于单片机的IDE硬盘接口设计方案分析

摘要:本文提出了一种用单片机扩展8255来控制IDE硬盘的方法,并给出了完整的硬件和软件设计方案,详细讨论并解决了控制过程中所遇到的问题,较好的实现了对硬盘的存取操作。

关键词:单片机;IDE;硬盘接口

【中图分类号】 TP368.1 【文献标识码】 B【文章编号】 1671-1297(2012)09-0326-01

一 方案比较

由于本系统是与硬盘存储相连,所以单片机的选择也很重要,考虑到硬盘是以扇区来存储数据的,并要保留设置参数,不易掉电,因此有三种方案:

方案一:采用比较熟悉的80C51单片机,须外扩掉电不丢失的EEPROM存储器。

方案二:采用内部带有EEPROM、片内RAM 256B的单片机,如WINBOND公司的W78E52单片机。

方案三: 采用ATMEL公司生产的内部带有片内RAM512B的单片机,在实现扇区读写时,可以不用外扩数据存储器。

方案比较:方案一对于初学者来讲,80C51单片机再熟悉不过了,当为首选,但外扩存储器会增加硬件电路的复杂性,并占用单片机的I/O口。方案三,虽说在扇区一次读取时,不用外扩数据存储器,但考虑到对初学单片机的来说,需要先熟悉其精简指令,在实现其功能时,需要一段时间。对于方案二,虽说W78E52片内只有256B,但考虑到本系统是把数据进行即时读写处理,所以不需要在掉电的时候保存读取的数据,因此从整个系统的开发时间和成本来说,方案三不适合。为了比较在附录中我给出了AT90S8515P控制硬盘接口的电原理图,以做参考。

本系统选用WINBOND公司的W78E52。它是整个系统的控制核心,完成对IDE硬盘,8255的初始化,接收单片机处理的数据并存储在硬盘上。W78E52是一款完全与8051兼容的8位单片机,片内ROM 8K,片内RAM 256B,适合硬盘数据的快速传输,它增加了Watchdog Timer和内部电源管理等功能,并且是目前少数可运行在最高40MHz晶振的单片机之一。本系统中的单片机W78E52运行在40MHz晶振下,以提高运行速度。所以方案二较好。

二 各单元电路方案

本系统要控制IDE驱动器,IDE驱动器有40个引脚,而单片机I/O口有限,而且,单片机还要用于其它功能的实现和控制。方案比较:

直接用I/O口通过74ls373锁存,74ls244驱动来控制IDE驱动器接口。要用到两个I/O口。

通过扩展I/O口芯片来扩展有限的I/O口,可以减少单片机资源的利用。如:8255可编程I/O接口芯片。

因此从资源利用来说,方案二较好。所以需要外扩I/O口。

I/O口扩展方式主要有两种:总线扩展法和串行口扩展法。在这里,用总线扩展法。总线扩展法又分为简单I/O接口扩展和可编程I/O接口扩展。本系统采用8255芯片来实现I/O口的扩展。

8255A可编程I/O接口扩展

本系统采用可编程8255A并行I/O扩展口。8255A是Intel公司生产的可编程输入输出接口芯片,它具有3个8位的并行I/O口,具有三种工作方式,可通过程序改变其功能,因而使用灵活,通用性强,可作为单片机与多种设备连接时的中间接口电路。

内部结构:8255内部包括三个并行数据输入/输出端口,两个工作方式控制电路,一个读/写控制逻辑电路和8位总线缓冲器。各部分功能概括如下:

工作方式控制电路:工作方式控制电路有两个,一个是A组控制电路,另一个是B组控制电路。这两组控制电路具有一个控制命令寄存器,用来接受中央处理器发来的控制字,以决定两组端口的工作方式,也可根据控制字的要求对C口按位清“0”或者按位置“1”。

A组控制电路用来控制A口和C口的上半部分(PC7-PC4)。B组控制电路用来控制B口和C口的下半部分(PC3-PC0)。

总线数据缓冲器:总线数据缓冲器是一个三态双向8位缓冲器,作为8255与系统总线之间的接口,用来传送数据、指令、控制命令以及外部状态信息。

读/写控制逻辑电路:

读/写控制逻辑电路接受CPU发来的控制信号RD、WR、RESET、地址信号A1-A0等,然后根据控制信号的要求,将端口数据读出,发往CPU,或者将CPU送来的数据写入端口。

工作方式0:

工作方式0是一种基本的输入/输出工作方式,在这种方式下,三个端口都可以由程序设置为输入或输出,没有固定的用于应答的联络信号。其基本的功能可概括如下:

可具有两个8位端口(A、B)和两个4位端口(C口的上半部分和下半部分)。

任何一个端口都可以设定为输入或者输出,各端口的输入、输出可构成16种组合。

数据输出时可以锁存,输出时不锁存。按照方式0工作时,CPU可以通过简单的传送指令对人以一个端口进行读/写,这样各端口就可以作为查询式输入/输出接口。按照查询方式工作时,A口、B口可作为两个数据输入/输出端口,C口的某些位可作为这两个端口的控制/状态信号端。

工作方式1是一种选通式输入/输出工作方式。在这种工作方式下,选通信号与输入/输出数据一起传送,由选通信号对数据进行选通。其基本功能可概括如下:

3个端口分为两组,即A组和B组。

每一组包括一个8位数据端口和一个4位的控制/状态端口。

每一个8位数据端口均可设置为输入或者输出,输入输出均可锁存。

4位端口作为8位数据端口的控制/状态信号端口。

本系统能够用到的工作方式0、1,所以就不用介绍工作方式2。

8255A在投入工作前必须设定工作方式,工作方式有初始化程序对8255A的控制寄存器写入控制字来决定。控制字共有两种。

8255的连接是同过W78E52的PO口进行I/O扩展,用74LS573锁存器来确定8255的3个I/O口的地址,本系统中8255的A口起始地址是FF7CH ,B口的起始地址是FF7DH,C口的起始地址是FF7EH,控制口的起始地址是FF7FH。在进行数据读写时首先确定8255的工作方式,用哪个口进行数据传输,本系统才用工作方式0、1进行数据读取,用MOVX DPTR,#X和MOV @DPTR,A来进行数据操作和对硬盘的智能控制。

基于单片机ide硬盘接口系统,除了单片机和硬件的连接外,还需要了解硬盘的结构,文件的存储格式,IDE驱动器的端口定义和编程的种种细节问题,所以下面通过3、4、5 章来介绍硬盘的工作原理,FAT文件系统,IDE硬盘驱动器的原理。

参考文献

[1] 李华.《MCS-51系列单片机实用接口技术》.北京.北京航空航天大学出版社,1993 P71-79

[2] 陈利学,孙彪,赵玉连.《微机总线与接口设计》.成都.电子科技大学出版社,1988 P45-90

[3] 徐厚俊.《IDE接口和IDE硬盘驱动器》.新浪潮,1996.P17

[4] 吴宁,陈,张建.《微型计算机硬件技术基础》.高等教育出版社,2003.P280-283

作者简介: 王莹,女,1983年出生,专业为电子信息工程,研究方向为电子电气控制。

上一篇:如何利用体育课对学生进行防溺水教育 下一篇:新课改中教师教学业务的几点思考