diocequeen 發問時間: 科學工程學 · 8 年前

電子外行)400 kHz byte-wide I2C?

請教 400 kHz byte-wide I2C-bus communication port. 這是啥?

能翻成中文更好

已更新項目:

沒打錯喔 原句是

Enhanced UART with a fractional baud rate generator, break detect, framing error detection, and automatic address detection; 400 kHz byte-wide I2C-bus communication port.

4 個解答

評分
  • 8 年前
    最佳解答

    400K bit/s 比較合理, 400K Bytes/s 有點怪,版主是否打錯。

    2011-11-22 22:09:39 補充:

    你的文章來自 P89LPC970/971/972 datasheet 嗎?

    http://www.nxp.com/documents/data_sheet/P89LPC97X....

    Page1

    圖片參考:http://imgcld.yimg.com/8/n/AC00916429/o/1611112201...

    不過我還是覺得 datasheet 應該有誤,不然就是我解讀有問題,呵呵,請看下面論點:

    page33

    "A typical I2C-bus configuration is shown in Figure 8. The P89LPC970/971/972 device provides a byte-oriented I2C-bus interface that supports data transfers up to 400 kHz."

    可確定 此I2C-Bus Port 傳輸頻率為400KHz.

    因為 I2C 是以串列傳輸,所以應該為 400K bit/s 傳輸率才合理,如果解譯為 "400K byte/s 傳輸頻寬的I2C-Bus 通訊埠",我個人是覺得很怪啦。

    如果真的為400K byte/s 可換算成 3.125M bit/s,此速率並沒定義在 I2C 標準協定的spec 裡。

    請看維基百科

    I²C是內部整合電路的稱呼,是一種串列通訊匯流排,使用多主從架構,由飛利浦公司在1980年代為了讓主機板、嵌入式系統或手機用以連接低速週邊裝置而發展。I²C的正確讀法為"I-squared-C" ,而"I-two-C"則是另一種錯誤但被廣泛使用的讀法,在中國則多以"I方C"稱之。截至2006年11月1日為止,使用I²C協定不需要為其專利付費,但製造商仍然需要付費以獲得I²C從屬裝置位址。

    圖片參考:http://upload.wikimedia.org/wikipedia/commons/thum...

    I²C只使用兩條雙向開放集極(Open Drain)(串列資料(SDA)及串列時脈(SCL))並利用電阻將電位上拉。I²C允許相當大的工作電壓範圍,但典型的電壓準位為+3.3V或+5v。I²C的參考設計使用一個7位元長度的位址空間但保留了16個位址,所以在一組匯流排最多可和112個節點通訊。常見的I²C匯流排依傳輸速率的不同而有不同的模式:標準模式(100 Kbit/s)、低速模式(10 Kbit/s),但時脈頻率可被允許下降至零,這代表可以暫停通訊。而新一代的I²C匯流排可以和更多的節點(支援10位元長度的位址空間)以更快的速率通訊:快速模式(400 Kbit/s)、高速模式(3.4 Mbit/s)。雖然最大的節點數目是被位址空間所限制住,但實際上也會被匯流排上的總電容所限制住,一般而言為400 pF。

    圖片參考:http://upload.wikimedia.org/wikipedia/commons/thum...

    所以我還是覺得 400K bit/s 比較合理,不然就看其它網友,說不定有更好的見解。

    2011-11-23 00:47:12 補充:

    文 Sir 的意見,我之前就有注意到,不過我個人比較偏向下面這種寫法,如我前面提到文章某個段落 "provides a byte-oriented I2C-bus" 的方式來寫比較易懂,例如:寫成 400 kHz byte-oriented I2C-bus 或 400 KHz 8-bit oriented I2C-bus,我會解讀成 "400KHz 8-bit 導向的I2C匯流排" 或 "400KHz 8-bit 編碼的I2C匯流排" 。

    如果寫成 400 kHz byte-wide I2C-bus 比較容易誤會成 400 kHz Byte傳輸寬度的I2C匯流排"

    2011-11-23 00:53:06 補充:

    在下面文章第八頁,也有類似的寫法。

    http://wenku.baidu.com/view/dedf3fe2524de518964b7d...

    "Transmission is byte oriented"

    2011-11-23 00:58:25 補充:

    在 THE I 2C-BUS SPECIFICATION,VERSION 2.1,JANUARY 2000

    裡面的文章寫到

    Serial, 8-bit oriented, bi-directional data transfers can be made at up to 100 kbit/s in the Standard-mode, up to 400 kbit/s in the Fast-mode, or up to 3.4 Mbit/s in the High-speed mode.

    都有類似的寫法。

    2011-11-23 01:22:30 補充:

    字數限制,請看意見

    2011-11-23 01:23:17 補充:

    結論是翻成:

    400KHz 8bit編碼的 I2C 通信匯流排埠 或

    400Kb/s 以8bit編碼方式的 I2C 通信匯流排接口

    比較適合吧!我猜~~~^^。

    2011-11-23 08:16:40 補充:

    翻成 400KHz 8-bit 導向的I2C匯流排接口 或 400KHz 8位元導向的I2C匯流排接口

    好像也可以。

    2011-11-24 00:02:03 補充:

    Port 通常翻譯成 "接口" 或 "埠" 或 "端口" ,也就是 "通訊接口" 或 "通訊埠" 或 "通訊端口"

    I2C-bus 翻譯成 "I2C匯流排" 或 "I2C總線"

  • 8 年前

    在請教一下,port在中文中要翻成什麼? 埠? 還是匯流排?

  • Lv 4
    8 年前

    版主引用文章並未提到"400K Bytes/s" ~

    原文是"400KHz Byte-wide I2c bus", 要解釋應是I2c的SCL最高頻率是400KHz, 但此port是以一個byte為傳送單位的I2c (在每個ACK前就是8 bit data), 這可能是撰寫者有意與其它標準做點小區隔, 有別於部份串列傳輸並不一定以1byte (8bits)為單位.

    猜的, 謹供參考.

    2011-11-23 16:53:09 補充:

    看了一下洪大提供完整的datasheet, 突然後悔以前怎麼不好好唸書 ...

    Byte-wide在上面的討論後應該是沒有問題, 問題NXP在這400KHz 並沒有交待清楚究竟是bit 或byte, spec裡提到很多SPI的規格, 對I2c只有簡單帶過, 沒有timing可參考; 而在SPI部份, 當OSC=18MHz時, 當master可跑到 4.5MHz (p.53), 所以不排除這顆8051是可以跑上I2c的HS mode (high speed), 如同洪大在回答區提到的3.4MHz, 只是一般IC如果支援到HS mode, 多少會提到, 但它卻沒有 ?!

    呵 ~ 投降 ...

  • 我想應該是指最快能到400K Bytes per second的傳輸速度的I2C傳輸埠吧……

還有問題?馬上發問,尋求解答。