13918210822 发表于 2023-12-13 12:04:06

神农鼎 发表于 2023-12-13 12:00
I/O的速度最快 20MHz ~ 30MHz

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

神农鼎 发表于 2023-12-13 12:22:01

13918210822 发表于 2023-12-13 12:04
这个速度应该不是程序跑出来的, 应该是直接硬件电路跑出来的。硬件SPI, 系统时钟/2, 可以看到这个速度


内部STC32G12K128 经常跑 17.5M-SPI




神农鼎 发表于 2023-12-13 12:23:27

程序你 直接CPL P3.4; NOP 循坏,跑个10M

13918210822 发表于 2023-12-13 12:24:03

神农鼎 发表于 2023-12-12 11:10
STC32F12K54建议最高主频跑 52MHz 以下
STC32F12K54, 由于 iCache的关系,时钟如在 18MHz ~ 52MHz, 都将 WT ...

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

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

神农鼎 发表于 2023-12-13 12:27:23

13918210822 发表于 2023-12-13 12:24
如果.13~.18微米工艺,CSIC做到200M+, 那么这个设计能力就很不错了。
期待~



估计本坛有大侠在移植 GCC 或 SDCC中

13918210822 发表于 2023-12-13 15:46:40

本帖最后由 13918210822 于 2023-12-13 15:54 编辑

zxcv1973 发表于 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接口驱动, 我写完并测试完成后,会发出来供有相似需求的同行参考指正。

13918210822 发表于 2023-12-13 16:17:58

社区闲人 发表于 2023-12-13 10:45
2019年时,我用刚刚出来的stc8h1k08做类似案子,IO口模拟SPI,4MHZ完成通信。使用32MHZ外部晶振。
现在ST ...

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

谢谢指点{:4_250:}

社区闲人 发表于 2023-12-13 16:40:32

13918210822 发表于 2023-12-13 16:17
我现在明白你的意思, 有效频率STC8H比STC32F高,所以,同样外围情况下。
STC8H比STC32F 有效程序驱动IO ...

客气了。

神农鼎 发表于 2023-12-13 20:49:29

如果要小量生产, 【STC32G12K54 跑 52MHz, WTST=1】
如果大批量生产,STC32G8K64-42MHz, 可能更合适,无 iCache




13918210822 发表于 2023-12-14 09:53:40

神农鼎 发表于 2023-12-13 20:49
如果要小量生产, 【STC32G12K54 跑 52MHz, WTST=1】
如果大批量生产,STC32G8K64-42MHz, 可能更合适,无 i ...

有道理,果然原厂最清楚选型{:4_250:}
页: 1 2 [3]
查看完整版本: IO模拟一种2线接口(类似I2C, 但略有不同),请问一个细节如何实现为好