EDN首页   博客首页

日志档案

发表于 2007-3-30 14:27:05

9

标签: IDE转USB  

AT89S52跟PDIUSBD12搭的IDE→USB转接板(原理图+源代码+实物图片)

现在已经实现了主要功能:可以读取文件和复制文件。不支持格式化硬盘功能。
不过速度比较慢,我从本地硬盘复制文件到移动硬盘里去,速度只有50KBytes/S,
因为单片机速度不快,内存又少,USB1.1的速度也不快。另外,代码写得不够好。

相关评论:http://computer00.21ic.org/user1/2198/archives/2006/9863.html

 

源代码包:rar

 

点击看大图

原理图:

注意:图中串口电平转换部分的C8和C10接反了,C11负端应接VDD。D12的SUSPEND(12脚)应该接地。USB接头处的D+和D-应该分别串联22欧姆的匹配电阻。由于图得比较匆忙,所以没留意。

点击看大图

 

 

 

点击看大图

点击看大图

系统分类: 单片机   |   用户分类: 圈圈作品   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(3636)    回复(5)  

投一票您将和博主都有获奖机会!

最新评论

  • computer00

    2007-8-25 11:17:38

    发现程序的一个BUG,有些朋友提到枚举不正常,可能是下面这个函数的问题,替换它再试试.

    /***************************设置地址***************************************/
    void set_usb_address(void)
    {
    usb_flags.flags.set_addr=1;
    set_usb_addr(Control_Data.DeviceRequest.wValue);
    while(select_endpoint(1)&0x01);
    write_endpoint_buff(1,0,0);
    while(select_endpoint(1)&0x01);
    usb_flags.flags.usb_endp0_in=0;
    usb_flags.flags.setup_packet_out=0;
    }
    /******************************************************************************/

  • commandoccz

    2007-11-4 19:58:33

    请问你上面的PS2口是怎么实现的啊,D12好像不支持PS2吧

  • computer00

    2007-11-11 17:17:36

    那个PS2口跟USB无关的。我只是装在上面以前做键盘玩用的,现在不要了。

  • 于振南

    2007-12-15 23:18:55

    OO你好,我买了你的EDN USB开发板,我作USB->IDE实验怎么不成功呢,其它实验都成功的,可以检测到硬件,设备管理器里也有“oo的IDE-USB”,但是看不到盘符。这是什么原因呢?

    我的硬盘有好几个分区,和这个有关系吗?是不是你那个程序只能支持一个分区呢?

    谢谢!!!!

  • computer00

    2007-12-16 16:38:30

    注意那个跳线设置,使用硬盘时,要拔掉串口的那两个跳线冒。

    另外,你的硬盘要自己接电源。还要设置为主盘模式。

    分区是可以支持多个的。

    再不行的话,可能是硬盘跟我的程序不兼容了,这个需要再调试下程序。

    另外,我的程序中还有些bug,过段时间我会再弄一个程序上来,你到时再试试行不行了。