1987的一个人 发表于 2012-10-5 21:48:29

请问大神什么是模拟SPI

什么是模拟SPI,找不到具体的定义。有程序代码解释是更好的。还有就是自己能够定义一种通信协议来进行通信么

banye2010 发表于 2012-10-5 21:56:21

相对于数字SPI???

xinfa190 发表于 2012-10-5 22:10:22

你对比一下这几个概念,用I/O模拟SPI,I/O模拟I2C,I/O模拟UART……,可能就会更清楚了

xinfa190 发表于 2012-10-5 22:11:03

当然可以自己定义通信协议,如果两边都是你自己开发的

52robot 发表于 2012-10-5 22:44:56

3楼所言极是,楼主参考

lengshuicha 发表于 2012-10-5 23:33:23

普通I/O口弄成SPI口使用,这就叫模拟。

BXAK 发表于 2012-10-5 23:46:57

与外设SPI通信时,如果单片机没有硬件SPI接口, 可以用 普通IO模拟SPI时序 作单片机的软SPI接口

gaoyichuan000 发表于 2012-10-6 08:20:37

利用IO做成的模拟SPI 在没有模块的时候 通讯用

shudz 发表于 2012-10-6 09:29:10

如果单片机没有硬件SPI接口,可以用普通IO模拟SPI时序
一般模拟的相对慢一些

SilverBullet 发表于 2012-10-6 11:23:00

三楼正解,用普通IO口做SPI的工作

sunliezhi 发表于 2012-10-6 11:44:18

打个比如吧:
本来在市场有现成的充电器卖,买一个回来直接用即可;
你偏偏要自己做一个。

zgxcom123 发表于 2012-10-6 12:11:38

如果单片机自带SPI接口,那么发送和接收时,只需要给某个寄存器赋值即可,硬件会自动发送
发送期间CPU就可以继续处理其他任务

而如果不带SPI,就需要作者读懂SPI时序,利用IO口的高/低赋值,来实现符合SPI协议的时序
效果上来说没什么差别,但是软件模拟时序时,肯定会占用更多的系统资源,效率会降低

AVRTDK 发表于 2012-10-6 12:15:39

同意11楼

1987的一个人 发表于 2012-10-7 09:18:55

xinfa190 发表于 2012-10-5 22:11 static/image/common/back.gif
当然可以自己定义通信协议,如果两边都是你自己开发的

通信协议是需要产生一些文件么?还是自己心中定义的一种规则,不需要产生文件的

1987的一个人 发表于 2012-10-7 09:19:17

52robot 发表于 2012-10-5 22:44 static/image/common/back.gif
3楼所言极是,楼主参考

呵呵 谢谢

1987的一个人 发表于 2012-10-7 09:32:34

zgxcom123 发表于 2012-10-6 12:11 static/image/common/back.gif
如果单片机自带SPI接口,那么发送和接收时,只需要给某个寄存器赋值即可,硬件会自动发送
发送期间CPU就可 ...

请问下如果自带有SPI协议的话,就是相当于单片机已经把SPI打包成相当于一个带参数的函数了。只要设计好寄存器就可以了。如果没有的话,就要按SPI时序去写程序。是这样理解么?可是SPI通行里有定义有MISO,MOSI,SCLK,CS四根线。进行SPI模拟时单片机如何知道CS为低时时从机,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取等这些SPI协议的时序。如果进行两个单片机通信,这样定义的I/O口不是只有高低电平的变化么?

1987的一个人 发表于 2012-10-7 09:33:05

sunliezhi 发表于 2012-10-6 11:44 static/image/common/back.gif
打个比如吧:
本来在市场有现成的充电器卖,买一个回来直接用即可;
你偏偏要自己做一个。 ...

呵呵很形象

zgxcom123 发表于 2012-10-7 12:32:35

1987的一个人 发表于 2012-10-7 09:32 static/image/common/back.gif
请问下如果自带有SPI协议的话,就是相当于单片机已经把SPI打包成相当于一个带参数的函数了。只要设计好寄 ...

1、这样理解是可以的
2、如果是硬件SPI,那么会有不同的配置寄存器以应对不同的需求(比如主机从机,上升下降沿等(本人SPI方面做的不是很多,但可以保证的是,只要是标准SPI包含的可能,硬件SPI都会有相应设置的)); 而如果是软件SPI,就取决于作者的程序编写了……

1987的一个人 发表于 2012-10-7 15:06:44

zgxcom123 发表于 2012-10-7 12:32 static/image/common/back.gif
1、这样理解是可以的
2、如果是硬件SPI,那么会有不同的配置寄存器以应对不同的需求(比如主机从机,上升 ...

嗯 好的,谢谢!

xyz543 发表于 2012-10-7 15:55:45

提供一个 C51 的模拟 SPI.C 例程给楼主参考 : http://read.pudn.com/downloads33/sourcecode/embed/105552/spi0.c__.htm

1987的一个人 发表于 2012-10-10 15:53:43

xyz543 发表于 2012-10-7 15:55 static/image/common/back.gif
提供一个 C51 的模拟 SPI.C 例程给楼主参考 : http://read.pudn.com/downloads33/sourcecode/embed/105552/ ...

好的 谢谢!

Andrewz 发表于 2013-7-23 22:24:59

看了资料才知道SPI有四种模式.这么多模式...干脆自己模拟SPI算了.
页: [1]
查看完整版本: 请问大神什么是模拟SPI