完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本文主要讲解kinetis L系列中SPI通信的单线双向通信功能,并使用KL25为例讲解如何配置,代码实现,硬件连接以及实验结果。所谓单线双向通信,并不是指整个SPI通信只使用一根线,而是不同于通常的SPI通信四根线,使用SCK(时钟信号),PCS(片选信号),MOSI(数据信号主出从入),MISO(数据信号主入从出)。单线通信不使用两根数据线,只使用一根数据线,对于主机MOMI;对于从机SISO。所以,这里的单线应该理解为单数据线。 图 1 正常模式以及双向模式 由上图可以知道,单线模式是通过置位 SPI 控制寄存器 2 中的 SPC0 位 :SPIx_C2[SPC0] =1 实现。 此时,对于主机,不再同时使用 MOSI 以及 MISO 两个引脚,这时 MOSI 充当了 MOMI 主机数据线;对于从机,同样不再使用 MOSI 以及MISO 两个引脚,这时 MISO 引脚充当了 SISO 从机数据线。要实现 SPI 的单线双向通信,只要把主机的 MOMI 以及 SISO 引脚相连,实现数据的通信,其余的 SCK 以及 PCS 信号和正常模式一样。另外,如果要实现单线通信的输出功能,需要通过置位 SPIx_C2[BIDIROE]位实现,输入则无需配置。同一时刻,对于主从机,只有一个输入一个输出,不可以同时配置为输出,即把主从机的 SPIx_C2[BIDIROE]位都置上。 二,硬件连接 本文使用 FRDM-KL25 开发板的 SPI0 以及 SPI1 两个 SPI 模块实现相互的单线双向通信。具体的硬件连接如下图所示: 图 2 实验硬件连接 三、代码实现 1、端口配置 实现 SPI0,SPI1 相关引脚的定义,以及模块时钟开启,代码如下:
2:模块单线双向配置 配置 SPI0 为主机,SPI1 为从机,两个模块均为单线双向功能,初始配置为MOMI 引脚为主机输出,SISO 引脚为从机输入。模块初始化代码配置如下:
3:主控程序
四,实验结果 1,SPI 波形 波形见图 3,其中 MOSI 即为 MOMI 以及 SISO 单数据线上面的波形。Clock 即为时钟线,Enable 即为 PCS 片选信号线。从图中可以看到,主从机之间的通信数据均在单数据线上。0X0E 及 0X1E 是 SPI0 作为主机发出的,后面的 0X01 开始的递增数据均为 SPI1 作为从机发出的。 图 3 SPI 通信波形 2,通信数据打印信息 图 4 打印结果信息 从上图中可以看到,SPI0 作为主机发出的 0X0E以及 0X1E 都能被 SPI1 从机接收到。 而 SPI1 作为从机发出的从 0X01 递增的数据也均被 SPI0 作为主机接收到。 综上,可以看到,SPI0 以及 SPI1 可以实现单线双向功能的通信。
【经验分享】KL系列SPI主从通信之单线双向通信.pdf
(365.5 KB, 下载次数: 93
)
KL_SPI_bidirectional_doc.rar
(816.25 KB, 下载次数: 89
)
|
|
相关推荐
|
|
不错。。。。。。。。。。。。。。。。。。。。。
|
|
|
|
|
|
赞!!!!!!
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1905个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36355 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4392 浏览 0 评论
6044 浏览 1 评论
6760 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4209 浏览 0 评论
618浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
613浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
603浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
693浏览 2评论
792浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 00:44 , Processed in 1.184743 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号