这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » OURAVR,AT90S2313,USB 在OURAVR上找到的用AT90S23

共2条 1/1 1 跳转至

OURAVR,AT90S2313,USB 在OURAVR上找到的用AT90S2313实现的软USB,拿出来大家一起看看

院士
2006-09-17 18:14:16     打赏
OURAVR,AT90S2313,USB 在OURAVR上找到的用AT90S2313实现的软USB,拿出来大家一起看看



关键词: OURAVR     AT90S2313     找到     实现     拿出    

院士
2006-12-22 22:43:00     打赏
2楼
问 下载地址
http://61.144.28.245/ourAVR/es_USB_isp_diy.html

程序USB-pro.asm我大概看了看,有个疑问,有兴趣的来研究研究
请看这段程序,这段程序用来存储USB总线上一位码的程序:
……
USBloop1_6:
in    inputbuf,inputport;查询PB口(D+,D-分别PB0,PB1)
cbr    inputbuf,USBpinmask;清除高6位      
breq    USBloopEnd         ;若D+,D-均为0则此包结束  
ror    inputbuf        ;本RAM带C右移
rol    shiftbuf          ;本RAM带C左移,把D+存起来
dec    bitcount        ;计数器自减1
brne    USBloop1_6        ;循环存储下一位
……

  后面的注释是我加上去的,不保证全部正确,大家可以怀疑。原来的注释是英文加斯洛伐克文的,比天书都天书,除了作者自己估计没人看的懂。
  我的问题是这样的:
AT90S2313使用12M晶振,执行速度是10MIPS,也就是每个机器周期cycle用0.1us,上面的程序是6个单周期1个双周期一共8个cycles,也就是耗时0.8us。
那么USB1.1低速是1.5M bit/s,每一位耗时就是0.67us.
0.8us的程序怎么能够准确捕捉到0.67us的信号呢?
我在这里的计算可能有问题,也可能是程序读的还不够明白,当然也有可能原来的程序就有问题,实现不了,呵呵,总之,对USB感兴趣的大家不妨来一起研究研究,说不定以后就用的到。
另外,如果这个程序是正确的话,我想找一款便宜点的单片机来实现这个程序,还有AVR这么快速的片子吗?有的话给推荐一下。 1: 12M晶振,执行速度是12MIPS12M晶振,执行速度是12MIPS 2: 不会吧我看AT90S2313上说它的最高速度就是10MIPS,能达到12MIPS吗?当然我是没有亲自用过的,您用过吗?可以达到12MIPS? 3: 超频10MHz,10MIPS
12MHz,12MIPS
4: AVR的片子是1MIPS/1MHZ,你把它超到16MHZ,那么就是16MIPS

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]