搜索
bottom↓
回复: 21

请问大神什么是模拟SPI

[复制链接]

出0入0汤圆

发表于 2012-10-5 21:48:29 | 显示全部楼层 |阅读模式
什么是模拟SPI,找不到具体的定义。有程序代码解释是更好的。还有就是自己能够定义一种通信协议来进行通信么

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-10-5 21:56:21 | 显示全部楼层
相对于数字SPI???

出0入0汤圆

发表于 2012-10-5 22:10:22 | 显示全部楼层
你对比一下这几个概念,用I/O模拟SPI,I/O模拟I2C,I/O模拟UART……,可能就会更清楚了

出0入0汤圆

发表于 2012-10-5 22:11:03 | 显示全部楼层
当然可以自己定义通信协议,如果两边都是你自己开发的

出0入0汤圆

发表于 2012-10-5 22:44:56 | 显示全部楼层
3楼所言极是,楼主参考

出0入0汤圆

发表于 2012-10-5 23:33:23 | 显示全部楼层
普通I/O口弄成SPI口使用,这就叫模拟。

出0入0汤圆

发表于 2012-10-5 23:46:57 | 显示全部楼层
与外设SPI通信时,如果单片机没有硬件SPI接口, 可以用 普通IO模拟SPI时序 作单片机的软SPI接口

出0入0汤圆

发表于 2012-10-6 08:20:37 来自手机 | 显示全部楼层
利用IO做成的模拟SPI 在没有模块的时候 通讯用

出0入0汤圆

发表于 2012-10-6 09:29:10 | 显示全部楼层
如果单片机没有硬件SPI接口,可以用普通IO模拟SPI时序
一般模拟的相对慢一些

出0入0汤圆

发表于 2012-10-6 11:23:00 | 显示全部楼层
三楼正解,用普通IO口做SPI的工作

出0入4汤圆

发表于 2012-10-6 11:44:18 | 显示全部楼层
打个比如吧:
本来在市场有现成的充电器卖,买一个回来直接用即可;
你偏偏要自己做一个。

出0入0汤圆

发表于 2012-10-6 12:11:38 | 显示全部楼层
如果单片机自带SPI接口,那么发送和接收时,只需要给某个寄存器赋值即可,硬件会自动发送
发送期间CPU就可以继续处理其他任务

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

出0入0汤圆

发表于 2012-10-6 12:15:39 来自手机 | 显示全部楼层
同意11楼

出0入0汤圆

 楼主| 发表于 2012-10-7 09:18:55 | 显示全部楼层
xinfa190 发表于 2012-10-5 22:11
当然可以自己定义通信协议,如果两边都是你自己开发的

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

出0入0汤圆

 楼主| 发表于 2012-10-7 09:19:17 | 显示全部楼层
52robot 发表于 2012-10-5 22:44
3楼所言极是,楼主参考

呵呵 谢谢

出0入0汤圆

 楼主| 发表于 2012-10-7 09:32:34 | 显示全部楼层
zgxcom123 发表于 2012-10-6 12:11
如果单片机自带SPI接口,那么发送和接收时,只需要给某个寄存器赋值即可,硬件会自动发送
发送期间CPU就可 ...

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

出0入0汤圆

 楼主| 发表于 2012-10-7 09:33:05 | 显示全部楼层
sunliezhi 发表于 2012-10-6 11:44
打个比如吧:
本来在市场有现成的充电器卖,买一个回来直接用即可;
你偏偏要自己做一个。 ...

呵呵很形象

出0入0汤圆

发表于 2012-10-7 12:32:35 | 显示全部楼层
1987的一个人 发表于 2012-10-7 09:32
请问下如果自带有SPI协议的话,就是相当于单片机已经把SPI打包成相当于一个带参数的函数了。只要设计好寄 ...

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

出0入0汤圆

 楼主| 发表于 2012-10-7 15:06:44 | 显示全部楼层
zgxcom123 发表于 2012-10-7 12:32
1、这样理解是可以的
2、如果是硬件SPI,那么会有不同的配置寄存器以应对不同的需求(比如主机从机,上升 ...

嗯 好的,谢谢!

出0入34汤圆

发表于 2012-10-7 15:55:45 | 显示全部楼层
提供一个 C51 的模拟 SPI.C 例程给楼主参考 : http://read.pudn.com/downloads33 ... 105552/spi0.c__.htm

出0入0汤圆

 楼主| 发表于 2012-10-10 15:53:43 | 显示全部楼层
xyz543 发表于 2012-10-7 15:55
提供一个 C51 的模拟 SPI.C 例程给楼主参考 : http://read.pudn.com/downloads33/sourcecode/embed/105552/ ...

好的 谢谢!

出35入0汤圆

发表于 2013-7-23 22:24:59 | 显示全部楼层
看了资料才知道SPI有四种模式.这么多模式...干脆自己模拟SPI算了.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 16:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表