数码之家

 找回密码
 立即注册
搜索
查看: 1780|回复: 23

[C51] STC的SPI真是个奇怪的设计

[复制链接]
发表于 2023-5-2 20:12:54 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
    用STC8H8K64U控制TM1640驱动数码管显示,虽然TM1640通讯既不是SPI也不是I2C,但是想用软件产生Start、Stop加硬件SPI方式控制TM1640,试后发现STC的SPI居然在时钟高电平改变数据,试过所有CPOL、CPHA组合都无法实现想要的时序。
TM1640通讯时序
TM1640时序图.png

STC SPI
STC_SPI-CPOL=0_CPHA=0.png STC_SPI-CPOL=0_CPHA=1.png STC_SPI-CPOL=1_CPHA=0.png STC_SPI-CPOL=1_CPHA=1.png

其它芯片的SPI
非STC-SPI.png


发表于 2023-5-2 20:37:32 | 显示全部楼层
应该可以 时钟变低/出数据,时钟变高/外设读走数据,你可能要去 www.STCAIMCU.com 官网问
回复 支持 反对

使用道具 举报

发表于 2023-5-2 20:57:43 | 显示全部楼层
本帖最后由 inthsunshine 于 2023-5-3 10:09 编辑

没看出什么问题,stc的CPOL CPOA四种组合也没有问题啊

最后2张图是一个意思,第1个CLK边沿数据有效, 只不过STC CPOA的定义和STM32刚好相反
回复 支持 反对

使用道具 举报

发表于 2023-5-2 20:58:16 | 显示全部楼层
逻辑分析仪什么型号的,软件是什么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-2 21:36:06 | 显示全部楼层
zeruns 发表于 2023-5-2 20:58
逻辑分析仪什么型号的,软件是什么

青岛金沙滩的LA5016,软件是Kingst VIS。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-2 21:37:27 | 显示全部楼层
inthsunshine 发表于 2023-5-2 20:57
没看出什么问题,stc的CPOL CPOA四种组合也没有问题啊

最后2个是一个意思,第1个CLK边沿数据改变(捕获),  ...

没说有问题,是说它们的SPI和其它家的不一样,而且设计很奇怪。
回复 支持 反对

使用道具 举报

发表于 2023-5-2 22:18:06 | 显示全部楼层
看上去很神奇
回复 支持 反对

使用道具 举报

发表于 2023-5-3 02:51:16 | 显示全部楼层
多找找自己的问题,之前用过天微公司的芯片,同样是用的SPI接口驱动,一样稳定工作。STC再怎么垃圾,不会连基本的SPI接口都做不好,不用去怀疑别人。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-3 09:57:48 来自手机浏览器 | 显示全部楼层
深山老妖 发表于 2023-5-3 02:51
多找找自己的问题,之前用过天微公司的芯片,同样是用的SPI接口驱动,一样稳定工作。STC再怎么垃圾,不会连 ...

看清楚我说的是什么了吗?
回复 支持 反对

使用道具 举报

发表于 2023-5-3 10:08:27 | 显示全部楼层
逻辑分析仪有时候看不出问题,IO变化速度快了相当于是个斜边,逻辑分析仪只判断高低电平,出发位置会有偏差,可以降低SPI速度先试一试
回复 支持 反对

使用道具 举报

发表于 2023-5-3 10:25:21 | 显示全部楼层
image.png

image.png
回复 支持 反对

使用道具 举报

发表于 2023-5-3 18:13:24 | 显示全部楼层

我不需要看你的问题,因为我用STC的单片机驱动过TM1620,虽然没有比较两款的驱动,估计也不会差别多远,我的这个产品是用在工业场合,一直工作的很稳定,所以你不用去怀疑,从自已身上找问题。
回复 支持 反对

使用道具 举报

发表于 2023-5-3 18:23:29 | 显示全部楼层
刚刚看了一下TM1640的数据手册,这个玩意最好不要用芯片自带的SPI接口去驱动,最后是用模拟SPI去搞,再一个问题,时钟频率不能高于1Mhz.
回复 支持 反对

使用道具 举报

发表于 2023-5-3 19:06:35 | 显示全部楼层
这个不能用标准的SPI接口去写,这个必须要用普通的IO去模拟,注意数据手册里接口部分所描述的:start,end start,end,这个接口不是标准的SPI接口,而是两线串行接口,但又不同于IIC接口。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-3 20:02:00 来自手机浏览器 | 显示全部楼层
深山老妖 发表于 2023-5-3 18:13
我不需要看你的问题,因为我用STC的单片机驱动过TM1620,虽然没有比较两款的驱动,估计也不会差别多远, ...

你完全不看我在说什么,如果你的眼睛真的很宝贵,我简要说一下:TM1640没问题,STC SPI没问题,但与其它家的不一样,仅此而已。
回复 支持 反对

使用道具 举报

发表于 2023-5-3 21:49:10 | 显示全部楼层
mmxx2015 发表于 2023-5-3 20:02
你完全不看我在说什么,如果你的眼睛真的很宝贵,我简要说一下:TM1640没问题,STC SPI没问题,但与其它 ...

你想驱动TM1640,无论你用哪家芯片内置的SPI都不行,不信你可以去试试,必须要用IO口去模拟,开始确实没有仔细看。网上能够找到驱驱动例程,自己去找找吧。
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2023-5-4 10:38:17 | 显示全部楼层
本帖最后由 疯狂的兔子来了 于 2023-5-4 10:42 编辑

SPI驱动TFT彩屏,很多客户自己设计分享的图片如下:
1.STC8H8K64U,使用硬件SPI驱动TFT屏幕:
QDIKY_KZD%4{51P`2EX5]11.jpg
2.开天斧,硬件SPI驱动三线SPI_TFT屏:
FEOPJ]M}$)DQ0YWRRTRY}{N_tmb.jpg

3.基于STC32G12K128的SPI_DMA功能,驱动TFT彩屏:
C$D@6{51CS2[ULA}BN((L53_tmb.jpg
官网STCAIMCU有范例,欢迎大家下载测试。

回复 支持 反对

使用道具 举报

发表于 2023-5-4 11:05:24 来自手机浏览器 | 显示全部楼层
疯狂的兔子来了 发表于 2023-5-4 10:38
SPI驱动TFT彩屏,很多客户自己设计分享的图片如下:
1.STC8H8K64U,使用硬件SPI驱动TFT屏幕:


你这个发新帖啊。
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2023-5-4 13:27:52 | 显示全部楼层
kpj001 发表于 2023-5-4 11:05
你这个发新帖啊。

https://www.mydigit.cn/thread-385476-1-1.html  已经在本论坛,单独发帖,附件有范例,可以参考下!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-5 01:37:19 | 显示全部楼层
本帖最后由 mmxx2015 于 2023-5-5 09:27 编辑
深山老妖 发表于 2023-5-3 21:49
你想驱动TM1640,无论你用哪家芯片内置的SPI都不行,不信你可以去试试,必须要用IO口去模拟,开始确实没 ...

已经搞定,在CLK加RC把CLK高电平时间砍掉一小段就行了。下图RC的值不一定是最佳值,只是手上有这个参数的物料,逻辑分析仪采集的时间也不一定很准。
硬件SPI驱动TM1640-1.png
硬件SPI驱动TM1640-2.png
硬件SPI驱动TM1640-3.png

TM1640_SPI_RC.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-18 18:27 , Processed in 0.265201 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

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