fishly_0
驱动小牛
驱动小牛
  • 注册日期2005-09-10
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望466点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
阅读:1509回复:3

关于spi的nSS信号

楼主#
更多 发布于:2007-12-25 17:01
我用的是三星的2440,在用spi对外设进行配置时,用示波器观察输出波形,发现nSS信号始终是高电平,数据信号和始终信号的波形都是对的。 问下大家,这个nSS我们怎么控制?还是说2440配置位master后,nSS是cpu自动控制的?
PS:我现在的做法是将nSS脚配置成普通的io口,然后来模拟一个nSS信号。
fishly_0
驱动小牛
驱动小牛
  • 注册日期2005-09-10
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望466点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-12-25 17:10
还有一点,就是我是检查cpu的 Status寄存器来判断是否可以发送数据的。因此发送数据时是按照下面步骤
 1    nSS拉低
 2  检查寄存器,判断是否可以发送数据
 3  可以发送数据,着王spidat写数据
 4    检查寄存器,判断是否可以发送数据(说明数据已经发送完毕)
 5    nSS拉高
奇怪的是,我用示波器看到 nSS总是在数据开始发送后就被我拉高了,并不是在8个时钟周期后才拉高的,但是我的程序是在检查 SPIDAT寄存器后才将nSS拉高的,如果不能采用这种判断方法,那么怎么样判断才合适呢?    

其实真感觉自己模拟一下spi总线得了,但是这也感觉会占用比较多的系统资源
chjw_ch
驱动牛犊
驱动牛犊
  • 注册日期2002-02-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分161分
  • 威望27点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-01-02 09:08
2440在作为主设备的时候需要将nSS对应的GPIO引脚设置为OUT方式,在2440做从设备的时候才需要设置为nSS功能。在传输数据之前手动将nSS对应的引脚设置为高电平,传输结束后再将nSS对应的引脚设置为低电平。
fengtao0797
驱动牛犊
驱动牛犊
  • 注册日期2005-10-21
  • 最后登录2011-04-25
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望39点
  • 贡献值0点
  • 好评度25点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-01-02 16:39
同意樓上的,能把你的Code發出來,大家探討一下嗎!
游客

返回顶部