[求助]有没有一种IDE接口芯片,能实现对IDE6接口的硬盘的存

[复制链接]
3581|17
 楼主| pingc60 发表于 2009-3-2 11:26 | 显示全部楼层 |阅读模式
近期要通过数字芯片(FPGA)开发一种使用IDE硬盘的存储系统,读写速度能达到几M/S就行,但是通过FPGA直接对IDE接口进行开发难度比较大,时间也不允许。所以我想咨询一下各位达人,有没有一种现成的芯片集成了IDE接口的,我只需要对芯片进行操作就能实现IDE硬盘的数据读写(譬如说我只需要对芯片的寄存器进行读写就能实现硬盘的数据存储)?或者各位有什么其他好的方案建议,只要能降低开发的难度就可以了。谢谢大家了!
chunyang 发表于 2009-3-2 12:22 | 显示全部楼层

有这样的芯片你也未必能找到资料和货源

这类芯片对外接口往往比IDE本身更复杂,IDE是很简单的。在理解的基础上自己设计吧,关键是理解,包括IDE标准本身和FPGA的使用编程方法。
 楼主| pingc60 发表于 2009-3-2 13:38 | 显示全部楼层

[求助]有没有一种IDE接口芯片,能实现对IDE6接口的硬盘的存

我最初的想法也是直接使用FPGA芯片对IDE硬盘进行ATA协议编程(使用的是ATA-6协议),但是研究了一段时间,没有什么进展。<br />一是由于我以前没有做过什么实际的项目,就玩过几天单片机,二是我下载到的ATA-6的协议是英文版本的,由于经验少,不少地方我看不明白,所以最开始用单片机做了个板子总是调不通。这才转而想使用专用芯片。<br />譬如,ATA协议里面,IDE硬盘四十个脚当中有一个DASP-引脚我就不太明白。<br />我将协议里面的描写摘录下来:<br />Signal&nbsp;summary部分对DASP-的说明:<br />5.2.3&nbsp;&nbsp;DASP-&nbsp;(Device&nbsp;active,&nbsp;device&nbsp;1&nbsp;present)<br />During&nbsp;the&nbsp;reset&nbsp;protocol,&nbsp;DASP-&nbsp;shall&nbsp;be&nbsp;asserted&nbsp;by&nbsp;Device&nbsp;1&nbsp;to&nbsp;indicate&nbsp;that&nbsp;the&nbsp;device&nbsp;is&nbsp;present.&nbsp;At&nbsp;all&nbsp;other&nbsp;times,&nbsp;DASP-&nbsp;may&nbsp;be&nbsp;asserted&nbsp;by&nbsp;the&nbsp;selected&nbsp;active&nbsp;device.<br /><br />Driver&nbsp;types&nbsp;and&nbsp;required&nbsp;termination部分对DASP-的说明如下:<br />Signal:DASP-&nbsp;&nbsp;&nbsp;Source:Device&nbsp;&nbsp;Driver&nbsp;type:OC&nbsp;&nbsp;Device:10K&nbsp;PU&nbsp;&nbsp;&nbsp;Notes:6、9<br /><br />6.&nbsp;Pull-up&nbsp;values&nbsp;are&nbsp;based&nbsp;on&nbsp;+5&nbsp;V&nbsp;Vcc.&nbsp;Except&nbsp;for&nbsp;the&nbsp;pull-up&nbsp;on&nbsp;PDIAG-:CBLID-&nbsp;whic<br />VCC&nbsp;for&nbsp;backward&nbsp;compatibility,&nbsp;pull-ups&nbsp;may&nbsp;be&nbsp;to&nbsp;VDD3.&nbsp;For&nbsp;systems&nbsp;supporting&nbsp;Ul<br />greater&nbsp;than&nbsp;4,&nbsp;the&nbsp;host&nbsp;pull-up&nbsp;on&nbsp;IORDY:DDMARDY-:DSTROBE&nbsp;should&nbsp;be&nbsp;to&nbsp;VDD3.<br />9&nbsp;.The&nbsp;host&nbsp;shall&nbsp;not&nbsp;drive&nbsp;DASP-.&nbsp;If&nbsp;the&nbsp;host&nbsp;connects&nbsp;to&nbsp;DASP-&nbsp;for&nbsp;any&nbsp;purpose,&nbsp;the&nbsp;host&nbsp;shall&nbsp;ensure&nbsp;that&nbsp;the&nbsp;signal&nbsp;level&nbsp;detected&nbsp;on&nbsp;the&nbsp;interface&nbsp;for&nbsp;DASP-&nbsp;shall&nbsp;maintain&nbsp;VoH&nbsp;and&nbsp;VoL&nbsp;compatibility,&nbsp;given&nbsp;the&nbsp;I&nbsp;oH&nbsp;and&nbsp;IoL&nbsp;requirements&nbsp;of&nbsp;the&nbsp;DASP-&nbsp;device&nbsp;drivers<br />按照上面的说明,DASP-是属于硬盘驱动的OC门,那我用单片机连接的时候是不是给这个脚外接一个10K的上拉电阻和一个5V的电源,然后接到单片机引脚上去?或者我根本就不用管这个脚?<br />2楼的兄弟如果有开发过IDE硬盘的话,指教指教吧,或者有其他的达人有过类似开发经验请给我指导指导,我是特别想把这个电路给开发出来。<br />
pemberley 发表于 2009-3-2 19:54 | 显示全部楼层

可以使用CPLD实现

几Mb/s的速度,使用普通的CPLD即可实现~
chunyang 发表于 2009-3-2 21:48 | 显示全部楼层

唉,理解接口标准文档这是谁也替代不了的

要有耐心
 楼主| pingc60 发表于 2009-3-3 10:31 | 显示全部楼层

[求助]有没有一种IDE接口芯片,能实现对IDE6接口的硬盘的存

速度方面要求不是很高,用CPLD或者是FPGA都能做到<br />现在主要问题是我对ATA协议有些吃不透,所以想问问有没有进行过相关开发的兄弟给我点指导。
 楼主| pingc60 发表于 2009-3-3 10:45 | 显示全部楼层

[求助]有没有一种IDE接口芯片,能实现对IDE6接口的硬盘的存

还有,我使用的是Seagate&nbsp;的ST380011A硬盘,参考的协议是d1410r3b-ATA-ATAPI-6&nbsp;协议应该没有弄错吧?<br />还有,协议里面指的ATAPI应该是指光驱的协议,凡是跟ATAPI有关的命令都可以不管,是不是这样?
chunyang 发表于 2009-3-3 11:17 | 显示全部楼层

ATA接口的工作模式是上对下兼容的

&nbsp;&nbsp;&nbsp;&nbsp;建议你先看看基本ATA接口规范,对硬盘而言,增强部分主要是DMA模式和Smart诊断而已,后者都可以不必理睬,而前者在理解标准ATA的基础上不是难事。<br />&nbsp;&nbsp;&nbsp;&nbsp;学习也要讲究方法。
 楼主| pingc60 发表于 2009-3-3 11:25 | 显示全部楼层

[求助]有没有一种IDE接口芯片,能实现对IDE6接口的硬盘的存

感谢2楼、4楼、5楼、8楼的留言。<br />8楼所说的“基本ATA接口规范”是指的什么呢?<br />是指的ATA协议的第一代规范?还是我现在用的ATA-6协议里面除开掉DMA和SMART功能的那部分呢?<br />还有一个问题,主要是IDE接口的电路连接方面,有些脚不知道怎么连接,<br />查到的相关资料都是以前ATA-3接口的电路连接图,和现在ATA-6接口的连接应该有些差别,但是我拿不准哪些有区别.<br />有没有开发过ATA-6规范接口的朋友能提供下接口的电路连接图的,这对我的帮助将会很大。谢谢!<br />
chunyang 发表于 2009-3-3 12:06 | 显示全部楼层

电路连接方法未变,和初代的都一样

ATA接口规范在很多PC硬件书籍上都有,网上文档基本上是英文的。
xwj 发表于 2009-3-3 12:34 | 显示全部楼层

唉,chunyang 实在是够苦口婆心的了

ATA接口规范硬件上都是一样的,只是DMA方式不同罢了;<br />几M/S的速度就算用IO模式都可以达到,你读懂了协议文档,用任何一种DMA方式都可以的<br /><br />自己去多多读资料吧,甚至是简单点的中文资料都可以的哦<br />这个别人是不可能帮得上你的!<br />
 楼主| pingc60 发表于 2009-3-3 14:10 | 显示全部楼层

[求助]有没有一种IDE接口芯片,能实现对IDE6接口的硬盘的存

xwj 发表于 2009-3-3 14:18 | 显示全部楼层

什么意思?

ATmega64根本就达不到几M/S的数据吞吐率,<br />IO速度也很有限,所以很难达到要求的<br /><br /><br /><br />至于IDE控制器芯片,大多都是接口复杂(比如PCI接口的),根本就不适合直接接单片机
 楼主| pingc60 发表于 2009-3-3 14:25 | 显示全部楼层

[求助]有没有一种IDE接口芯片,能实现对IDE6接口的硬盘的存

上面那张图是我做的一个功能验证板的电路连接图,用单片机只是做功能验证<br />速度达不到没关系,只要数据存储能实现就行。使用的是PIO模式。<br />现在这张图是ATA-6协议里面定义的信号名,我想请教下,我的电路连接有没有问题,有哪些脚连接得不对?
 楼主| pingc60 发表于 2009-3-3 14:52 | 显示全部楼层

[求助]有没有一种IDE接口芯片,能实现对IDE6接口的硬盘的存

上面的电路图连接里面我有些脚有疑问,想请教一下。<br />其中20和21脚我弄反了,20脚应该是没有,21脚是DMARQ(由于使用PIO方式所以没有接);<br />27脚是IORDY,这个脚是什么功能我一直没有弄明白,使用的时候需不需要接到单片机的IO上面?;<br />电路图中的28脚ALE应该是CSEL脚,在电路图上连接到了单片机的IO口上,我使用的是80芯的标准硬盘线,硬盘连接在硬盘线的长端,在实际使用的时候,CSEL信号始终置低;<br />34脚PDIAG-和39脚DASP-应该怎么接我也不太明白,是不是也不用管?39脚接电阻和发光二极管后连接到电源上是我从网上抄过来的,按照网上的说话,当硬盘正常工作的时候,DASP-脚为低电平,LED变亮显示正常工作,但是我在测试的时候,LED从未亮过,是我的硬盘没有正常工作呢,还是我对这个脚的理解错了?<br />
huangqi412 发表于 2009-3-3 17:06 | 显示全部楼层

chunyang都成唐僧了

lz,单片机控制光驱当cd机的例子网上还是有的,,,再接下来,自己能琢磨了吧...
 楼主| pingc60 发表于 2009-3-3 17:36 | 显示全部楼层

[求助]有没有一种IDE接口芯片,能实现对IDE6接口的硬盘的存

&nbsp;&nbsp;&nbsp;不好意思,我能理解楼上各位也许都觉得这个事情简单到不需要多说几句。<br />但是,实在是由于我算是个新手,身边又没有人来指导,所以很多你们看起来很简单的事情我都需要琢磨很久,也请你们理解一下新人的难处。<br />&nbsp;&nbsp;&nbsp;一些概念性的东西,我在网上能查到,但是像上面一些细节性的问题,我在网上找不到答案,自己试验又茫然没有头绪,所以才想这请教一下各位。<br />&nbsp;&nbsp;&nbsp;上面那些问题,也许你们觉得很初级,但是那也是一段时间思索没有答案的问题,我现在极需要的就是满脑子疑问需要人解答,也许有某个人能给我解答下上面的那些问题,我一开窍,没准就上路了。<br />&nbsp;&nbsp;&nbsp;ATA6的英文文档有400多页,我看了3遍很多问题都不明白。你们也许说看3遍远远不够,但是第一遍没弄清楚的问题,看再多遍不理解也是枉然。所以我才想着把一些文档上看到但是不懂的问题放到网上来请教大家。希望大家不要吝惜给我回帖的那段时间,那也许会对我有很大帮助,谢谢了。<br />&nbsp;&nbsp;譬如,我在15楼提出的那些问题,能不能有人给我解答下?<br />&nbsp;&nbsp;<br />
chunyang 发表于 2009-3-3 17:52 | 显示全部楼层

这个事情说难不难,说简不简,关键是理解文档

没办法,这一点别人帮不到你,正确的入手方法已经告诉你了,还死嚼?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部