打印
[STM32F4]

用STM32半残废的SPI硬件模式能否实现高速IO扩展

[复制链接]
1118|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjp8683463|  楼主 | 2019-12-13 09:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zjp8683463 于 2019-12-13 10:26 编辑

主STM32F4需要扩展256个IO,需要每32个io同步采样(只要input),采样频率约5k
本来想用主MCU用FMC外扩RAM,SPI外扩2个140引脚的STM32。
外扩MCU采集IO锁存后,并用SPI用硬件主模式向主MCU发送数据,达到高速传输。
但STM32的NSS似乎还是要软件控制,求教STM32的大佬有好办法吗?

使用特权

评论回复
沙发
zjp8683463|  楼主 | 2019-12-13 10:13 | 只看该作者
用SPI的连续发送模式是否能实现?

使用特权

评论回复
板凳
mmuuss586| | 2019-12-13 12:02 | 只看该作者
加个FPGA,直接FSMC接口控制好了

使用特权

评论回复
地板
huzi2099| | 2019-12-13 14:42 | 只看该作者
两个stm32太奇怪了,不用fpga,cpld就能搞定,接口简单设计的话可以用fsmc,16位并行逻辑上也简单

使用特权

评论回复
5
Diyer123| | 2019-12-13 20:36 | 只看该作者
我们有现成的方案

使用特权

评论回复
6
zjp8683463|  楼主 | 2019-12-16 15:12 | 只看该作者
cpld FSMC外扩256 IO占用引脚太多,SPI的引脚占用少。
产品不是消费品,上cpld对维护和调试不方便,需要外派2个人员。
如果mcu能搞定还是使用mcu的方便

使用特权

评论回复
7
磨砂| | 2020-1-8 12:48 | 只看该作者
问题是想要多高的速度啊

使用特权

评论回复
8
晓伍| | 2020-1-8 12:51 | 只看该作者
外扩fpga就行

使用特权

评论回复
9
八层楼| | 2020-1-8 12:56 | 只看该作者
用串口是可以的

使用特权

评论回复
10
观海| | 2020-1-8 13:06 | 只看该作者
当然可以了

使用特权

评论回复
11
guanjiaer| | 2020-1-8 13:10 | 只看该作者
引脚应该够用了吧

使用特权

评论回复
12
heimaojingzhang| | 2020-1-8 13:23 | 只看该作者
直接用fsmc不可以吗

使用特权

评论回复
13
zhjerry| | 2020-1-8 13:31 | 只看该作者
本帖最后由 zhjerry 于 2020-1-8 14:18 编辑

只要5K的采样要求太容易了。使用一片F091RCT6, 用8路串口工作在Rx同步模式,每个串接4个HC165(或2个74LS674)做到32个IO同步采样。如果使用F405RCT6只有6个串口再加上2路SPI混合使用也可做到8路需注意串口和SPI的访问方式有点区别。

使用特权

评论回复
14
keaibukelian| | 2020-1-8 15:05 | 只看该作者
不能扩ram吧  应该扩fpga

使用特权

评论回复
15
zjp8683463|  楼主 | 2020-3-16 14:09 | 只看该作者
本帖最后由 zjp8683463 于 2020-3-16 14:14 编辑
zhjerry 发表于 2020-1-8 13:31
只要5K的采样要求太容易了。使用一片F091RCT6, 用8路串口工作在Rx同步模式,每个串接4个HC165(或2个74LS674 ...

5k,32IO,波特率就是160k,串口根本来不及。如果加上crc校验要求频率更高了,不是消费品,crc校验是必须的。

使用特权

评论回复
16
zhjerry| | 2020-3-17 09:13 | 只看该作者
zjp8683463 发表于 2020-3-16 14:09
5k,32IO,波特率就是160k,串口根本来不及。如果加上crc校验要求频率更高了,不是消费品,crc校验是必须 ...

STM32的串口至少可以工作到4.5Mbps,使用DMA驱动可以保证速率的连续。
我一个项目工作在1Mbps,10多年的工业产品一直这么用的。
这里只要求160k, 只有16KBPS的字节速率,太小意思了。
最后扯工业品就太可笑了,我就是搞工业品的, 实际上我承认绝大多数消费品的可靠性远高于工业品, 为什么?因为消费品的产量使得其设计更替远多于工业品,虽然消费品的取材可能不如工业品但是消费品的设计更替保证了最终设计可靠性更高。

使用特权

评论回复
17
zjp8683463|  楼主 | 2020-3-17 14:00 | 只看该作者
本帖最后由 zjp8683463 于 2020-3-17 14:03 编辑
zhjerry 发表于 2020-3-17 09:13
STM32的串口至少可以工作到4.5Mbps,使用DMA驱动可以保证速率的连续。
我一个项目工作在1Mbps,10多年的工 ...

这个从设计理念上不一样,工业级仪器仪表对确定性和稳定性要求更高,有点像普通电脑和服务器一样。
比如这个I/O不加crc,正常情况下也没什么关系。
但如果出错了,没有crc,仪表是无法知道的,这个就会把错误的信息传输出去而没有人知道。
最简单的例子就是把不合格产品当作合格产品了。

也感谢你的提示,STM32的串口已经不局限于115200波特率了。

使用特权

评论回复
18
zhjerry| | 2020-3-17 19:37 | 只看该作者
zjp8683463 发表于 2020-3-17 14:00
这个从设计理念上不一样,工业级仪器仪表对确定性和稳定性要求更高,有点像普通电脑和服务器一样。
比如这 ...

加上CRC有什么难的, 与串口实现有什么冲突,对串口波特率的总体影响能有多大?严重怀疑其不知所云,88了。

使用特权

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

本版积分规则

397

主题

6133

帖子

9

粉丝