找回密码
 注册
关于网站域名变更的通知
查看: 422|回复: 11

IIC的采样方式

[复制链接]
  • TA的每日心情
    无聊
    2025-6-25 15:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2025-6-27 16:12 | 显示全部楼层 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    本来想在老帖里发,想了想还是得发一个新帖:
    4 D; u0 D: `9 X( ^' h5 {2 I/ n; u, g5 `* K' k9 S: R
    本人一直没搞清楚IIC的采样方式,目前看到了三种采样方法的说明:高电平采样、上升延采样+高电平采样、上下边沿双采样
    ; E2 P' K7 u0 A" q  `, R5 B! U& y0 m$ x) K. x
    1、高电平采样:许多文献或者帖子都说明了是高电平采样,但是似乎没有找到盖棺定论的决定性文献,如果是根据建立保持时间的时序要求反推,时钟高电平处肯定是有采样的,因为一般边沿采样的建立保持时间都是以某个时钟边沿为参考,但是I2C的保持时间是以下降沿为参考,也就是说上升沿到下降沿之间有采样点,但是无法判断是高电平采样还是边沿采样
    + l- ]1 Z( v  ~" m& C0 O2、上升延采样+高电平采样:该说法具体内容是,i2c内部有边沿敏感电路,在上升沿会采样数据,而在高电平采样是为了判断是否出现了star、stop信号,因此还是需要保证边缘的单调性* a* p' I4 F0 f+ N1 Z9 o$ I
    3、上下边沿双采样:该说法来源与本站某贴中的贴友“其实I2C的采样也是边沿采样,只不过是上下沿都采一次”
    # A! _+ S; n1 t  U( y# N. o! F) z0 T, b
    因为本人之前一直以为是高电平采样,因此觉得边缘稍微有一点回沟或者平台不会有问题,但实际好像不是这么回事。虽然几种采样形式没有对测试结果没有影响,但是会影响对信号质量的评估,有时候iic边沿就是存在回沟无法消除,最终评估是否可接受时还是需要回到采样的本质,需要从理论和测试的情况下能判断信号质量符合预期。5 P; S' e. ?8 S0 i" P

    9 }, @9 C. x# P- a( U3 E希望诸位能解答小弟的疑问,或者提供一些可供参考的信息来源% a( J; a0 s* G: E$ c2 g

    & J$ B9 Y, `8 G0 g# W2 P5 W

    评分

    参与人数 1威望 +5 收起 理由
    超級狗 + 5 不錯的問題!

    查看全部评分

  • TA的每日心情
    擦汗
    2024-5-14 15:27
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2025-6-27 16:39 | 显示全部楼层
    高电平采样,你这样想:起始是下降沿触发,停止是上升沿触发,这样就导致了只能是电平采样;然后IIC是开漏输出,时钟和数据线都是上拉,空闲的时候释放总线,那么时钟肯定是高电平。-->那就知道了是高电平采样

    点评

    是的,我知道有高电平采样,这个我可以理解。其实我更倾向于第一种和第二种采样方式,这两种采样方式会影响对边沿质量的思考,如果只是高电平采样的话,那么其实边沿回沟问题在一些情况上是可以忽视的,但是如果是第  详情 回复 发表于 2025-6-27 17:27

    评分

    参与人数 1威望 +5 收起 理由
    超級狗 + 5 熱心人士!

    查看全部评分

  • TA的每日心情
    无聊
    2025-6-25 15:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2025-6-27 17:27 | 显示全部楼层
    wen11902 发表于 2025-6-27 16:39
    8 J* l- m1 f$ k7 j0 Z2 F8 r5 N% M高电平采样,你这样想:起始是下降沿触发,停止是上升沿触发,这样就导致了只能是电平采样;然后IIC是开漏 ...

    4 h4 m8 l+ S: Q0 {+ x+ h' w; C( l是的,我知道有高电平采样,这个我可以理解。其实我更倾向于第一种和第二种采样方式,这两种采样方式会影响对边沿质量的思考,如果只是高电平采样的话,那么其实边沿回沟问题在一些情况上是可以忽视的,但是如果是第二种采样方式,边沿的质量需要更多的考虑,比如该回沟会不会导致误判或者误采样。
    0 A4 C4 w$ q+ g$ J5 k

    该用户从未签到

    发表于 2025-6-28 19:47 | 显示全部楼层
    本帖最后由 huo_xing 于 2025-6-28 19:51 编辑
    ; ~/ j5 h2 p4 K+ v9 q6 |0 W% Q8 S; ]. t- b, n+ A, v
    随便找个支持iic的芯片,去看时序图。下面是百度的iic工作时序
    1.png
  • TA的每日心情
    慵懒
    2025-7-3 15:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2025-7-3 16:34 | 显示全部楼层
    随便找个支持iic的芯片,去看时序图。

    点评

    谢谢分享!: 5.0
    找了,但都并没有明说有没有上升沿采样,而我朋友是FPGA工程师,他告诉我说,i2c是上升沿采样数据,高电平采样star、restar和stop这些标志信号  详情 回复 发表于 2025-7-3 23:52
    谢谢分享!: 5
    混也要混得有品些!^_^  发表于 2025-7-3 16:44
  • TA的每日心情
    无聊
    2025-6-25 15:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2025-7-3 23:52 | 显示全部楼层
    Dc2025042345a 发表于 2025-7-3 16:34
    . e  f" \( X, O# H% j随便找个支持iic的芯片,去看时序图。
    3 H7 L0 x! q5 V; M0 r- _4 C
    找了,但都并没有明说有没有上升沿采样,而我朋友是FPGA工程师,他告诉我说,i2c是上升沿采样数据,高电平采样star、restar和stop这些标志信号
    1 ^# G& C! ?# s2 T1 o- |

    点评

    I2C START / STOP Detector Verilog Code module i2c_start_stop_detector ( input wire clk, // 系統時鐘 input wire rst_n, // 非同步 Reset input wire sda, // I2C 資  详情 回复 发表于 2025-7-4 18:21
    I2C START / STOP Detector 我知道樓主要講什麼,「不懂!」。 謝謝!再聯絡。 @#$%^&*!... SDA 當觸發,正、負緣鎖 SCL 狀態啦!  详情 回复 发表于 2025-7-4 09:20
    建議訪問一下人工腦殘(AI)!  详情 回复 发表于 2025-7-4 08:08

    评分

    参与人数 1威望 +5 收起 理由
    超級狗 + 5 朋友挖坑補償!

    查看全部评分

    该用户从未签到

    发表于 2025-7-4 08:08 | 显示全部楼层
    高电平采样star、restar和stop这些标志信号
    , L$ n; x" d- X/ f( h, [( D
    建議訪問一下人工腦殘AI)!  f! @7 u' k1 r; X8 r. R5 C* d
    $ q+ |; l2 \& m! h( W0 i+ u( X8 i' a
    ' w& ~" c1 o4 @% y

    该用户从未签到

    发表于 2025-7-4 09:20 | 显示全部楼层
    本帖最后由 超級狗 于 2025-7-9 08:47 编辑
    1 G! J. d3 H: ~, F
    Dc2024101522a 发表于 2025-7-3 23:52
    1 }" U- s1 L) P找了,但都并没有明说有没有上升沿采样,而我朋友是FPGA工程师,他告诉我说,i2c是上升沿采样数据,高电 ...

    : D4 y) p2 F- z$ uI2C START / STOP Detector/ i' I: e! {7 }! D, Y  X9 _
    , e0 y! R) H# k+ `) K
    我知道樓主要講什麼,「不懂!」。
    ' d# l3 L& _+ t. J2 Z5 p$ Z& D# A% R* o% f, C" k
    謝謝!再聯絡。* u3 k2 m9 a2 k- I% A
    5 m/ F7 g; _7 c$ O$ h/ N% }% q
    @#$%^&*!...
    # U5 T2 Q0 D* [& A
    # e: E0 N! H3 E0 u1 c7 g3 D7 }SDA 當觸發,正、負緣鎖 SCL 狀態啦!! w0 n7 S2 D" [+ c; \" c9 m
    - m( G8 ]8 K4 U9 u0 k" R
    : f4 [9 k% V) U0 a1 Z' e7 F( _
    4 O' F; H5 J" U! F7 ^" ]( r- [

      {. Z; L/ v8 l0 E' w9 k% b% ^- d# H  {; E
    I2C Start and Stop Detector.jpg

    NamNguyenThesis.pdf

    1.36 MB, 下载次数: 1, 下载积分: 威望 -5

    点评

    想不到狗弟塗鴉的方塊圖這麼多人收藏,出處的文檔反而沒人要,小弟決定明天和唐伯虎一樣改賣字畫。 但聽聞唐伯虎的風流倜儻是小說家寫的;實際歷史上的唐伯虎因為窮途潦倒,為了生活是在賣春宮圖。  详情 回复 发表于 2025-7-6 19:19

    该用户从未签到

    发表于 2025-7-4 18:21 | 显示全部楼层
    Dc2024101522a 发表于 2025-7-3 23:52
    , |' v/ O1 `0 S1 J# N找了,但都并没有明说有没有上升沿采样,而我朋友是FPGA工程师,他告诉我说,i2c是上升沿采样数据,高电 ...

    + x" o7 F8 H1 x" V9 e" S$ r4 y) k% ]
    I2C START / STOP Detector Verilog Code  ~, c1 x3 B5 L( {
    * ^, w  a! s$ A8 c3 d3 B2 F7 ]+ ~

    . X7 K. J' M; X& R0 N- cmodule i2c_start_stop_detector (
    % V% b1 ?, E& q0 f8 X' ]& b: C! y7 l    input  wire clk,       // 系統時鐘  d! F& }! p$ R" S$ v
        input  wire rst_n,     // 非同步 Reset8 ^: I5 I2 d2 K( u, {! X2 o5 I4 ?
        input  wire sda,       // I2C 資料線  D. G- {8 ~! Y2 K. B4 {+ v
        input  wire scl,       // I2C 時鐘線
    - N8 D; e' p! S7 N# H% N* O% ^- j/ i7 K    output reg  start_detected, // Start 條件偵測到1 {2 E5 ~& d4 u
        output reg  stop_detected   // Stop 條件偵測到; h5 Y' u7 f" {* a
    );
    / Z0 O% [; |' f: d1 z- S' z3 z( D+ h: N' w8 o* U; u
    5 R' Z& q2 K# p9 P* x; ]/ S# U8 s* T
        // 前兩個時鐘週期的 SDA 與 SCL 值
    2 X$ k. m3 J1 t% W( z6 Y    reg sda_d1, sda_d2;
    6 p6 }0 y; l+ J& e/ |3 O" v6 [9 r    reg scl_d1;
    3 ?+ \. A) p0 N% Z6 `: K% x7 Z/ R" J0 O) @4 Q: a

    + ?% A4 X! n! y2 y' G. M    wire sda_rising  = (sda_d2 == 1'b0) && (sda_d1 == 1'b1);
    7 o. s2 [, t. [0 H$ b    wire sda_falling = (sda_d2 == 1'b1) && (sda_d1 == 1'b0);- w8 B0 I# I0 I" l* ]. X) o& H

    & r  }& b: j3 E

    $ E" G; Z& o; M8 B5 a8 S    // Sample SDA and SCL
    $ j6 ]+ _' Z6 U' _1 e2 }    always @(posedge clk or negedge rst_n) begin
    * Q$ h4 @' Z& H( I9 S% W: F        if (!rst_n) begin
      u4 E7 q1 p; D, e0 Y7 Y+ l            sda_d1 <= 1'b1;
    , C  c: I4 _) g! x( N; v0 B8 Q* \% |            sda_d2 <= 1'b1;8 ~  r! D. m9 q. @( u9 }' n
                scl_d1 <= 1'b1;
    & k6 q: g/ j/ k1 r3 z        end else begin: Z7 }* F0 u# u! \% i
                sda_d2 <= sda_d1;* m% W' G0 F# k# r
                sda_d1 <= sda;$ L0 B" q+ D5 U$ m
                scl_d1 <= scl;0 h1 J8 L2 }# U0 _) P2 U
            end
    1 |/ T3 c( Z; j# {% T$ ]    end
    5 {3 e" h! a9 r: w5 W$ Z
    : Y! k9 t; F# }( K$ n& Z6 }

    9 V* h# U3 B( d- t" ]    // 偵測 Start / Stop 條件
    / v* n# Q, F4 q    always @(posedge clk or negedge rst_n) begin
    6 `" o/ ]1 x+ h0 J% H; K3 v1 T& j        if (!rst_n) begin' \: V. K  U0 r0 }. E* W) L: x
                start_detected <= 1'b0;+ K& U* f' X( @2 d) O  i  h
                stop_detected <= 1'b0;
    # o* i0 O% k9 C8 i        end else begin
    5 y% _& W  O6 P% q  T# u            // I2C START: SDA falling while SCL is high9 k" x# H/ }3 M" V9 m$ ]
                start_detected <= sda_falling && (scl_d1 == 1'b1);
    2 w* W- A: u' A2 g5 j6 g" c            // I2C STOP:  SDA rising while SCL is high% C6 Q* H) D3 K: v1 ^% x
                stop_detected <= sda_rising  && (scl_d1 == 1'b1);
    " Y, t* U' U5 Q, c8 W3 a- j        end! \( J0 }: J  b" `( M8 p' [
        end
    2 E) S4 B3 E3 E( }
    ) c' O6 ?# j/ I; m
    # T+ Q9 E  ]0 e$ X) ~& D" H
    endmodule
    3 g& X0 c' k, z3 O% ]: x/ |& \$ y4 C$ y2 k3 C3 H/ |; o3 D2 v$ q
    ) k, e& r. E" i8 g
    + ~$ N& g$ F% e! g& J# V* ~( v2 E

    该用户从未签到

    发表于 2025-7-6 19:19 | 显示全部楼层
    本帖最后由 超級狗 于 2025-7-8 08:55 编辑   J) ^# E2 R( T8 ]8 t* l+ x7 d
    超級狗 发表于 2025-7-4 09:20: n$ L3 C+ I) O& v# Y% `9 \
    I2C START / STOP Detector% p% }6 x& o; v" X: E
    . y6 M$ {" @* `
    我知道樓主要講什麼,「不懂!」。
    7 {, V0 B3 R  x& I6 Y- ^
    想不到狗弟隨便塗鴉的方塊圖這麼多人收藏,出處的文檔反而沒人要,我決定明天開始要和唐伯虎一樣改賣字畫。) V( L" T( O) C! d

      @1 @8 q  h# x! y- P( W0 _
    % k$ Z( c6 p/ y- ~3 {  b2 y/ N' a6 |& ^
    但聽聞唐伯虎風流倜儻是小說家筆下寫的;實際歷史上的唐伯虎因為窮途潦倒,為了生活是在賣春宮圖。5 }5 _: v: x; c- L# N
    8 a6 q( p" ~% H
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-10 03:02 , Processed in 0.125000 second(s), 28 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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