打印

CF接口逻辑问题

[复制链接]
1464|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zylzp|  楼主 | 2009-5-15 16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

最近几天做了个CF卡的接口逻辑。是基于 PC Card ATA using Memory Mode 。寻址方式使用LBA方式。逻辑设计完成后通过了功能仿真。但是在实际访问CF卡的时候出现以下问题:

1、写 sector count ,sector number,cylinder low ,cylinder high,drvie/head,寄存器,写入后并读出,发现sector count 不管写任何值,读出均为零,其余的寄存器值正确。但读出状态寄存器未提示错误,并且能返回58H的值。
2、如果向sector count写01h,当然sector count是0h ,所以一次写256个扇区数据,写完之后,读状态寄存器,无法读到50h,,读回的值全是58h。在尝试写512字节。同样读状态寄存器值也是58h。在尝试大于256或大于512,状态返回依然是58h......
3、尝试写入下列数据,sector count =0, sector number =FFH,cylinder low =FFH,cylinder high=1F,drvie/head=e0;当然sector cout 返回值是0h。返回状态寄器错误,读错误寄存器,返回10h(是未找到sector id);将上边的cylinder high 值改成1eh,得到的结果相同。再将其改成10h,,返回才错误寄存器正确。更多值没有测试(公司机器太破了。QUARTUS 编译一次要花5分钟,还是单核2.4G,,521MB内存,⊙﹏⊙b汗)。
4、CF卡地址理解,,是理解成  sector count*ector number*cylinder low*cylinder high*head=256*256*256*16*512B=136.9GB 还是256*256*64*816*512B=34GB?????还是要经过什么特别的转换。

开发环境: windows xp sp3
开发软件: quartus 7.2
cf卡:         transcend 1GB

周末了。。我晚上还要赶到异地,,累啊。。各位大侠的回复我可能不能及时的看到。。在此请大家原谅。

相关帖子

沙发
zylzp|  楼主 | 2009-5-18 09:11 | 只看该作者

没人过问。。

哎!!!

使用特权

评论回复
板凳
xhj284880274| | 2012-4-26 13:56 | 只看该作者
楼主!我现在也遇到这样的情况,希望可以交流!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

32

帖子

0

粉丝