Tốc độ xoay cho I2C là gì?


10

Tôi đang định cấu hình I 2 C trên PIC18 bằng các hàm dựng sẵn của trình biên dịch C18 như được mô tả trong phần 2.4 của tài liệu :

void OpenI2C2( unsigned char sync_mode,
    unsigned char slew );

Tôi không chắc mình nên làm gì với slew. Tôi có thể chọn từ hai tùy chọn, được xác định trong i2c.h:

  • SLEW_OFF: Tốc độ xoay bị vô hiệu hóa cho chế độ 100 kHz
  • SLEW_ON: Tốc độ xoay được bật cho chế độ 400 kHz

Trong biểu dữ liệu trong sổ đăng ký 15-1, trang 257, hai tùy chọn được giải thích chi tiết hơn một chút:

  • 1 = Điều khiển tốc độ xoay bị tắt cho chế độ tốc độ tiêu chuẩn (100 kHz và 1 MHz)
  • 0 = Điều khiển tốc độ xoay được bật cho chế độ tốc độ cao (400 kHz)

Tôi không hiểu điều đó - tôi có một vài câu hỏi:

  1. Có gì tốc độ quay?

  2. Đối với tôi, hai tùy chọn không có ý nghĩa - điều gì sẽ xảy ra nếu tôi muốn vô hiệu hóa tốc độ xoay cho 400kHz và kích hoạt nó cho 100kHz? Tại sao lại thế này?

  3. Tôi nên chọn SLEW_OFFkhi nào và khi SLEW_ONnào?

pic  c  i2c  software  c18 

Câu trả lời:


8

Tốc độ xoay là tốc độ thay đổi tín hiệu từ thấp đến cao hoặc ngược lại. Bằng cách hạn chế quá trình chuyển đổi đột ngột này, bạn có thể giảm tiếng chuông từ phản xạ tín hiệu và hạn chế nhiễu xuyên âm giữa các đường tín hiệu.

Mặc dù vậy, cách thức hoạt động là ở tốc độ 100kHz, tốc độ tín hiệu chậm đến mức tốc độ quay không thực sự quan trọng; ở tần số 400kHz, bạn có thể sửa một mạch có vấn đề khác bằng cách giới hạn nó; nhưng sau đó khi bạn đạt tới 1MHz, bạn thực sự cần tất cả tốc độ chuyển đổi bạn có thể nhận được, và vì vậy bạn chỉ cần thực hiện khớp tín hiệu tốt và định tuyến cẩn thận hơn.

Các bit trong câu hỏi không làm gì hơn là kích hoạt hoặc vô hiệu hóa tính năng. Phần còn lại chỉ đơn giản là lời khuyên. Tốc độ nằm trong ngoặc đơn, vì nó chỉ là một gợi ý.


Cảm ơn! Nó có vẻ là một lựa chọn tốt - tại sao tôi không sử dụng điều khiển tốc độ xoay?

2
@CamilStaps - Theo hiểu biết của tôi, có vẻ như bạn có thể đã đọc sai câu trả lời. Việc chuyển đổi sắc nét (SLEW_ON) gây ra tiếng ồn và tiếng chuông EMI thêm. Việc chuyển đổi chậm (SLEW_OFF) làm giảm EMI nhưng giảm tần suất sử dụng tối đa của liên kết. Đó là một sự đánh đổi.
Tim

@gbarry: Ah, vì vậy với điều khiển tốc độ quay ra tín hiệu là càng gần với sóng vuông như UC có thể làm cho nó. Với điều khiển tốc độ xoay trên các chuyển đổi sóng cao / thấp có độ dốc nhiều hơn (= ít dọc hơn) so với mức khác?
angelatlarge

1
Điều đó đúng, mặc dù tôi không chắc nó ấn tượng như thế nào trên PIC (tôi nên kiểm tra nó). Lưu ý lịch sử: Thông số kỹ thuật RS232 có giới hạn tốc độ xoay, do đó ai đó đã đưa ra một chip điều khiển có tín hiệu đầu ra dốc-y đẹp. Và sau đó tất cả chúng tôi bắt đầu sử dụng tốc độ bps nhanh hơn và nhanh hơn vì vậy chúng tôi không thể sử dụng con chip đó ...
gbarry

1
Ba năm sau, và tôi đã có câu hỏi tương tự, nhưng tôi thực sự đã đo nó. Để tham khảo trong tương lai, trên PIC16F1454 với lực kéo 4,7k và một nô lệ duy nhất trên xe buýt, thời gian rơi là 2,9 ns mà không giới hạn tốc độ quay (có thể bị giới hạn bởi đầu dò 150 MHz của tôi) và 151 ns với giới hạn tốc độ xoay. Nó không ảnh hưởng đến thời gian tăng.
đường ống
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.