打印

SPI 主动模式不能自动 SS脚 片选从脚吗?

[复制链接]
11188|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kinbing|  楼主 | 2011-2-12 20:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
沙发
kinbing|  楼主 | 2011-2-13 00:04 | 只看该作者
都没人回答,大概是不行了.

使用特权

评论回复
板凳
taishan3703| | 2011-2-13 01:55 | 只看该作者
不行,不过可以程序控制用这个脚做片选。

使用特权

评论回复
地板
kinbing|  楼主 | 2011-2-13 10:01 | 只看该作者
那就相当普通的IO了.

使用特权

评论回复
5
香水城| | 2011-2-13 11:32 | 只看该作者
看不懂LZ的问题

使用特权

评论回复
6
kinbing|  楼主 | 2011-2-13 13:17 | 只看该作者
看不懂LZ的问题
香水城 发表于 2011-2-13 11:32

一般硬件SPI,发送数据时,就自动拉低SS脚片选.发完再自动拉高SS脚.

使用特权

评论回复
7
香水城| | 2011-2-13 15:47 | 只看该作者
一般硬件SPI,发送数据时,就自动拉低SS脚片选.发完再自动拉高SS脚.
kinbing 发表于 2011-2-13 13:17


那么你的问题是什么?

使用特权

评论回复
8
heuyck| | 2011-2-14 08:39 | 只看该作者
楼主的意思就是有些MCU如果启用了NCS脚自动控制功能,会在启动SPI传输自动拉低SPI_NCS脚以使能从设备(类似有些MCU的UART支持自动控制485收发脚的功能)。
不要说可以自己用IO方式控制CS,没的话确实可以做,但是就跟那啥UART TIMEOUT一样,有的话用起来更方便。诺**鸭不是讲嘛,科技以人为本。。。。

使用特权

评论回复
9
heuyck| | 2011-2-14 08:40 | 只看该作者
记得没在um上看到过这个功能,NCS脚应该是给MCU做从SPI设备时用的。
做主SPI时,NCS只能用IO方式控制。

使用特权

评论回复
10
ddb_21ic| | 2011-2-14 10:48 | 只看该作者
用GPIO方式做SPI Master NSS,DMA功能根本没法用

使用特权

评论回复
11
香水城| | 2011-2-14 18:11 | 只看该作者
用GPIO方式做SPI Master NSS,DMA功能根本没法用
ddb_21ic 发表于 2011-2-14 10:48


为什么?

使用特权

评论回复
12
taishan3703| | 2011-2-14 21:21 | 只看该作者
SPI是不可能提供主设备自动发片选的。

你想啊,MCU是主,它可以与N个SPI从设备通信,如果你只有一个自动片选的话,靠,你让MCU只与一个人说话啊,你以为SPI是点对点啊。

使用特权

评论回复
13
taishan3703| | 2011-2-14 21:27 | 只看该作者
MCU相当于一夫多妻制社会里的男人,他有N个小妾(用N根绳子拴着),要和哪个小妾XX,就拽拽哪根绳子,如果你只有一根绳子,那就是一夫一妻制了。所以不能自动,男人高兴拽哪根绳子就拽哪根。

使用特权

评论回复
14
ddb_21ic| | 2011-2-15 10:36 | 只看该作者
MCU还成西门庆了,晚上敲谁的锣就去几夫人的房间...
我目前还没做完的一个板,103RB两个SPI分别接两个DAC(microchip mcp4922),DAC需要NSS来开始一次写命令。如果可以DMA+AutoNSS,输出速度比用中断方式控制NSS可以快很多,而且CPU不累。

使用特权

评论回复
15
香水城| | 2011-2-15 10:40 | 只看该作者
MCU还成西门庆了,晚上敲谁的锣就去几夫人的房间...
我目前还没做完的一个板,103RB两个SPI分别接两个DAC(microchip mcp4922),DAC需要NSS来开始一次写命令。如果可以DMA+AutoNSS,输出速度比用中断方式控制NSS可以 ...
ddb_21ic 发表于 2011-2-15 10:36


请你给一个时序图。

使用特权

评论回复
16
seawwh| | 2011-2-15 12:19 | 只看该作者
观点:
假如 MCU 能够提供主模式下的自动NSS功能,外部附一个HC138之类的译码器,即可以实现一对多高效通信的功能。 另外很多情况下SPI是一对一,因此主模式下自动NSS是很有用的。

使用特权

评论回复
17
香水城| | 2011-2-15 13:21 | 只看该作者
观点:
假如 MCU 能够提供主模式下的自动NSS功能,外部附一个HC138之类的译码器,即可以实现一对多高效通信的功能。 另外很多情况下SPI是一对一,因此主模式下自动NSS是很有用的。 ...
seawwh 发表于 2011-2-15 12:19


使用DMA怎么实现一对多的通信功能?

使用特权

评论回复
18
ddb_21ic| | 2011-2-15 13:33 | 只看该作者
MCP4922 SPI DAC:
The write command is initiated by driving the CS pin
low, followed by clocking the four configuration bits and
the 12 data bits into the SDI pin on the rising edge of
SCK.  The  CS pin is then raised, causing the data to
be latched into the selected DAC’s input registers.
All writes to the MCP492X are 16-bit words. Any
clocks past 16 will be ignored. The most significant
four bits are configuration bits. The remaining 12 bits
are data bits.

使用特权

评论回复
19
ddb_21ic| | 2011-2-15 13:40 | 只看该作者
现在的问题是,我们觉得Master模式下自动NSS是很有用的,遗憾的是STM32不具备该特性。
香水城老大你不能强迫我们认为这功能没用吧?

使用特权

评论回复
20
香水城| | 2011-2-15 13:56 | 只看该作者
现在的问题是,我们觉得Master模式下自动NSS是很有用的,遗憾的是STM32不具备该特性。
香水城老大你不能强迫我们认为这功能没用吧?
ddb_21ic 发表于 2011-2-15 13:40


“强迫”是什么意思?现在谁还能够强迫谁?:lol

SPI协议本来就没有一个通用的标准,各个公司都是按照自己的理解去做的。18楼给出的描述中也可以看到,CS信号已经不单单是片选信号,它已经变为锁存数据到输入寄存器的锁存信号了,这是对通常意义下片选信号的扩充。

使用特权

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

本版积分规则

0

主题

153

帖子

1

粉丝