• 【电路】板上 spi & iic 接口芯片功能分析


    分析几个芯片的控制接口,为下一步写verilog代码做准备。

    首先,受限于adc的work频率最大27mhz,整个控制模块的平台 clk=20mhz,50ns。

    供电芯片  4个共用一个spi接口,通过/sync[4:1]来区分,相当于片选信号

    时序分析

    t1=20ns(min)@3.3V,sclk的速率最大达到50MHz;

    t4=10ns(min),/sync=low理论上可以和sclk的rising一起动作;在rising送数据/移位,芯片在falling采样sdi,从bit28到bit0;

    t6=5ns(min),t5=150ns(min);t7=5ns(min);t8=7ns(min);/sync=high需要等一拍;

    t9=75ns(max),t10=1.65us(1DACx1)2.3us(2DACx1)2.95us(3DACx1)3.6us(4DACx1)270ns(other)

    检测/busy=low的状态,抓到/busy=high后释放。

    操作指导

    一般情况,每个指令下发后,都需要等待busy时间才能释放,接着bram才能读取下个指令。t10是us级的。

    建议,每次都先读busy状态,然后再发指令。这样指令生效的busy时间跟bram读下条指令的时间重叠,节省时间。

    下发一串指令29*50ns*2=3us,读一次bram参数5*50ns*2=0.5us,接近busy最大的3.6us,很合理。

     

    ADC采样芯片:采用read-only的spi接口

    时序分析

    tCLK=37ns(min),最大工作时钟27MHz,外部用了一个20Mhz的有源晶振;最好让fCLK/fSCLK成倍数关系,取10Mhz;

    抓/DRDY-falling,第一个bit先输出MSB,然后在SCLK的falling沿,其他23个bit再依次输出,所以user应该在sclk的rising沿sample数据;

    那么数据采样过程应该是,/DRDY下降沿,采样MSB@SCLK-rising,然后发falling让ADC出数据,接着在rising采样。

    转换周期tCONV,在high-speed模式下典型值是256个clk周期(20mhz下就是12.8us)(25mhz的clk下需要10.24us)

    其中读取数据的时间是24个bit的时间是24*50ns*2(只占用其中的2.4us)。在连续指令下可以不遗漏地抓取每次更新值。

    一定要抓取/DRDY的falling,而不是低电平。如果采样的是靠后的low,有很大概率抓到正在刷新的数据,采样到错误数据。

    所以等采样命令下达后,再抓DRDY下降沿发出sclk的话,最大的间隔是1个CONV周期,12.8us;(推荐)(conv决定了采样刷新率)

    如果每次DRDY都默认存数据,采样指令到达直接拿数据,每次的时间间隔还是1个CONV周期,而且sclk一直在工作,且需要刷新标志,不推荐这种方式;

     

    DRDY空跑的高脉宽是一个clk周期,采样该高电平是否有问题?

    从空闲态抓取falling确实只有一个clk间隙,一旦开始采data,高电平将会占大多数的conv时间。

    IIC扩展IO:

    采用IIC的fast-mode-400khz,scl的高电平0.6us-min,低电平1.3us-min;

    start/stop的建立保持时间也是0.6us-min;所以最小逻辑节拍是0.6us;

    sda数据在scl高电平期间要保持稳定,sda数据在scl-rising出现前100ns就要建立,保持到scl-falling处即可;

    可以按照L0.6us-H0.6us-L0.6us来分配节拍;

     数字电位器:

    注意区分 CMD与REG EE与RDAC。REG=0,先调整RDAC,调整完毕写EE。

    Quick Command的模式跟上面不一致,暂时不使用。

     

    附上IIC总线规范之AC特性

  • 相关阅读:
    Android UI性能优化详解
    Android开发中一些被冷落但却很有用的类和方法
    Android开发:Translucent System Bar 的最佳实践
    让动画不再僵硬:Facebook Rebound Android动画库介绍
    Android Touch事件传递机制
    转载爱哥自定义View系列--Canvas详解
    Android最佳实践指南
    Android网络请求心路历程
    转载爱哥自定义View系列--文字详解
    ORM是什么?
  • 原文地址:https://www.cnblogs.com/kevinchase/p/6963142.html
Copyright © 2020-2023  润新知