您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> 请问如何如何利用BF609的硬件自动片选功能?... 
本帖共有526个阅读者
发表帖子 发表投票 回复主题
请问如何如何利用BF609的硬件自动片选功能?
dreamfly(论坛新手)
dreamfly
头衔:社区公民
帮派:无帮无派
帖数:26
金钱:25
积分:37
注册时间:2013/8/4
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
请问如何如何利用BF609的硬件自动片选功能?

BF609的的SPI控制器存在参数ASSEL,当=0 代表Software Slave select control,当=1代表Hardware Slave select control,

而实际上配置一些参数之后在利用硬件片选时仍然无法正常的SPI读写,

请问在不通过软件片选情况下如何成功实现SPI操作?


做正常的事,一次性把事情做对
等级:论坛新手 参考IP地址:*.*.*.*
2014/12/1 10:10:21
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

你可以用示波器测量一下,看是否会自己产生片选信号。

SPI能否读写硬件成功,和其是否自动片选没有任何关系,主要是看SPI时序是否和硬件匹配上。

你首先需要看你的SPI设备的时序,主要注意:时钟默认时电平高低,数据采样时,是上升沿采样还是下降沿采样。数据接收时是哪种时钟沿采样。片选是发送一个数据就拉高,还是整个命令期间始终保持低。时钟最大频率多少。送入命令后,数据是以何种方式返回的。

写个发送命令,看看时序是否和你的设备匹配好。

SPI接收数据需要注意,接收数据时,先发送命令,此时不会有任何数据返回,再次发送数据时,命令才会返回。所以接收数据需要在SPI发送数据后读取FIFO(需要发送数据产生的时钟来收数据到FIFO),不能不发数据只读FIFO,所以SPI接收到的数据会比命令晚一个周期。




这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2014/12/3 22:35:27
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159279 Call, 1 Queries, Processed in 0.031250 second(s),