该来的还是回来-STM8的软件USB
AVR的好处都有啥?
这玩意价格差不多,但是VUSB(软件USB)大大扩展了AVR的应用空间。

STM8是一种性价比很高的单片机,上面外设功能很强大,价格也便宜,封装也够小,也够稳定,就是不带硬件USB,而且也没有现成的软件USB哎。

窝想着STM8和AVR是差不多的货色,速度也差不多,理论上AVR能做的STM8也能做!

于是Google了一下,发现了一个老毛子的代码,窝兴冲冲的下载到单片机里,发现电脑根本不是别这个USB设备!!

原理不难,用stm8的定时器和IO接收发送USB包,如果stm8用12M晶振,usb1.1的低速设备速率是1.5Mbit/s,通过适当的延时也能做到。由于对时间的高度敏感,所以毛子把收发部分的核心代码用汇编写了。

窝开始了漫长的修改之路...当然中间也参考了别人的代码和大量文档..
现在做到了用STM8S103F3P6模拟一个自定义的USB-HID设备,HID就是人机接口设备,鼠标键盘都是这种。HID设备可以和主机之间收发信息。

目前的进度是,模拟的HID设备可以被枚举,可以和主机交换信息。
目前没做的:没加入字符串描述符的支持,没封装好,部分电脑不兼容
USB总线有时间的时候,单片机占用率相当高,这个没办法,因为USB就算是低速设备的通讯速率对8位机也是个挑战...

测试兼容列表:
HM67主板的USB2.0
UPC的某种USB3.0芯片
2014款Mac Pro
Surface Pro 3(不兼容,无法枚举,原因不明)

开发环境STVD+Cosmic
单片机STM8S103F3P6

源码:
Github链接
XXXXXXXXXXXXXXXXXX/rikka0w0/STM8-VUSB

代码以后还会继续改善,增加更多功能,更好的封装
STM8掺了USB,应该能做更多有意思的东西
欢迎USB大神们一起来研究~
来自:电子与无线电 / 电子技术
rb-sama
5年4个月前
1楼
脆脆厉害!
stm8的usb功能我之前一直不敢想,如果能稳定传输数据。可以在设计上省去串转usb芯片。
体积至少小两倍,要知道电子产品同样功能体积小一点能带来的改变可不止一点。

强烈建议脆脆出usb评估板!( ´ ▽ ` )ノ
回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ry7740kptv
5年4个月前
2楼
毕竟IO模拟USB1.1还是很消耗系统资源的,8位单片基本跑了USB协议栈就干不了别的了,还是用带控制器和物理层的单片实在,LPC的M0系列有很便宜且带USB的单片~
回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zx-16533
5年4个月前
3楼
用USB为啥不用STM32......
回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon
5年4个月前
4楼
楼上两位同志!难度!难度啊!用STM8撸出USB,基本说明:

1. 楼主已经把STM8 CPU编程手册翻烂了
2. 楼主已经把USB Spec翻烂了

从折腾难度上来讲,已经吊打阿莫的各种S103 bootloader了。
回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
amo
5年4个月前
5楼
一直没机会折腾……备件、拆机IC、废板上各种M3、M4、Power、FPGA、CPLD……上周还扔了一堆
回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
tangler
5年4个月前
6楼
建议还是用sdcc编译吧。cosmic编译器简直烂……
回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
drzzm32
5年4个月前
7楼
不知道STC的玩意能不能实现软件usb,同为8位机。(好像STC是假1T)
回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
金坷居士作者
5年4个月前
8楼
这个主要看单个指令周期快不快和指令周期一不一定
usb对时间要求很高的哦
stc得分析下指令集咯
回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wlianmin
5年4个月前
9楼
我之前移植的,还不完善,后面没时间弄了 XXXXXXXXXXXXXXXXXX/wlianmin/stm8_usb
回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
金坷居士作者
5年3个月前 修改于 5年3个月前
10楼
引用 wlianmin:
我之前移植的,还不完善,后面没时间弄了 XXXXXXXXXXXXXXXXXX/wlianmin/stm8_usb
最近在做新的stm8软usb
从根本把整个PC占用的问题解决了
重新写了rx和tx的程序 不过大部分是汇编的
最近先debug下再发上来
原版的接收程序似乎不能处理Bit-Stuffing这种情况 会比较蛋疼

快来一起坑/w\
顺便问一下 15MHz的晶振呢
回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
y5664579
5年3个月前
11楼
理论上超过12Mhz主频的mcu都可以达到 但是为了效率足够必须汇编
回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

金坷居士
学者 机友 笔友
文章
171
回复
1711
学术分
11
2011/09/23注册,1 年前活动

怪哉!灵异的三极管电流流向! 这素一个在仿真的RCC电路,示波器上绿色的是集电极电流红色的是发射极电流。窝萌都知道发射姬电流素集电极电流和基极电流之和,所以讲道理发射极电流一定比集电极略大。可仿真结果刷了三观,Q1集电极电流一部分流经基极,然后流经Q2的C->E。

%7B%22isDisplay%22%3Atrue%7D
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
等待中...
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
处理中..
处理失败
插入表情
我的表情
共享表情
Emoji
上传
注意事项
最大尺寸100px,超过会被压缩。为保证效果,建议上传前自行处理。
建议上传自己DIY的表情,严禁上传侵权内容。
点击重试等待上传{{s.progress}}%处理中...已上传
空空如也~
草稿箱
加载中...
此处只插入正文,如果要使用草稿中的其余内容,请点击继续创作。
{{fromNow(d.toc)}}
{{getDraftInfo(d)}}
标题:{{d.t}}
内容:{{d.c}}
继续创作
删除插入插入
{{forum.displayName}}
{{forum.countThreads}}
篇文章,
{{forum.countPosts}}
条回复
{{forum.description || "暂无简介"}}
ID: {{user.uid}}
学术分隐藏
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

支持的图片格式:jpg, jpeg, png
插入公式
分享回复:{{shareId}}
加载中...
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
加入关注取消关注
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
建议修改
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也