这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » SPI总线求解惑

共17条 1/2 1 2 跳转至

SPI总线求解惑

助工
2013-05-08 15:29:11     打赏

本人最近在做一个ARM9处理器和射频芯片通信的工作,使用的是SPI接口通信。

硬件模块:处理器S3C2410(ARM9)+CC2420(射频模块),射频模块是买的。

本人在网上看到一些大大们贴的代码,但是很多都没有看懂。

现在又一些困惑,主要是对SPI的一些理解:

我觉得有两种方法可以用:

1、我用ARM上的SPI接口的资源,使用本身提供的GPIO功能引脚SCLK,MISO,MOSI

2、使用其他的GPIO来模拟

现在我使用的是第一种:

我将ARM上的SPI资源(SCLK0(时钟线),MOSI0(主出从入),MISO0(主入从出))这三个引脚用杜邦线引出来,我按照S3C2410的手册上的配置,CPOL=0,CPHL=0。会有一种对应的时序。我的问题是,是不是我将SPI模块相应的寄存器配置好后,将SCLK电平置高后,这三根线就会自动有相应的时序,还是说还是要由我来按照这个时序图来写程序,由我写的程序来配置出这样的时序图。

 




关键词: 总线     解惑    

助工
2013-05-08 15:35:06     打赏
2楼

有没有哪位大大有相关的程序和笔记供学习

我现在看英文的资料看的很吃力


院士
2013-05-08 15:37:38     打赏
3楼

“CPOL=0,CPHL=0”这个是配置SPI工作模式的。

关于时序的问题:只需要往相关的发送寄存器写数据即可。时钟线的波形与mosi的波形是硬件自动实现的。

例如输出0x55,硬件自动识别,如果现在发送空闲则启动发送,然后,按照工作模式,或在上升沿输出数据等


话说我们的方案也是使用三星的



院士
2013-05-08 15:38:38     打赏
4楼

这个百度一下应该有吧~~

貌似三星的产品资料很少的。



助工
2013-05-08 15:54:38     打赏
5楼
 

 “时钟线的波形与mosi的波形是硬件自动实现的。这句我可以这样理解吗?

我配置CPOL=0CPHL=0,这种SPI工作模式,这种模式对应一种时序。我将SPI模块的所有寄存器配置好后,上电就会由硬件自动产生这种时序。

 

 


院士
2013-05-08 15:56:38     打赏
6楼
对,但是不发送数据,肯定处于空闲状态。

工程师
2013-05-08 15:58:16     打赏
7楼

怎么没看到CS信号?

 

你要是用芯片自带的硬件SPI接口,那就很简单,往发送寄存器写数据就行,读也是读取相应的寄存器。你要是用IO来模拟SPI接口才需要按照SPI协议要求的时序来实现

 


助工
2013-05-08 18:25:00     打赏
8楼

1、你说的空闲状态时什么意思

   2、我将SPI模块的寄存器配置好后,上电运行,用示波器打SCK MOSIMISO

的引脚,都没有波形,是不是我没有发送数据或者接受数据的时候没有波形


助工
2013-05-08 18:28:43     打赏
9楼
 

片选(CS)的话我用一个IO模拟就可以了。 

我是想先测试SPI模块,也就是我先按照手册上把SPI模块的寄存器配置好,再用示波器打SCLKMOSIMISO引脚,看是不是有波形。

但是我下午配置好寄存器后,用示波器打却看不到波形。


高工
2013-05-08 18:45:46     打赏
10楼
需要要发送数据

共17条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]