社区
Linux_Kernel
帖子详情
SPI 时钟问题
mercyzx
2010-07-18 08:55:47
大家好,我用的是omap3530,使用linux2.6内核的自带的omap2_mcspi.c和spidev.c来作为SPI的驱动,在omap2_mcspi.c中添加了引脚复用,也修改了board-omap3beagle.c。开机之后,能在系统中找到我的设备节点,发送数据时有片选信号,但是时钟始终没有(数据我是循环一直发送的),如果不添加复用,连片选都没有。SPI的各个寄存器的配置我检查了,跟手册上一致都没问题,或者还是配置的不对?困扰了我半个月了!谢谢那位能指点一二呀!
...全文
318
2
打赏
收藏
SPI 时钟问题
大家好,我用的是omap3530,使用linux2.6内核的自带的omap2_mcspi.c和spidev.c来作为SPI的驱动,在omap2_mcspi.c中添加了引脚复用,也修改了board-omap3beagle.c。开机之后,能在系统中找到我的设备节点,发送数据时有片选信号,但是时钟始终没有(数据我是循环一直发送的),如果不添加复用,连片选都没有。SPI的各个寄存器的配置我检查了,跟手册上一致都没问题,或者还是配置的不对?困扰了我半个月了!谢谢那位能指点一二呀!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yxqlf
2010-09-02
打赏
举报
回复
说得对,我也在搞SPI,时钟也没有出来,只有往SPI数据寄存器写数据才有时钟信号
tgvlcw
2010-07-30
打赏
举报
回复
我SPI也搞了将近一个月,公司用的是6410的,在不行你先用GPIO口模拟,看看是不是硬件问题,如果可用,就使用控制器的,先不用SPI子系统里的程序,自己先写一个字符设备的驱动,如果可以了,最后在来研究SPI子系统。反正只要能实现数据的收发,你管它用的是不是子系统呢?但研究一下子系统还是比较有好处的,SPI子系统算是内核里比较简单的了的吧!我当时弄了一个月,到最后发现根本不是什么时钟的问题,就是寄存器没设备正确。
按这个顺序楼主应该能做出来的,GPIO模拟-->字符设备驱动-->使用子系统。
STM32
SPI
时钟
问题
STM32中有
SPI
1/2/3,关于
SPI
的
时钟
问题
,要具体看是
SPI
1还是
SPI
2/3。
SPI
1
时钟
由APB2
时钟
分频而来,而
SPI
2/3
时钟
由APB2
时钟
分频而来。 APB1的最高频率是36MHz,APB2的最高频率是72MHz,而PCLK1和PCLK2一般也默认配置为其最高工作频率36M和72M,详参
时钟
树。
SPI
1
时钟
由APB2
时钟
分频而来,可以选择2
为什么
spi
通信需要
时钟
为什么
spi
通信需要
时钟
? 因为数据的发送的时刻和数据接收的时刻需要 同步,假如主机数据发送实在12点零一分,而从机接受数据在12点零二分,那从机还接收个屁,主机早就发送完了,从机连个屁都接收不到。 而异步通信就不需要用
时钟
来同步接收, 这篇文章讲解了CHPA CPOL的概念以及数据发送的时刻和数据采样的时刻 我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《
SPI
接口通信协议详解:
SPI
时序、2线、3线、4线
SPI
及4种常用工作模式》, 一起来围观吧 https://blog.csdn.
关于STM32f103
SPI
时钟
速度的
问题
STM32f103 中APB1的最高频率是36MHz,APB2的最高频率是72MHz,而PCLK1和PCLK2一般也默认配置为其最高工作频率36M和72M。如下图(STM32F10xx_参考手册(第7版) 第46页)
时钟
树所示:
SPI
1
时钟
由APB2
时钟
分频而来,可以选择2、4、8、16、32、64、128、256这几个分频系数。而手册规定STM32的
SPI
时钟
最...
STM32L431之
SPI
时钟
过高导致无法通信
现象:
SPI
的clock为2Mhz时通信正常,如果是4Mhz甚至更高则无法通信。卡死在 while (0 == (
SPI
1->SR &
SPI
_SR_TXE)); 通过逻辑分析仪查看
时钟
时发现写数据时只出现4个
时钟
脉冲,后续一直为高。 如果查看
SPI
时钟
频率2Mhz时的
时钟
如下图所示 可以发现第一个
时钟
的占空比还算正常,后续的占空比逐渐增加,到第八个
时钟
时已经达到88%。原因原理图上,S
STM32的
SPI
时钟
1)fPCLK不是CPU频率,而是外设总线的频率。 2)STM32的
SPI
时钟
最快是18MHz,这是芯片设计时决定的。 3)STM32的
SPI
1在APB2上,
SPI
2和
SPI
3在APB1上,APB1的最高频率是36MHz,APB2的最高频率是72MHz;因此,为了不超过最高18MHz的设计要求,配置
SPI
2和
SPI
3时可以使用fPCLK/2的选项,而配置
SPI
1时则不能使用fPCLK/2的选项。...
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章