464 · ·
计算机测量与控制 . 2 0 0 3 . 1 1 ( 6 ) Computer Measurement & Control
设计与应用
文章编号 :1671 - 4598 ( 2003) 06 - 0464 - 03 中图分类号 : TP36811 文献标识码 :B
单片机与软盘驱动器的接口
朱长清 , 刘尚合
( 军械工程学院 静电与电磁防护研究所 , 河北 石家庄 050003)
摘要 : 为实现单片机控制系统与其他设备或系统的数据共享 , 设计了单片机与软盘驱动器的接口 .解决了系统存 储器扩展 ,DMA 通道设计等硬件问题 .结合工作原理介绍指出了软件的设计要点 .该接口设计几乎不占用单片机有限 的端口资源 . 关键词 : 接口 ; 单片机 ; DMA ; 存储器扩展
Interface bet ween Single - Chip Microcomputer and Floppy Disk Driver
ZHU Chang2qing , L IU Shang2he
( Institute of Electrostatic and Electromagnetic Protection , Ordnance Engineering College , Shijiazhuang 050003 , China) Abstract : In order to exchange data between a single - chip microcomputer control system and ot her device or system , t he
en up limited port resource of single - chip microcomputer.
1 引言
单片机控制系统中 , 为方便数据的后续处理或是 数据的长期保存 , 都需要安装一个软盘驱动器 . 单片机系统安装软盘驱动器有两个关键问题要解 决 .一是如何提供软盘驱动器所需的标准接口信号 . 二是如何解决两者之间的数据交换 , 即数据的批量传 送问题 .大家知道 , 对于不具有 DMA 功能的单片 机 , 其数据传送不管是采用软件查询 , 还是采用中断 技术 , 都要依靠程序控制 , 而每次传送数据都需要单 片机执行若干条指令 , 因而传输速率受单片机指令运 行速度的限制 .例如 , 51 系列单片机将外设某一数 据存入片外 RAM , 至少要运行 2 周期指令 MOV X 和 更改地址指针 DP TR 指令各两次 , 若采用 12 M Hz 时 μ 钟 , 则需 4 s .可见 , 即使不考虑单片机的其他运算 , 其数据传送速度也只能达到 250 K 字节/ s , 而一般的 软盘驱动器的传输速率是 500 K 字节/ s .为实现单片 机与软盘驱动器的数据交换 , 必须为单片机控制系统 提供 DMA 功能 .考虑到单片机资源的紧缺 , 应尽量 不占用单片机资源 [ 1 ] .
2 基本思路
收稿日期 :2002 - 06 - 17 . 作者简介 : 朱长清 ( 1963 - ) ,男 ,山东省广饶县人 ,教授 ,硕 士 ,主要从事仪器仪表及测试计量专业的科研和教学工作 .
interface between single - chip microcomputer and a floppy disk driver has been designed. The hardware circuit has been con2 Key words : interface ; single - chip microcomputer ; DMA ; extending memory
structed. It includes : extending t he memory space of single - chip microcomputer control system , setting up a DMA channel , and so on. The key design of software has been given in t he course of explaining interface's principle. This interface has hardly tak2
第一个问题的解决 , 采用标准软盘驱动控制器
8272 芯片 .其输出加简单的读写电路后即可与软盘 驱动器直接相连 , 其输入是标准的 DMA 传输接口和 用于编程控制的存储器接口 .因 8272 的编程控制只 通过 2 个寄存器完成 , 与单片机的连接只占用系统 2 个存储单元 . 单片机提供 DMA 功能的问题 .对于单片机控制 系统中简单的 DMA 数据传送 , 只要应用双向 RAM 作为外存储器或应用简单的门控电路就可实现 .但对 于与软盘驱动器的连接就不能这样简单 , 更不能像微 机那样通过出借系统总线来实现数据的 DMA 传送 . 因单片机控制系统的特点 , 不能因数据传送而过多中 断 CPU 的工作 .我们提出了采用扩展数据存储器的 解决方案 . ( 1) 扩展数据存储器采用并口扩展电路实现 , 只 占用系统存储器的 3 个口地址 ( 2 个口作地址口 , 1 个口作数据口) , 即可得到 64 K 的扩展数据存储器 . (2) 当单片机控制系统与软盘驱动器交换数据 时 , 单片机只作简单的响应 , 通过出借扩展数据存储 器作为 DMA 数据交换的存储器 . (3) 扩展数据存储器与 DMA 控制器构成 DMA 传输通道 , 由 DMA 控制器提供标准的 DMA 传输接 口信号 , 以便与软盘驱动控制器的连接 . (4) DMA 传输控制用中断来响应 DAM 总线请 求 ( 出借扩展存储器) 和告知 DMA 传送完毕 .另外 根据单片机当前处理任务的缓急情况 , 通过对并口扩 展电路的使能与否 , 相应对 DMA 请求做出应答 .
下一页