阅读:1509回复:3
关于spi的nSS信号
我用的是三星的2440,在用spi对外设进行配置时,用示波器观察输出波形,发现nSS信号始终是高电平,数据信号和始终信号的波形都是对的。 问下大家,这个nSS我们怎么控制?还是说2440配置位master后,nSS是cpu自动控制的?
PS:我现在的做法是将nSS脚配置成普通的io口,然后来模拟一个nSS信号。 |
|
沙发#
发布于:2007-12-25 17:10
还有一点,就是我是检查cpu的 Status寄存器来判断是否可以发送数据的。因此发送数据时是按照下面步骤
1 nSS拉低 2 检查寄存器,判断是否可以发送数据 3 可以发送数据,着王spidat写数据 4 检查寄存器,判断是否可以发送数据(说明数据已经发送完毕) 5 nSS拉高 奇怪的是,我用示波器看到 nSS总是在数据开始发送后就被我拉高了,并不是在8个时钟周期后才拉高的,但是我的程序是在检查 SPIDAT寄存器后才将nSS拉高的,如果不能采用这种判断方法,那么怎么样判断才合适呢? 其实真感觉自己模拟一下spi总线得了,但是这也感觉会占用比较多的系统资源 |
|
板凳#
发布于:2008-01-02 09:08
2440在作为主设备的时候需要将nSS对应的GPIO引脚设置为OUT方式,在2440做从设备的时候才需要设置为nSS功能。在传输数据之前手动将nSS对应的引脚设置为高电平,传输结束后再将nSS对应的引脚设置为低电平。
|
|
地板#
发布于:2008-01-02 16:39
同意樓上的,能把你的Code發出來,大家探討一下嗎!
|
|