Bảng 3-2 danh mục thanh ghi I2C. Tất cả các địa chỉ đã cho là liên quan đến cơ sở địa chỉ I2C cho master và slave:
■ I2C 0: 0x4002.0000
Lưu ý rằng clock module I2C phải được cho phép trước khi thanh ghi có thể được lập trình .Phải có trễ của 3 chu kỳ hệ thống sau khi clock module I2C được kích hoạt trước khi bất kỳ thanh ghi module I2C được truy cập.
Tập tin hw_i2c.h trong Thư viện StellarisWare Driver ® sử dụng một địa chỉ cơ sở 0x800 cho thanh ghi slave I2C. Hãy nhận biết khi sử dụng thanh ghi với offset giữa 0x800 và 0x818 mà StellarisWare sử dụng offset từ 0x000 và 0x018 với địa chỉ cơ sở slave.
Chương VI: Module điều khiển mạng (CAN)
Controller Area Network (CAN) là một đa điểm, chia sẻ bus nối tiếp tiêu chuẩn cho việc kết nối khối điều khiển điện tử (ECUs). CAN được thiết kế đặc biệt để được mạnh mẽ trong môi trường điện từ và có thể sử dụng một dòng vi sai cân bằng như RS-485 hoặc mạnh mẽ hơn với dây xoắn đôi. Được tạo ra cho mục đích tự động, nó cũng được dùng trong điều khiển nhiều ứng dụng nhúng(như công nghiệp và y tế). Tốc độ bit lên đến 1Mbps ở chiều dài mạng ít hơn 40 mét. Giảm tốc độ bit cho phép khoảng cách mạng dài hơn (ví dụ, 125 Kbps ở 500 mét).
Bộ điều khiển CAN Stellaris ® hỗ trợ các tính năng sau: ■ Giao thức CAN phiên bản 2.0 phần A / B
■ Tốc độ bit lên đến 1 Mbps
■ 32 đối tượng tin nhắn với mặt nạ định dạng cá nhân ■ Ngắt
■ Vô hiệu hoá chế độ tự động phát lại cho ứng dụng Time-Triggered CAN ■ Lập trình chế độ lặp cho hoạt động tự kiểm tra
■ Lập trình chế độ FIFO cho phép lưu trữ nhiều đối tượng nhắn tin
■ Gắn với một giao diện CAN bên ngoài thông qua tín hiệu CANnTX và CANnRX
Hình 6-1. Sơ đồ khối bộ điều khiển CAN
6.2 Mô tả chức năng
Bộ điều khiển CAN Stellaris phù hợp với các phiên bản giao thức CAN 2.0 (phần A và B). Tin nhắn truyền bao gồm dữ liệu, lỗi, từ xa, và khung quá tải với một nhận dạng 11bit (tiêu chuẩn) hoặc một nhận dạng 29-bit (mở rộng) được hỗ trợ. Tốc độ bit có thể được lập trình lên đến 1 Mbps. Các module CAN bao gồm ba phần chính:
■ Điều khiển giao thức CAN và xử lý tin nhắn ■ Bộ nhớ tin nhắn
■ Giao diện thanh ghi CAN
Một khung dữ liệu chứa dữ liệu để truyền, trong khi một khung từ xa không chứa dữ liệu và được sử dụng để yêu cầu truyền một đối tượng cụ thể. Khung dữ liệu / từ xa CAN được xây dựng như trong hình 6-2.
Hình 6-2. Khung dữ liệu / từ xa CAN
Bộ điều khiển giao thức truyền và nhận dữ liệu nối tiếp từ bus CAN và chuyển dữ liệu đến bộ xử lý tin nhắn. Việc xử lý tin nhắn sau đó tải thông tin này vào đối tượng tin nhắn thích hợp dựa trên bộ lọc hiện tại và nhận dạng đối tượng trong bộ nhớ tin nhắn. Bộ xử lý tin nhắn cũng có trách nhiệm tạo ra ngắt dựa trên sự kiện trên bus CAN.
Bộ nhớ tin nhắn là một tập hợp của 32 khối bộ nhớ giống nhau giữ các cấu hình hiện thời, tình trạng, và dữ liệu thực tế cho từng đối tượng tin nhắn. Đây là những truy cập thông qua một trong các giao diện thanh ghi tin nhắn CAN.
Bộ nhớ tin nhắn không được truy cập trực tiếp trong bản đồ bộ nhớ Stellaris, do đó, bộ điều khiển CAN Stellaris cung cấp một giao diện để giao tiếp với bộ nhớ tin nhắn thông qua hai thanh ghi giao diện CAN để giao tiếp với các đối tượng tin nhắn. Vì không có truy cập trực tiếp đến bộ nhớ đối tượng tin nhắn, hai giao diện phải được sử dụng để đọc hoặc ghi cho từng đối tượng tin nhắn. Hai tin nhắn giao diện đối tượng cho phép truy cập song song với bộ điều khiển đối tượng CAN khi nhiều đối tượng có thể có thông tin mới mà phải được xử lý. Nói chung, một giao diện được sử dụng để truyền dữ liệu và một cho nhận dữ liệu.