找回密码
 注册
关于网站域名变更的通知
查看: 2532|回复: 3
打印 上一主题 下一主题

I2C-Master Core Specification中Transmit register与Receive register应该如何理解? ...

[复制链接]
  • TA的每日心情
    擦汗
    2020-1-14 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2008-12-29 22:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x
    I2C-Master Core Specification中Transmit register与Receive register应该如何理解?9 x6 v1 w5 C! v5 f$ e

    5 Y: J5 K/ r# l: _; ]- ^' e  y2 ^opencore的I2C-Master Core Specification中7 Y- F. E  w* M
    Transmit register与Receive register应该如何理解?6 Y- }* t- C/ N: A0 [7 s+ h9 t
    Transmit register是不是用来保存从器件地址吧?! @( Q& O5 K! Y( p0 k+ o7 P8 t" B
    看文档中写着7:1定义是Next byte to transmit via I2C% R7 B( d. r. F0 P! Q# ?8 W
    第0位的定义则是:& b/ E& K/ s$ a1 n& q7 b. P
    In case of a data transfer this bit represent the data’s LSB.
    ; |/ N. R: s- c! y# I% Y1 C  k( }8 wIn case of a slave address transfer this bit represents the RW bit.
    + A" u* O1 o. n/ h3 R' E‘1’ = reading from slave
    9 X' C% O, g1 ~" I4 x0 I# g: q‘0’ = writing to slave" d4 A* X& e( ?( k8 n7 Y; N2 D6 Y
      y9 m  m, Y# O# ^0 x7 n
    给我的感觉是不是这个传输寄存器只记录从器件地址,最末位用来设置读写控制的吧?' y7 g. F! j& K8 c( f

    2 E5 L) F* v, ?0 Y2 }后面的操作状态机 第一步会先读这个传输寄存器 然后再进行读写移位寄存器里面的数据吧?
    / K  v! l3 o9 @" R/ v' c7 y9 S
    4 t) S1 s; \# Y6 X那个Receive register就有点看不明白了( U* p; U1 f! K3 n9 Z
    看定义是Last byte received via I2C
    ) q8 c6 m( I1 ^7 M看代码也一下没看明白( m" ?2 `8 D: |# m& A
    0 d# _, O; I6 ]
    谁解释一下吧
  • TA的每日心情
    擦汗
    2020-1-14 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
     楼主| 发表于 2008-12-30 18:40 | 只看该作者
    在这个模块中wb_adr_i是不是只是作为寄存器地址来使用的了
    7 _2 H$ u4 m* a7 d* n" [
    6 e+ M- l! q* ]0 K见代码中:
    / X7 q" T( R$ ^4 @# acase (wb_adr_i) // synopsis parallel_case
    / {+ Z; S% A: H  y5 B3'b000 : prer [ 7:0] <= #1 wb_dat_i;
    9 t3 i* I( k! e3 ~9 ~8 T3'b001 : prer [15:8] <= #1 wb_dat_i;
    : t: c8 C' F, b& K# ?4 o! T3'b010 : ctr <= #1 wb_dat_i;
    2 _! ~' Q! R% O3'b011 : txr <= #1 wb_dat_i;
    + U# T3 W( x( @$ q! r* Zdefault: ;+ U) S$ R) m' @% m; [/ X, O
    endcase
    ! `. I( v; T! z0 ~3 v, D+ r$ ~3 p0 H3 ^
    按照这意思就是, B& v2 `" G4 Y& b9 w% p( w
    使用到的寄存器 通过这个wb_adr_i来选择6 H' o1 u" A; b) y( j, E
    外部控制器发地址3'b000
    8 ~. g' `; ]- t就是告诉I2C-Master Core 我要给你发Clock Prescale register的参数了
  • TA的每日心情
    擦汗
    2020-1-14 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
     楼主| 发表于 2008-12-31 20:58 | 只看该作者
    见一个资料里面写的:
    # R' W1 L, K% TI2C 总线写命令格式如下:! \9 m: D* j+ L; x& x- _4 l1 d. W
        写信号:<Start><Write Slave Address+Write Bit><Ack><Register Index><Ack><Data><Ack> …… <Stop>
    1 Z6 |. Z; D7 b/ q" M; t
    & j8 q( a4 u  g5 S' o3 C# M- g9 Q! E& c0 U0 c* W6 G
    但是见opencore的spec中
      |& ]7 ~* o6 k好像是
    ( V2 e' F7 P' p9 Q6 J! U' i7 A3 {; U4 g% Z3 p, `8 N2 `+ a
       <Start><Write Slave Address+Write Bit><Ack>Data><Ack> …… <Stop>

    该用户从未签到

    4#
    发表于 2009-9-25 14:40 | 只看该作者
    你好,我是一名初学者,由于要用到i2c,所以……很头疼,可不可以把i2c core给小弟传一份啊,无比感谢2 u7 \+ @2 m! e/ F
    邮箱:chris_0403@163.com
    * l; i0 W- W" X1 t% c9 {如果方便的话,谢谢了
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-4 23:45 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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