这个不行

[复制链接]
1153|35
 楼主 | 2019-10-19 10:19 | 显示全部楼层 |阅读模式
本帖最后由 开发者_test 于 2019-10-28 16:03 编辑

使用特权

评论回复
| 2019-10-19 16:42 | 显示全部楼层
便宜不了,1T51,中断方式处理算最快了吧,你可以算算,汇编时候:
一个短转移、断点入栈、时间采集、保存、断点出栈。已经丢掉了所有其他现场保存条件。处理周期得多少,1MHz信号用汇编已经无法实现理想功能了。
到这个速度,软件解析,则单片机处理速度必须很快,要么简单的硬件来实现协议解析,别无它法。

使用特权

评论回复

评论

开发者_test 2019-10-20 09:48 回复TA
这个好像有用51模拟USB的,那个USB是12M的,估摸着普通的MCU 跑到1M上下应该是有可能的吧? 
| 2019-10-19 16:49 | 显示全部楼层
不是可以用串口方式处理单总线的吗

使用特权

评论回复
 楼主 | 2019-10-20 09:47 | 显示全部楼层
mcu5i51 发表于 2019-10-19 16:49
不是可以用串口方式处理单总线的吗

您说的这个串口方式是指?

使用特权

评论回复
| 2019-10-20 10:17 | 显示全部楼层
开发者_test 发表于 2019-10-20 09:47
您说的这个串口方式是指?

这个好像有用51模拟USB的,那个USB是12M的,估摸着普通的MCU 跑到1M上下应该是有可能的吧????
这个我没看见过,不过相信因为51没有DMA,跑12MHz,就像天方夜谭了。
我上面给你贴的,你自己按照时钟周期和指令周期去算,这个是没有水分的,就会明白连续中断处理速度够不够。
为什么说用中断呢,如果一个IO串行波特率1MHz,用查询方式,你可以算一下,执行周期是多少?什么都不用干了就光查询了,否则肯定丢数据不是?
贴的这个,应该是中断处理串行最小的指令数量了,只是中断地址保护、跳转、读时间戳、保存时间戳、结束中断、返回中断前地址。如果这些可以妥妥的在1MHz周期里面完成,则才有现实可能性。
考虑到中断时间太紧,所有别的可能动作都省去了,数据根据时间戳判断什么的都放外面去了,还能咋样?
至于说可以采用串口处理,这限制条件太多了,1是你处理的1MHz串行信号必须符合串口格式,2是你得凑出一个误差范围内的符合你串行信号波特率的串口波特率,这个太难了,基本上没有可行性。

使用特权

评论回复

评论

开发者_test 2019-10-20 10:46 回复TA
这个倒是不太懂,之前一直搞linux,纯单片机没涉及,您看下这个链接,是不是同一个单位 https://hackaday.com/2014/03/02/software-usb-on-the-stm8/ 
| 2019-10-20 10:33 | 显示全部楼层
本帖最后由 tyw 于 2019-10-20 10:46 编辑
开发者_test 发表于 2019-10-20 09:47
您说的这个串口方式是指?

隔壁坛子上的东东,连接这里不上了,原文在这
https://wenku.baidu.com/view/09d5974f33687e21af45a9a6

使用特权

评论回复
 楼主 | 2019-10-20 10:45 | 显示全部楼层
mcu5i51 发表于 2019-10-20 10:33
隔壁坛子上的东东,连接这里不上了,原文在这
https://wenku.baidu.com/view/09d5974f33687e21af45a9a6 ...

感谢 感谢,马上去看下.

使用特权

评论回复
| 2019-10-20 13:24 | 显示全部楼层
本帖最后由 tyw 于 2019-10-20 13:39 编辑

IIC的SCL最大16m/16=1mhz(根据芯片手册公式算),一个时钟周期传1bit,传8个bits后还要一个时钟周期让slave来ack,去除start和stop时间,每秒传1m/9=116.5k个有效数据bytes,当然实际速度应该还要低不少,当然有的单片机效率高些,不用除16,但除9是不变的.
就是说用16M时钟只能达到100k速度,所以一般单片机干不了1M这活.

使用特权

评论回复
 楼主 | 2019-10-20 14:13 | 显示全部楼层
tyw 发表于 2019-10-20 13:24
IIC的SCL最大16m/16=1mhz(根据芯片手册公式算),一个时钟周期传1bit,传8个bits后还要一个时钟周期让slav ...

i2c计算这里 为什么要除16呢?

使用特权

评论回复

评论

tyw 2019-10-20 14:31 回复TA
各个单片机种不一,有的4时钟一周期,有的8时钟一周期,有的16时钟一周期,就算你32M晶振,4时钟1周期,也只能到800k. 
| 2019-10-20 14:44 | 显示全部楼层
开发者_test 发表于 2019-10-20 14:13
i2c计算这里 为什么要除16呢?

你要求的1M是指字节还是bit?哈哈,不明确

使用特权

评论回复
 楼主 | 2019-10-20 14:47 | 显示全部楼层
tyw 发表于 2019-10-20 14:44
你要求的1M是指字节还是bit?哈哈,不明确

BIT 的. BYTE就歇菜了.
你前面提到的是指令周期吧? 1T/2T/4T之类的 就是一个指令占几个CPU周期.

使用特权

评论回复
| 2019-10-20 15:37 | 显示全部楼层
CPLD速度可以达到,成本也不会很低(《6元),可以实现单片机部分功能

使用特权

评论回复
| 2019-10-20 17:34 | 显示全部楼层
你的协议是不是也分为三个部分,复位和0/1;时长各是多少,能不能用几个元件分解为复位,时钟,数据的SPI信号

使用特权

评论回复
 楼主 | 2019-10-20 17:47 | 显示全部楼层
mcu5i51 发表于 2019-10-20 17:34
你的协议是不是也分为三个部分,复位和0/1;时长各是多少,能不能用几个元件分解为复位,时钟,数据的SPI信号 ...

不是SPI的,您理解为UART就可以 就是简单的方波. 单个电平持续时间1.0us

使用特权

评论回复
| 2019-10-21 08:06 | 显示全部楼层
开发者_test 发表于 2019-10-20 17:47
不是SPI的,您理解为UART就可以 就是简单的方波. 单个电平持续时间1.0us

UART和单总线协议相差很多呀,你用的什么协议呀

使用特权

评论回复
 楼主 | 2019-10-21 09:08 | 显示全部楼层
mcu5i51 发表于 2019-10-21 08:06
UART和单总线协议相差很多呀,你用的什么协议呀

客户还没给我具体的协议文档. UART只是用单工 不双工,

使用特权

评论回复
| 2019-10-21 09:14 | 显示全部楼层
你这是跨界接项目啊. 搞不定的.太难了.搞定你也出不来研发费.

使用特权

评论回复

评论

开发者_test 2019-10-21 12:37 回复TA
是啊,想先搞个DEMO 给甲方 
| 2019-10-21 09:22 | 显示全部楼层
开发者_test 发表于 2019-10-21 09:08
客户还没给我具体的协议文档. UART只是用单工 不双工,

如果是通用的还好,硬件往往自带,不是通用的真心不好说,

使用特权

评论回复
| 2019-10-21 09:37 | 显示全部楼层
楼主,给你推荐上海晟矽微的MC32P7311系列的MCU,性能应该能满足你的要求了。你可以去他们的官网找规格书来看看的。C、汇编都支持,在他们论坛里面可以直接下载最新的DEMO程序,仿真器也便宜,才1~200元左右。

使用特权

评论回复

评论

开发者_test 2019-10-21 12:36 回复TA
感谢 感谢 马上去看下这个 之前没关注这颗 
| 2019-10-21 09:39 | 显示全部楼层
stm8s的串口速率不是可以达到1Mbit/s吗

使用特权

评论回复

评论

开发者_test 2019-10-21 12:36 回复TA
哦 协议不是UART得 用UART来类比 
扫描二维码,随时随地手机跟帖
*滑动验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /5 下一条

在线客服 快速回复 返回顶部 返回列表