数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 10069|回复: 133

[综合] 串行通信之SPI协议、IIC协议实践,点亮两个12864液晶屏/U盾

    [复制链接]
发表于 2022-9-14 16:32:13 | 显示全部楼层 |阅读模式
手头有两个什么行的U盾


拆之,试试能不能点亮

分两部分
************************************
第一部分,SPI通信的实践

一、先拆黑的


主板





元件




二、分析时序

简单看下屏的接口,有9个引脚根据电路可以确定几个脚


挂逻辑分析仪




当把U盾接入电脑时,电脑上是有弹窗,并有一个新的盘符逻辑分析仪采集的数据也较多


而只给U盾加电时,数据量少一些


各信号的特征


放大后具体对照一下


由图可知:00为DATA;01为SCK;02为D/C;03为RESET;04为SS。定义为


看一下时钟与数据的对应关系应该在时钟脉冲的后沿进行采样的,而且时钟为高是为空闲符合SPI的MODO3


这部分的内容可以看之前的一帖:学习一下常用的串行通信协议(UART/IIC/SPI)这个SPI协议是比较怪的,没有校验、没有应答,就好像从设备是个听话的小孩子让做什么就会做什么的回到正题,设置协议,
数据获取正确


试试改变SPI模式,都是错误数据



找到指令区



导出数据


整理


与常见的LCD指令比较


LCD应该使用了ST7565的主控
整体数据情况


看了一下ST7565手册中的时序,确实使用了MODO3


下面这个图是使用另一个逻辑分析仪



三、点亮

程序中使用了SPI库,并且使用模式3


再分析一下程序的时序


LCD初始化情况


确认使用MODO3


顺利点亮



四、12864屏的按页寻址

在屏的转换期间,可以拍到下图的情况


这是因为程序中使用了按页寻址的方式整体128*64的屏分为8页,每页码为128*8字模的16*16取的大概就是这样的


取模的方式为



Arduino使用SPI通信方式点亮ST7565为主控的LCD的程序:



**************************************


第二部分,IIC通信的实践

一、拆白色的屏


主板


主板背面


元件


屏接口


电池信息


屏线丝印


这个屏有7个引脚,除了电源和地,背光,还有3个引脚根据在路电路


估计屏使用的是IIC通信上逻辑分析仪


为什么要带着屏?这个也走了弯路,看了后面就明白了


二、分析时序

获取数据


信号特征


放大


配置协议


取得数据


从设备写地址


导出数据


分析数据


注意:每个指令前要发送0x80。就是说0x80后跟着一个字节的指令,而0x40后则跟着一直是数据。

指令情况,又是ST7565


屏的脚位定义



前面说要带屏取数据,是因为没有屏的时候,相当于没有从设备,没有应答会取不全数据的



三、修改库文件

1、确认屏的地址用程序扫描一下


屏的地址是0x3F
其写地址应该是0x7E


逻辑分析仪也能看出,只有0x7E有应答


2、修改ARDUINO的wire库文件写好程序,不能点亮屏,又用逻辑分析仪观察了一个数据


怎么会只写32个字节就停止了呢?
原来,在wire库中的空间分配有给了32个字节


相应的两个文件位置


修改为150个字节总够了吧


修改后的全局变量增加了不少



四、点亮

这回点亮了


使用IIC的好处是接线是比较少的


加个背光



Arduino使用IIC通信方式点亮ST7565为主控的LCD的程序:


谢谢观赏!!
祝坛友们快乐每一天!!


本帖子中包含更多资源

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

x

打赏

参与人数 25家元 +2420 收起 理由
闻太师 + 30
nokia5320 + 10
mydigit + 2000 恭喜获得原创文章热度奖励2000M.
lf8013 + 10 優秀文章
hxjxyz + 20 優秀文章
kyhwhb + 20 優秀文章
亚历山大 + 20
沙漠臭屁虫 + 20
亲爱的混蛋 + 20
ch104517745 + 20 原創內容

查看全部打赏

发表于 2024-8-16 17:26:28 | 显示全部楼层
牛,大神,羡慕你们的动手能力
回复 支持 反对

使用道具 举报

发表于 2024-8-16 16:25:37 | 显示全部楼层
ynymwtb 发表于 2024-8-13 14:22
能否介绍一下arduino用|2C驱动引脚如何接

还是没点亮,麻烦能祥细说一下引脚连接,谢谢!
回复 支持 反对

使用道具 举报

发表于 2024-8-13 14:22:28 | 显示全部楼层
能否介绍一下arduino用|2C驱动引脚如何接

补充内容 (2024-8-25 20:28):
要接上拉电阻吗?

打赏

参与人数 1家元 +6 收起 理由
jf201006 + 6 歡迎探討 UNO板是A4和A5脚

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2024-5-10 09:49:47 | 显示全部楼层
有工具还要会用,楼主高人!!!!!!!!!!!!!

打赏

参与人数 1家元 +6 收起 理由
jf201006 + 6 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2024-1-23 12:01:50 | 显示全部楼层
不错不错,楼主技术好呀!

打赏

参与人数 1家元 +6 收起 理由
jf201006 + 6 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-9-12 19:55:09 | 显示全部楼层
大神在此膜拜

打赏

参与人数 1家元 +6 收起 理由
jf201006 + 6 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-4-18 08:15:37 | 显示全部楼层
jf201006 发表于 2023-4-15 09:59
改源程序或加一个协议转换吧

谢大佬指教,我研究下您的文章,看看能不能捣鼓下~

打赏

参与人数 1家元 +6 收起 理由
jf201006 + 6 認真回帖

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-15 09:59:02 | 显示全部楼层
jude365 发表于 2023-3-21 13:29
还有,大佬有个问题不知道可否赏脸解答下,创新zen micro photo 是oled显示屏,但现在屏幕老化完全没显示 ...

改源程序或加一个协议转换吧
回复 支持 反对

使用道具 举报

发表于 2023-4-13 22:53:32 来自手机浏览器 | 显示全部楼层
厉害,哪天也买个逻辑分析仪学习一下。

打赏

参与人数 1家元 +4 收起 理由
jf201006 + 4 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-4-13 17:20:29 | 显示全部楼层

谢谢,大神的分享。很好的经验,知识科普了。

打赏

参与人数 1家元 +4 收起 理由
jf201006 + 4 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-4-12 18:46:49 | 显示全部楼层
高手啊,学都学不了

打赏

参与人数 1家元 +4 收起 理由
jf201006 + 4 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-4-12 16:29:15 | 显示全部楼层
这个太专业了

打赏

参与人数 1家元 +4 收起 理由
jf201006 + 4 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-3-26 09:55:20 来自手机浏览器 | 显示全部楼层
大神厉害啊,看得云里雾里。

打赏

参与人数 1家元 +4 收起 理由
jf201006 + 4 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-3-21 13:32:46 | 显示全部楼层
jf201006 发表于 2023-3-19 10:03
学习并行(Parallel)通信的两种协议,并实践点亮一个LCD(多图慎入)
https://www.mydigit.cn/forum.php ...

对了,根据数据手册知道所有线的定义,比如复位线 片选信号 使能信号  R/W读写控制 DB0~7
回复 支持 反对

使用道具 举报

发表于 2023-3-21 13:29:26 | 显示全部楼层
jf201006 发表于 2023-3-19 10:03
学习并行(Parallel)通信的两种协议,并实践点亮一个LCD(多图慎入)
https://www.mydigit.cn/forum.php ...

还有,大佬有个问题不知道可否赏脸解答下,创新zen micro photo 是oled显示屏,但现在屏幕老化完全没显示了,淘宝上也没屏卖,现在知道屏幕驱动芯片是 ssd1338u2的,有详细的数据手册,能否按照数据手册找个类似型号的屏幕代替呢?谢谢!

打赏

参与人数 1家元 +4 收起 理由
jf201006 + 4 歡迎探討

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-3-21 13:23:07 | 显示全部楼层
jf201006 发表于 2023-3-19 10:03
学习并行(Parallel)通信的两种协议,并实践点亮一个LCD(多图慎入)
https://www.mydigit.cn/forum.php ...

哇,大佬牛啊,好好拜读下~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-19 10:03:28 | 显示全部楼层
jude365 发表于 2023-2-17 20:15
期待楼主啥时候能搞个并口8080的

学习并行(Parallel)通信的两种协议,并实践点亮一个LCD(多图慎入)
https://www.mydigit.cn/forum.php ... &fromuid=940188
可以看看
回复 支持 反对

使用道具 举报

发表于 2023-3-2 20:28:27 | 显示全部楼层
楼主很厉害,技术一流,设备也不错。
第二台逻辑分析仪的软件从未见过,好像很先进的。

打赏

参与人数 1家元 +4 收起 理由
jf201006 + 4 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-2-17 20:15:35 | 显示全部楼层
期待楼主啥时候能搞个并口8080的

打赏

参与人数 1家元 +4 收起 理由
jf201006 + 4 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-2-17 18:26:49 | 显示全部楼层
第一次看见逻辑分析仪的应用,楼主一点卖关子都没有,这样分享,思路流畅,是在佩服

打赏

参与人数 1家元 +4 收起 理由
jf201006 + 4 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-19 19:20 , Processed in 0.358801 second(s), 16 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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