找回密码
 立即注册
楼主: 13918210822

IO模拟一种2线接口(类似I2C, 但略有不同),请问一个细节如何实现为好

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-03-10 16:08:45

6

主题

131

回帖

666

积分

高级会员

积分
666
发表于 2023-12-13 12:04:06 | 显示全部楼层
神*** 发表于 2023-12-13 12:00
I/O的速度最快 20MHz ~ 30MHz

这个速度应该不是程序跑出来的, 应该是直接硬件电路跑出来的。

点评

硬件SPI, 系统时钟/2, 可以看到这个速度 [attachimg]29484[/attachimg] 内部STC32G12K128 经常跑 17.5M-SPI  详情 回复 发表于 2023-12-13 12:22
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15632
发表于 2023-12-13 12:22:01 | 显示全部楼层
139182*** 发表于 2023-12-13 12:04
这个速度应该不是程序跑出来的, 应该是直接硬件电路跑出来的。
硬件SPI, 系统时钟/2, 可以看到这个速度
截图202312131220393699.jpg

内部STC32G12K128 经常跑 17.5M-SPI

截图202312131226044204.jpg


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15632
发表于 2023-12-13 12:23:27 | 显示全部楼层
程序你 直接  CPL P3.4; NOP 循坏,跑个10M
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-03-10 16:08:45

6

主题

131

回帖

666

积分

高级会员

积分
666
发表于 2023-12-13 12:24:03 | 显示全部楼层
神*** 发表于 2023-12-12 11:10
STC32F12K54建议最高主频跑 52MHz 以下
STC32F12K54, 由于 iCache的关系,时钟如在 18MHz ~ 52MHz, 都将 WT ...

如果.13~.18微米工艺,CSIC做到200M+, 那么这个设计能力就很不错了。
期待~

你们底层工具链也有机会国产化或者国产联盟么?

点评

估计本坛有大侠在移植 GCC 或 SDCC中  详情 回复 发表于 2023-12-13 12:27
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15632
发表于 2023-12-13 12:27:23 | 显示全部楼层
139182*** 发表于 2023-12-13 12:24
如果.13~.18微米工艺,CSIC做到200M+, 那么这个设计能力就很不错了。
期待~

估计本坛有大侠在移植 GCC 或 SDCC中
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-03-10 16:08:45

6

主题

131

回帖

666

积分

高级会员

积分
666
发表于 2023-12-13 15:46:40 | 显示全部楼层
本帖最后由 13918210822 于 2023-12-13 15:54 编辑
zxcv*** 发表于 2023-12-13 10:58
把P45 ^= 1改为P45 = ~P45
感谢zxcv1973的准确指点!
主频56M, WTST=1情况下:
SETSMCK:
        CPL      P45
; line 103: //        P45 ^= 1;
; line 104:     P45 = ~P45;   
; line 105: //        _nop_();
; line 106: //        _nop_();
; line 107: //        _nop_();
; line 108: //        _nop_();
; line 109:         goto SETSMCK;
        SJMP     SETSMCK

基本满足要求, 后面会用程序长度换取效率。把多位读写用顺序而不用跳转。把SJMP时间节约出来,作读写SDA.
这样可以跑到5M以上。

但用程序,10M应该是跑不到的。
也谢谢神农鼎的原厂技术支持,虽然有一点点夸自己产品的感觉:)

这部分GPIO SMI1829A接口驱动, 我写完并测试完成后,会发出来供有相似需求的同行参考指正。

输出波形

输出波形
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-03-10 16:08:45

6

主题

131

回帖

666

积分

高级会员

积分
666
发表于 2023-12-13 16:17:58 | 显示全部楼层
社区*** 发表于 2023-12-13 10:45
2019年时,我用刚刚出来的stc8h1k08做类似案子,IO口模拟SPI,4MHZ完成通信。使用32MHZ外部晶振。
现在ST ...

我现在明白你的意思, 有效频率STC8H比STC32F高,所以,同样外围情况下。
STC8H比STC32F 有效程序驱动IO的频率更高。

谢谢指点
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:515
  • 最近打卡:2025-05-03 05:51:43

24

主题

515

回帖

994

积分

荣誉版主

积分
994
发表于 2023-12-13 16:40:32 | 显示全部楼层
139182*** 发表于 2023-12-13 16:17
我现在明白你的意思, 有效频率STC8H比STC32F高,所以,同样外围情况下。
STC8H比STC32F 有效程序驱动IO ...

客气了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15632
发表于 2023-12-13 20:49:29 | 显示全部楼层
如果要小量生产, 【STC32G12K54 跑 52MHz, WTST=1】
如果大批量生产,STC32G8K64-42MHz, 可能更合适,无 iCache

截图202312132050196540.jpg


回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-03-10 16:08:45

6

主题

131

回帖

666

积分

高级会员

积分
666
发表于 2023-12-14 09:53:40 | 显示全部楼层
神*** 发表于 2023-12-13 20:49
如果要小量生产, 【STC32G12K54 跑 52MHz, WTST=1】
如果大批量生产,STC32G8K64-42MHz, 可能更合适,无 i ...

有道理,果然原厂最清楚选型
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 08:08 , Processed in 0.152759 second(s), 112 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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