TI中文支持网
TI专业的中文技术问题搜集分享网站

am335x gpio引脚模拟时钟

    正在利用am3358开发一款产品,其中一项需求是利用am3358的gpio引脚给外部芯片发送数据,原理很简单,一根CLK线,一根DATA线。在时钟下降沿发送数据。我写了gpio的驱动,在应用程序中利用一下程序给外部送数据

for(f_size = 0; f_size < (down_size +30); f_size++)
{
      for(i = 0; i < 8; i++)
     {
             ioctl(fd_gpio,Clk,0);//clk = 0
             send_val = ((fpga_data[f_size] >> (7 – i )) & 0x1);
             ioctl(fd_gpio,Din,send_val);
             ioctl(fd_gpio,Clk,1);//clk = 1
}

}

利用示波器观察,发现发送频率是420kHz。

我想提高发送频率,有没有办法,谢谢!

Jian Zhou:

AM335x的SPI和I2C接口都不能满足要求么?

rabbit:

回复 Jian Zhou:

给外部芯片传送数据是利用普通的GPIO引脚,只需要1根时钟信号和1根数据信号。现在想提高一下传输速率,是否可以通过修改时钟频率达到要求。

Gino E:

回复 rabbit:

你好,

如果对时钟要求较高,建议直接使用硬件模块的方式,比如i2c或者spi模块。AM335x下的速率不会很高,不会高于1M。如果要是在操作系统下面,这个速率值会更低。

你提到的修改时钟频率是说修改ARM主频么?ARM主频的提高不能提高这个速度。

leo chen:

回复 Gino E:

3359的IO接口速率也就这个水平,我以前测试过,没找到什么好的办法提高

rabbit:

回复 Gino E:

不用for循环,利用定时器中断会好一点吗?

Gino E:

回复 rabbit:

你好,

不会有太大的改善,这个和定时器中断关系不大。

yinghua pan:

我想问你一下,你的这个模拟过程,有没有实现读取数据的操作,我现在可以实现写的过程,但是读取时不行.

赞(0)
未经允许不得转载:TI中文支持网 » am335x gpio引脚模拟时钟
分享到: 更多 (0)