Thiết kế lõi I2C trên nền PIC33F

41 395 0
Thiết kế lõi I2C trên nền PIC33F

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỜI NÓI ĐẦU Kể từ khi được phát triển bởi hãng điện tử Phillips vào đầu những năm 1980,chuẩn giao tiếp I2C đã trở thành một chuẩn giao tiếp quốc tế,được công nhận ở hơn 50 quốc gia trên thế giới.Bus I2C hiện nay được rất nhiều các hãng điện tử nổi tiếng tích hợp vào trong các sản phẩm của hãng như vi xử lý,vi điều khiển,…Do đó khả năng ứng dụng của bus I2C trong thiết kế vi mạch và các hệ thống số là rất rộng lớn.Tuy tốc độ giao tiếp không cao bằng nhiều chuẩn giao tiếp ra đời sau này, nhưng nhờ sự đơn giản về phần cứng,bus I2C vẫn là một sự lựa chọn phổ biến cho các hệ thống điều khiển sử dụng vi xử lý hay vi điều khiển.

LỜI NÓI ĐẦU Kể từ khi được phát triển bởi hãng điện tử Phillips vào đầu những năm 1980,chuẩn giao tiếp I2C đã trở thành một chuẩn giao tiếp quốc tế,được công nhận ở hơn 50 quốc gia trên thế giới.Bus I2C hiện nay được rất nhiều các hãng điện tử nổi tiếng tích hợp vào trong các sản phẩm của hãng như vi xử lý,vi điều khiển,…Do đó khả năng ứng dụng của bus I2C trong thiết kế vi mạch và các hệ thống số là rất rộng lớn.Tuy tốc độ giao tiếp không cao bằng nhiều chuẩn giao tiếp ra đời sau này, nhưng nhờ sự đơn giản về phần cứng,bus I2C vẫn là một sự lựa chọn phổ biến cho các hệ thống điều khiển sử dụng vi xử lý hay vi điều khiển. Xuất phát từ các yêu cầu thực tế và khả năng ứng dụng rộng rãi của bus I2C,nhóm chúng em quyết định chọn việc nghiên cứu và thiết kế khối giao tiếp nối tiếp đồng bộ I2C theo sơ đồ sau: [...]... bit R/ =1 và đợi xung ACK từ phía thiết bị tớ Sau xung ACK từ con tớ ,thiết bị tớ sẽ gửi từng byte ra bus ,thiết bị chủ sẽ nhận dữ liệu và trả về xung ACK.Số lượng byte không hạn chế Khi muốn kết thúc quá trình giao tiếp ,thiết bị chủ gửi xung Not ACK và tạo xung STOP để kết thúc Đọc dữ liệu từ thiết bị tớ Quá trình kết hợp ghi và đọc dữ liệu:giữa hai xung START và STOP ,thiết bị chủ có thể thực hiện việc... xử chỉ xảy ra khi: - TH1: SDA của thiết bị chủ đang ở trạng thái cao nhưng bus I2C lại ở trạng thái thấp - TH2: Phát hiện trạng thái stop trong khi không có yêu cầu được gửi đến Lưu đồ thuật toán: Generation i2c bus busy Bus I2C bận khi bắt đầu phát hiện ra trạng thái start cho đến khi phát hiện trạng thái stop Lúc này trên bus I2C đã có thiết bị hoạt động và không có thiết bị nào được chen vào Lưu đồ... Kết quả mô phỏng và đánh giá kết quả mô phỏng Start and stop bit detect 2 Collision detect 3 Generation i2c bus busy 4 Clock stretching 5 6 Các thanh ghi Generation Clock Enable Signal 7 Generation data out 8 Generation slave_wait 9 KẾT LUẬN Qua quá trình thực hiện đồ án, nhóm đã giải quyết được một số vấn đề cơ bản để thiết kế khối giao tiếp đồng bộ nối tiếp I2C, thiết kế được các khối con làm việc... lượng byte truyền là không hạn chế Kết thúc quá trình truyền,con chủ sau khi truyền byte cuối sẽ tạo xung STOP báo hiệu kết thúc Ghi dữ liệu từ chủ đến tớ Truyền dữ liệu từ tớ đến chủ (đọc dữ liệu): Thiết bị chủ muốn đọc dữ liệu từ thiết bị tớ,quá trình thực hiện như sau: Khi bus rỗi ,thiết bị chủ tạo xung START,báo hiệu bắt đầu giao tiếp Thiết bị chủ gửi địa chỉ của thiết bị tớ cần giao tiếp cùng với...Quá trình truyền dữ liệu Truyền dữ liệu từ chủ đến tớ (ghi dữ liệu): Thiết bị chủ khi muốn ghi dữ liệu đến con tớ,quá trình thực hiện là: Thiết bị chủ tạo xung START Thiết bị chủ gửi địa chỉ của thiết bị tớ mà nó cần giao tiếp cùng với bit R/=0 ra bus và đợi xung ACK phản hồi từ con tớ Khi nhận được xung ACK báo đã nhận diện đúng thiết bị tớ,con chủ bắt đầu gửi dữ liệu đến con tớ theo từng byte một.Theo... al_int_i; end arch; -test i2c gen al signal library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; -entity test _i2c_ gen_arbitration_lost is end entity test _i2c_ gen_arbitration_lost; -architecture test of test _i2c_ gen_arbitration_lost is component i2c_ gen_arbitration_lost port(... busy . tiếp nối tiếp đồng bộ I2C theo sơ đồ sau:

Ngày đăng: 17/06/2015, 21:46

Mục lục

  • LỜI NÓI ĐẦU

    • 1. Đặc điểm của I2C

      • 1.1. Các chế độ hoạt động

      • 1.3. Điều kiện start và stop

        • 1.4. Định dạng dữ liệu truyền

        • 1.5. Định dạng địa chỉ thiết bị

        • 1.6. Truyền dữ liệu trên bus I2C

        • 2. Sơ đồ khối thiết kế và phân tích hoạt động các khối trong sơ đồ

          • 2.1 Start and stop bit detect

          • 2.3 Generation i2c bus busy

          • 2.6 Generation Clock Enable Signal

          • Tín hiệu clk cho phép được phát sinh khi giá trị từ thanh ghi I2C×BRG<8:0> được đưa đến. Số đếm sẽ giảm dần đến 0 và dừng khi tín hiệu reload xuất hiện…

          • Lưu đồ thuật toán:

          • 2.8 Synchronous SCL and SDA

          • Chương 2: Kết quả mô phỏng và đánh giá kết quả mô phỏng.

            • 1. Start and stop bit detect

            • 3. Generation i2c bus busy

            • 6. Generation Clock Enable Signal

            • PHỤ LỤC

              • 1. Start and stop bit detect

              • 3. Generation i2c bus busy

              • 6. Generation Clock Enable Signal

Tài liệu cùng người dùng

Tài liệu liên quan