1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớn giao tiếp máy tính chuẩn truyền can trong giao tiếp máy tính và vđk

34 611 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 0,99 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Giao thức CAN cho phép các nút khác nhau đưa dữ liệu cùng lúc, và cơ chế arbitration sẽ xác định xem nút nào được phát đầu tiên - Trong mạng CAN, phần ID của mỗi message gồm 11 bits để

Trang 1

Controller Area

Network

Trang 2

CHUẨN TRUYỀN CAN

TRONG GIAO TIẾP MÁY TÍNH VÀ VĐK

Bài tập lớn

Trang 3

TS LÊ THANH HẢI

Trang 4

Mục lục

1 Giới thiệu về chuẩn truyền CAN

2 Mạch điện

3 Lập trình CCS và Mô phỏng

Trang 5

I Chuẩn truyền CAN

1 Giới thiệu

Controller Area Network (CAN) là giao thức giao

tiếp nối tiếp hỗ trợ mạnh cho những hệ thống điều khiển thời gian thực phân bố (distributed realtime

control system) với độ ổn định, bảo mật và đặc biệt

chống nhiễu cực kỳ tốt

Trang 6

I Chuẩn truyền CAN

1 Giới thiệu

- CAN được phát triển bởi Bosch

- Ngày nay, CAN được chuẩn hóa thành tiêu chuẩn ISO11898

- CAN ổn định và an toàn,

nhờ cơ chế phát hiện và xử

lý lỗi cực mạnh

Trang 7

I Chuẩn truyền CAN

Trang 8

I Chuẩn truyền CAN

2 CAN protocol

Một ví dụ về mạng CAN

Trang 9

I Chuẩn truyền CAN

Trang 10

I Chuẩn truyền CAN

3 Tính chất vi sai trên đường truyền

Sự kháng nhiễu bởi tính hiệu điện từ

Trang 11

I Chuẩn truyền CAN

4 Giải quyết tranh chấp trên bus

- Phương thức giao tiếp của bus CAN là sự phát tán

thông tin

- Giao thức CAN cho phép các nút khác nhau đưa

dữ liệu cùng lúc, và cơ chế arbitration sẽ xác định xem nút nào được phát đầu tiên

- Trong mạng CAN, phần ID của mỗi message

(gồm 11 bits) để xác định mức ưu tiên

Trang 12

I Chuẩn truyền CAN

4 Giải quyết tranh chấp trên bus

- Nút nào mức ưu tiên thấp hơn sẽ mất sự cạnh tranh

với nút có mức ưu tiên cao hơn

Trang 13

I Chuẩn truyền CAN

5 CAN frame

Có 4 loại frame:

- Data frame dùng khi node muốn truyền dữ liệu

tới các node khác

- Remote frame dùng để yêu cầu truyền data frame

- Error frame và overload frame để xử lý lỗi

Trang 14

I Chuẩn truyền CAN

5 CAN frame

Extended frame gần giống Standard frame nhưng

có 29 bit ID

Trang 15

I Chuẩn truyền CAN

Mỗi bit được cấu tạo bởi 4 Segment

6 Nominal Bit Time

Nominal Bit Time là độ dài của một bit trên bus Mỗi nút trên bus phải điều chỉnh nhịp cùng với Nominal Bit Time để có thể phát và nhận chính xác dữ liệu trên bus

Trang 16

I Chuẩn truyền CAN

7 CAN MODULE trên PIC

- Thực hiện các giao thức CAN 1.2, CAN 2.0A và

CAN 2.0 B

- Hỗ trợ các loại Frame chuẩn và mở rộng

- Độ dài dữ liệu từ 0-8 byte

- Lập trình tốc độ tới 1Mbit/s

- 2 buffer nhận/ 3 buffer truyền

- Các ngắt do lỗi truyền nhận

- Lập trình xung clock

Trang 17

I Chuẩn truyền CAN

7 CAN MODULE trên PIC

Module CAN sử dụng chân RB2/CANTX và RB3/CANRX để giao tiếp với bus CAN Trình tự thiết lập CAN module:

- Đảm bảo module trong chế độ thiết lập

- Thiết lập chế độ baud

- Thiết lập các thanh ghi lọc và mặt nạ

- Đưa module CAN về chế độ hoạt động bình

thường hay chế độ khác

Trang 18

I Chuẩn truyền CAN

7 CAN MODULE trên PIC

Trang 19

I Chuẩn truyền CAN

TXB0, TXB1, TXB2

- Thanh ghi điều

Trang 20

I Chuẩn truyền CAN

Thiết lập truyền

- Bit TXREQ phải được xóa

- SIDH, SIDL, DLC và thanh ghi dữ liệu được nạp

Sử dụng frame mở rộng: EIDH:EIDL phải được ghi và bit EXIDE được set

- Set bit TXREQ cho mỗi buffer truyền

- Sự truyền chỉ bắt đầu khi bus rảnh

- Khi truyền thành công, bit TXREQ sẽ xóa

- Nếu truyền không thành công, bit TXREG vẫn

Trang 21

I Chuẩn truyền CAN

Ưu tiên truyền

- Không liên quan tới sự ưu tiên của message trên

bus theo giao thức CAN

- Buffer nào có mức ưu tiên cao nhất sẽ được truyền

trước

- Nếu 2 buffer có cùng mức ưu tiên, thì buffer nào

có số ký kiệu cao hơn sẽ được truyền trước

- Có 4 mức ưu tiên: bit TXP là ’11’ thì ưu tiên cao

nhất

Trang 22

I Chuẩn truyền CAN

Nhận message

- Có 2 buffer nhận: RXB0 và RXB1

- Mỗi buffer chiếm 14 byte SRAM:

• Một thanh ghi điều khiển (RXBnCON)

• 4 thanh ghi ID (RXBnSIDL, RXBnSIDH,

RXBnEIDL, RXBnEIDH)

• Một thanh ghi đếm độ dài dữ liệu (RXBnDLC)

• 8 thanh ghi dữ liệu (RXBnDm)

Trang 23

I Chuẩn truyền CAN

Nhận một message

- Một message chuyển tới buffer nhận nào bit

RXFUL được set

- Bit này phải được xóa bởi MCU khi nó đã xử lý

xong message trong buffer để cho phép message mới có thể nhận

- Nếu một ngắt nhận cho phép, thì ngắt sẽ xảy ra

báo hiệu một message đã được nhận thành công

Trang 24

I Chuẩn truyền CAN

Ưu tiên nhận

- RXB0 là buffer có mức ưu tiên cao nhất

- RXB0CON thiết lập khi RXB0 chứa một message

và một message khác được nhận sẽ được đưa vào RXB1

Trang 25

I Chuẩn truyền CAN

- void can_set_mode(CAN_OP_MODE mode);

Cho phép module CAN thay đổi các chế độ hoạt động

Trang 26

I Chuẩn truyền CAN

8 CAN trong trình dịch CCS

- void can_set_id(int* addr, int32 id, int1 ext);

Thiết lập các thanh ghi xxxxEIDL, xxxxEIDH, xxxxSIDL và xxxxSIDH để định nghĩa một ID

- int32 can_get_id(int* addr, int1 ext);

Trả về giá trị ID (ngược với hàm can_set_id())

- int1 can_getd(int32 & id, int* data, int & len,

struct rx_stat & stat);

Hàm đặt dữ liệu vào bộ đệm truyền

Trang 27

I Chuẩn truyền CAN

CAN trong trình dịch CCS

- int can_putd(int32 id, int* data, int len, int

priority, int1 ext, int1 rtr);

Lấy dữ liệu từ một bộ đệm nhận

- can_kbhit() trả về TRUE nếu có data trong một

trong những buffer nhận

- can_tbe() TRUE nếu buffer truyền sẵn sàng

- can_abort() bỏ tất cả những cuộc chưa truyền

Trang 28

II Mạch điện

1 Giao tiếp máy tính và pic18f4680

CAN bus

Trang 29

4 2

R 7 330

C 15 0.1uF

4.5V

H 12V

C 3 10nF

0

C 5 0.1uF

R 5 2K 7

1 2

R 6 1K

Trang 30

8 7 5

40 39 38 36 35 33 31 30 28 27 25 23 22

1 2

4

4 3

U 5

MC P 2551

1 2 3

8 7 6

C 5 22pF

5 2

V C C

7 TXD2

20 M H z

C 6 22pF

2

R 3 10k

40 39 37 36 34 33 31 29 28 26 25 23 21

Trang 31

TXD

C 7 10u

C 1 0 1n

U 7

MA X232

11 12 10 9

14 13 7 8 2 6

T1IN

R 1O U T T2IN

R 2O U T

T1O U T

R 1IN T2O U T

C 10 1n

D C D

C 8 10u

14 13 7 8 2 6

T1 IN

R 1O U T T2 IN

R 2O U T

T1O U T

R 1 IN T2O U T

Trang 32

C D

U 14

7SEG

A B C D E F G

D B

A

F

B B

E H

D

H

Trang 33

III Lập trình CCS và mô phỏng

Trang 34

Tài liệu tham khảo

- Bài giảng thầy Võ Tường Quân

- Datasheet pic16f887

Ngày đăng: 27/10/2015, 12:52

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w