首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
采用FPGA和DSP直接控制硬盘实现存储控制的方法
来源:本站整理  作者:佚名  2010-04-09 11:27:06




    传输40M数据结束后,主机将根据传输的扇区数填写FAT表,判断硬盘空间是否小于200M、已储存的文件数是否大于256,如果为真则再次存储数据时将使用下一个磁盘分区。
4 硬盘操作控制流程
    我们一般习惯称硬盘接口为IDE接口[3],对硬盘的操作如读写扇区,发送命令等都是通过读写寄存器来完成的,每向硬盘发送一组命令后都要读取状态寄存器中的信息,通过状态寄存器的值来判断硬盘是否已经执行完所发送的命令。
4.1  硬盘启动操作
    硬盘加电后应先将硬盘复位,硬盘复位方式有三种,本设计采用的是将SRST置1,当SRST被置1后硬盘立即复位,这时应至少等待2ms才读取Status register。如果Status register的值为80h,则表明硬盘已完成复位。硬盘启动流程见图2。

图2 硬盘启动程序流程图   

图3  扇区读写操作程序流程图
4.2  扇区读写操作
    首先应向硬盘发送命令参数,将要读写的扇区数目写入Sector count register,将扇区的逻辑地址写入LBA High register、LBA Mid register和LBA Low register,将要接收命令的设备号写入Device register。流程见图3。
    LBA=(柱面编号×磁头数+磁头编号)×扇区数+扇区编号-1
    将命令READ SECTOR或WRITE SECTOR写入Command register后,在400ns内Status register的值并不可靠,所以需等待400ns才能读取Status register,这段等待时间可以通过读取Alternate Status register和Error register度过,读取的数值应被丢弃。当状态寄存器的值为58h时,表示硬盘已经可以从Data register接收或传输数据。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:38,804.69000 毫秒