打印

pic16f可以用软件模拟USB吗?

[复制链接]
3394|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddb_21ic|  楼主 | 2007-2-1 22:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
听说AVR M8可以,pic有类似的方案吗?
我只需要很简单的用USB控制几个LED
沙发
systemchip| | 2007-2-2 11:08 | 只看该作者

:

如果只是象LZ要求的,使用中断传输就得了,用HID的类级就够了,另外PIC16系列支持USB模块的型号没有FLASH型的,只有OTP型的例如PIC16C745/PIC16C765,低速USB1.1,只点几个LED灯够用了。

使用特权

评论回复
板凳
ddb_21ic|  楼主 | 2007-2-2 12:47 | 只看该作者

楼上的兄弟

是说软件模拟usb,不是内置usb模块,像AVR309里面说的那样

使用特权

评论回复
地板
systemchip| | 2007-2-2 15:14 | 只看该作者

不容易

你如何实现USB差分信号电平?USB的一个标准帧里面的数据可不少哦,你还需要进行CRC码等等操作,速度跟不上吧!

使用特权

评论回复
5
ddb_21ic|  楼主 | 2007-2-2 15:51 | 只看该作者

是有些困难

AVR坛子里面也说很难用C来实现,有个据说写得很有技巧的ASM版本.
现在mega8和pic16的速度应该区别不是很大,难道pic16就实现不了?

使用特权

评论回复
6
kingpoo| | 2007-2-2 21:49 | 只看该作者

何必把自己搞的这么累啊!

何必把自己搞的这么累啊!偏要用软件模拟?
想展示你的水平还是怎么的?

使用特权

评论回复
7
systemchip| | 2007-2-2 22:02 | 只看该作者

:

楼主可以试一试呀,成功的话可以分享一下经验!

使用特权

评论回复
8
starm| | 2007-2-3 09:34 | 只看该作者

现在mega8和pic16的速度应该区别不是很大,难道pic16就实现不了?

pic18也许可以

使用特权

评论回复
9
c2u| | 2007-2-3 22:03 | 只看该作者

算一下

算一下,算一下.
低速的也得1.1MB/S吧, 一次最少也得读10个位才能算一个字节吧, 那每个位得用多少时间读完呢? 1秒/(1.1X1024X1024X8) = 0.9 uM ,  但是16系的能达到0.9uM的指令周期吗??  好像不行啊,……

使用特权

评论回复
10
systemchip| | 2007-2-4 17:32 | 只看该作者

:

事实上虽然LS模式下面其标称速度为1.5Mbits/s,实际上现实USB规范中速率大概在8字节/10ms,还要考虑对USB数据的编解码处理以及额外的七七八八的开销,如果只是实现一些简单的功能,指令运行速率如果为2MIPS,可能会比较勉强,最好为5MIPS以上。

使用特权

评论回复
11
ddb_21ic|  楼主 | 2007-2-4 21:11 | 只看该作者

算了,我也懒得去搞了

估计3MIPS勉强能作出来,关中断或在中断中一心一意做IO读写,最好是1.5MIPS的N倍,不然算时间都麻烦

systemchip是汇编高手啊?我没有用过PIC汇编,一直是偷懒用C,没法处理这种对时间要求特别高的东东了(当然多花些功夫还是可以的)

AVR的范例汇编程序共1800行,包括注释,像我这样没用过汇编的(仅51时做过一个产品)懒人,看起来就是天书了



使用特权

评论回复
12
su_mj000| | 2007-2-7 06:05 | 只看该作者

若要实现"软件模拟USB"

PIC得运行在36~48Mhz(超频运行),即9~12MIPS.

PIC16估计没戏,PIC18大概还行.

使用特权

评论回复
13
牛皮詹秀波| | 2007-2-8 20:40 | 只看该作者

--

速度不够快,AVR就可以。

使用特权

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

本版积分规则

105

主题

1105

帖子

3

粉丝