您尚未登录。

楼主 # 2021-12-04 11:37:18

new_os
会员
注册时间: 2021-12-04
已发帖子: 3
积分: 3

F1C100S I/O翻转频率比较低的问题?

CPU频率跑792Mhz
内存跑 408Mhz
AHB总线跑 300Mhz
APB总线 150Mhz

void gpio_a_set(uint8_t pin, uint8_t value)
{
    if(value>=1)
        (*(volatile unsigned int *)(addr_a)) |= (1<<pin);
    else
        (*(volatile unsigned int *)(addr_a)) &= ~(1<<pin);
}

void main(void)
{
      初始化。。。。。
      while(1){
          gpio_a_set(CLK0,1);
          gpio_a_set(CLK0,0);
      }
}

裸机程序跑这段代码,但是测试这个I/O输出频率只能最高到 4Mhz左右,这么高的总线速度和CPU速度,怎么I/O口的速度这么低,我这个应用希望I/O数据能达到15Mhz左右,最低也需要10Mhz,这个是不是那个地方没设置好,还是本身CPU的I/O速度就达不到这么高?

离线

#1 2021-12-04 15:55:34

wupaul2001
会员
注册时间: 2019-09-30
已发帖子: 291
积分: 264

Re: F1C100S I/O翻转频率比较低的问题?

用程序翻转都这样的了,STM32也是一样,要快,用TMR + DMA翻转

离线

楼主 #2 2021-12-04 16:07:31

new_os
会员
注册时间: 2021-12-04
已发帖子: 3
积分: 3

Re: F1C100S I/O翻转频率比较低的问题?

因为需要和一片外部的芯片通信,这个芯片不是标准的SPI接口协议,需要I/O软件模拟时序,外部芯片支持的CLK速度可达几十M,但是MCU I/O模拟的速度太慢了,不知道有没有大牛用过I/O做类似的通信,有没有好的建议?

离线

#3 2021-12-04 16:23:42

wupaul2001
会员
注册时间: 2019-09-30
已发帖子: 291
积分: 264

Re: F1C100S I/O翻转频率比较低的问题?

你用SOC去干这事,只能是这速度

离线

#4 2021-12-04 16:55:18

yobbo
会员
注册时间: 2019-12-09
已发帖子: 81
积分: 199.5

Re: F1C100S I/O翻转频率比较低的问题?

IO反转这速度还勉强可以了,试试外部中IO中断你就知道这个芯片直接操作IO口有多慢了

离线

楼主 #5 2021-12-05 10:47:44

new_os
会员
注册时间: 2021-12-04
已发帖子: 3
积分: 3

Re: F1C100S I/O翻转频率比较低的问题?

感谢各位大佬,用这个SOC跑比较高的I/O的速度有点难为它了,准备外面挂一个协处理器来实现一些有时序要求的功能

离线

#6 2021-12-06 13:15:19

sunxiang
会员
注册时间: 2021-05-05
已发帖子: 222
积分: 121

Re: F1C100S I/O翻转频率比较低的问题?

我51的翻转速度都可以到5Mhz啦

离线

#7 2021-12-06 13:15:57

sunxiang
会员
注册时间: 2021-05-05
已发帖子: 222
积分: 121

Re: F1C100S I/O翻转频率比较低的问题?

new_os 说:

感谢各位大佬,用这个SOC跑比较高的I/O的速度有点难为它了,准备外面挂一个协处理器来实现一些有时序要求的功能

可以尝试CPLD或者FPGA,如果要求高。要求低就MCU吧

离线

#8 2021-12-06 13:57:16

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: F1C100S I/O翻转频率比较低的问题?

MPU干MPU的活,MCU就干MCU的活

离线

#9 2021-12-07 06:56:22

david
会员
注册时间: 2018-03-05
已发帖子: 385
积分: 316.5

Re: F1C100S I/O翻转频率比较低的问题?

时序放内存 然后dma给端口 会是什么样子

离线

#10 2021-12-29 10:22:26

middle007
会员
注册时间: 2021-05-06
已发帖子: 18
积分: 3

Re: F1C100S I/O翻转频率比较低的问题?

david 说:

时序放内存 然后dma给端口 会是什么样子

这个可是一个真实可行的例子. 这样的话无法保证别的IO口的工作状态.

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn