请教:带 SPI 的 MCU 和 带 SPI 的 Flash 到底怎么连接,谢谢!

youall 2007-04-23 10:51:57
大哥,您好!
想您请教一个 MCU 引脚和 flash 引脚相连的问题,好吗?
谢谢!

请教:
芯片手册原文:
20.1.4 从选择(NSS)
从选择(NSS)信号的功能取决于SPI0CN寄存器中NSSMD1和NSSMD0位的设置。有3种可能的方式:
1. NSSMD[1:0] = 00:3线主方式或从方式:SPI0工作在3线方式,NSS被禁止。当作为从器件工作在3线方式时,SPI0总是被
选择。由于没有选择信号,SPI0必须是总线唯一的从器件。这种情况用于一个主器件和一个从器件之间点对点通信。
2. NSSMD[1:0] = 01:4线从方式或多主方式:SPI0工作在4线方式,NSS作为输入。当作为从器件时,NSS选择从SPI0器件。
当作为主器件时,NSS信号的负跳变禁止SPI0的主器件功能,因此可以在同一个SPI总线上使用多个主器件。
3. NSSMD[1:0] = 1x:4线主方式:SPI0工作在4线方式,NSS作为输出。NSSMD0的设置值决定NSS引脚的输出电平。这种配置
只能在SPI0作为主器件时使用。
图20.2 ~ 20.4给出了不同方式下的典型连接图。注意:NSSMD位的设置影响器件的引脚分配。当工作在3线主或从方式时,NSS
不被交叉开关分配引脚。在所有其他方式,NSS必须被映射到器件引脚。对通用端口I/O和交叉开关的详细说明见“15. 端口输
入/输出”。
SPI0主方式
SPI总线上的所有数据传输都由SPI主器件启动。通过将主允许标志(MSTEN,SPI0CFG.6)置1将SPI0置于主方式。当处于主方
式时,向SPI0数据寄存器(SPI0DAT)写入一个字节时是写发送缓冲器。如果SPI移位寄存器为空,发送缓冲器中的数据字节被
传送到移位寄存器,数据传输开始。SPI0主器件立即在MOSI线上串行移出数据,同时在SCK上提供串行时钟。在传输结束后
SPIF(SPI0CN.7)标志被置为逻辑1。如果中断被允许,在SPIF标志置位时将产生一个中断请求。在全双工操作中,当SPI主器
件在MOSI线向从器件发送数据时,被寻址的SPI从器件可以同时在MISO线上向主器件发送其移位寄存器中的内容。因此,SPIF
标志既作为发送完成标志又作为接收数据准备好标志。从从器件接收的数据字节以MSB在先的形式传送到主器件的移位寄存
器。当一个数据字节被完全移入移位寄存器时,便被传送到接收缓冲器,处理器通过读SPI0DAT来读该缓冲器。
当被配置为主器件时,SPI0可以工作在下面的三种方式之一:多主方式、3线单主方式或4线单主方式。当NSSMD1(SPI0CN.3)
=0且NSSMD0(SPI0CN.2)=1时,是默认的多主方式。在该方式,NSS是器件的输入,用于禁止主SPI0,以允许另一主器件访问
总线。在该方式,当NSS被拉为低电平时,MSTEN(SPI0CN.6)和SPIEN(SPI0CN.0)位被硬件清0,以禁止SPI主器件,且方式
错误标志(MODF,SPI0CN.5)被置1。如果中断被允许,将产生中断。在这种情况下,必须用软件重新使能SPI0。在多主系统
中,当器件不作为系统主器件使用时,一般被默认为从器件。在多主方式,可以用通用I/O引脚对从器件单独寻址(如果需
要)。图20.2给出了两个主器件在多主方式下的连接图。
当NSSMD1(SPI0CN.3)=0且NSSMD0(SPI0CN.2)=0时,SPI0工作在3线单主方式。在该方式,NSS未被使用,也不被交叉开关映
射到外部端口引脚。在该方式,应使用通用I/O引脚选择要寻址的从器件。图20.3给出了一个3线主方式主器件和一个从器件的
连接图。
当NSSMD1(SPI0CN.3)=1时,SPI0工作在4线单主方式。在该方式,NSS被配置为输出引脚,可被用作从选择信号去选中一个
SPI器件。在该方式,NSS的输出值由NSSMD0(SPI0CN.2)控制(用软件)。可以用通用I/O引脚选择另外的从器件。图20.4给
出了一个4线主方式主器件和两个从器件的连接图。






请教:
可是有位大哥说:
主芯片的 MOSI 接 flash 的 MOSO ,主芯片的 MOS0 接 flash 的 MOSI
各位大哥到底是什么接的啊

芯片上的图是:MOSI 接 flash 的 MOSI ,主芯片的 MOS0 接 flash 的 MOSO 啊
(附件在 http://bbs.21ic.com/club/bbs/bbsView.asp?boardid=8)

谢谢!
...全文
1192 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyf1279 2009-02-24
  • 打赏
  • 举报
回复
六楼正解
seedundersnow 2007-04-24
  • 打赏
  • 举报
回复
SPI的数据流是单向的,总是从一个O流向一个I.
当你确定了master和slave,
在master那一方,MISO是一个输入,MOSI是输出,
在slave那一方,MISO是输出,MOSI是输入。
连接它们并没有第二种选择。
seedundersnow 2007-04-24
  • 打赏
  • 举报
回复
当角色确定后,MISO总是接MISO,MOSI总是接MOSI,这两个名字是较特别的。
seedundersnow 2007-04-24
  • 打赏
  • 举报
回复
MCU该是master吧?
那就应是
MCU MEM
----------------
MISO - MISO
MOSI - MOSI
CLK - CLK
CS - CS
lbing7 2007-04-23
  • 打赏
  • 举报
回复
这种接口问题,从数据流向来想想,这就OK了
lbing7 2007-04-23
  • 打赏
  • 举报
回复
芯片的 SI 连 FLASH 的 SO ,

反向对应...
youall 2007-04-23
  • 打赏
  • 举报
回复
谢谢大哥
我的意思是:
芯片的 SI 连 FLASH 的 SO , 还是 连 FLASH 的 SI ?
谢谢!
yangb2014# 2007-04-23
  • 打赏
  • 举报
回复
CS/SCK/SI/SO
youall 2007-04-23
  • 打赏
  • 举报
回复
谢谢 lbing7 大哥
http://bbs.21ic.com/club/bbs/bbsView.asp?boardid=8
请大哥帮我看看啊
谢谢!

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧