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 609 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

Nội dung

Controller Area Network Bài tập lớn chuẩn truyền can giao tiếp máy tính vđk GVHD: TS Lê hải Thành viên nhóm Trương văn đạt Trần ngọc hoàng Nguyễn đăng minh Mục lục Giới thiệu chuẩn truyền CAN Mạch điện Lập trình CCS Mô I Chuẩn truyền CAN Giới thiệu Controller Area Network (CAN) giao thức giao tiếp nối tiếp hỗ trợ mạnh cho 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 đặc biệt chống nhiễu tốt I Chuẩn truyền CAN Giới thiệu - CAN phát triển Bosch - Ngày nay, CAN chuẩn hóa thành tiêu chuẩn ISO11898 - CAN ổn định an toàn, nhờ chế phát xử lý lỗi cực mạnh I Chuẩn truyền CAN Giới thiệu - Mạng CAN ứng dụng rộng rãi: hệ thống điện ô-tô, xe tải, sensor, PLC communication… Ứng dụng mạng CAN xe I Chuẩn truyền CAN CAN protocol Một ví dụ mạng CAN I Chuẩn truyền CAN CAN protocol - CAN tạo thành nhóm node - Truyền nhận gói liệu – message - Mỗi loại message gán ID tùy theo mức độ ưu tiên Một nút mạng CAN - Khi thêm bớt node, không làm ảnh hưởng đến hệ thống – tính mở I Chuẩn truyền CAN Tính chất vi sai đường truyền Sự kháng nhiễu tính hiệu điện từ 10 I Chuẩn truyền CAN Thiết lập truyền - Bit TXREQ phải xóa - SIDH, SIDL, DLC ghi liệu nạp Sử dụng frame mở rộng: EIDH:EIDL phải ghi bit EXIDE set - Set bit TXREQ cho buffer truyền - Sự truyền bắt đầu bus rảnh - Khi truyền thành công, bit TXREQ xóa - Nếu truyền không thành công, bit TXREG set 20 I Chuẩn truyền CAN Ưu tiên truyền - Không liên quan tới ưu tiên message bus theo giao thức CAN - Buffer có mức ưu tiên cao truyền trước - Nếu buffer có mức ưu tiên, buffer có số ký kiệu cao truyền trước - Có mức ưu tiên: bit TXP ’11’ ưu tiên cao 21 I Chuẩn truyền CAN Nhận message - Có buffer nhận: RXB0 RXB1 - Mỗi buffer chiếm 14 byte SRAM: • Một ghi điều khiển (RXBnCON) • ghi ID (RXBnSIDL, RXBnSIDH, RXBnEIDL, RXBnEIDH) • Một ghi đếm độ dài liệu (RXBnDLC) • ghi liệu (RXBnDm) 22 I Chuẩn truyền CAN Nhận message - Một message chuyển tới buffer nhận bit RXFUL set - Bit phải xóa MCU xử lý xong message buffer phép message nhận - Nếu ngắt nhận cho phép, ngắt xảy báo hiệu message nhận thành công 23 I Chuẩn truyền CAN Ưu tiên nhận - RXB0 buffer có mức ưu tiên cao - RXB0CON thiết lập RXB0 chứa message message khác nhận đưa vào RXB1 24 I Chuẩn truyền CAN CAN trình dịch CCS - void can_init(void); Thiết lập module CAN Thiết lập lọc RX mask cho module CAN nhận ID tới - void can_set_baud(void); Thiết lập tốc độ baud 125kHz - void can_set_mode(CAN_OP_MODE mode); Cho phép module CAN thay đổi chế độ hoạt động 25 I Chuẩn truyền CAN CAN trình dịch CCS - void can_set_id(int* addr, int32 id, int1 ext); Thiết lập ghi xxxxEIDL, xxxxEIDH, xxxxSIDL xxxxSIDH để định nghĩa ID - int32 can_get_id(int* addr, int1 ext); Trả 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 liệu vào đệm truyền 26 I Chuẩn truyền CAN CAN trình dịch CCS - int can_putd(int32 id, int* data, int len, int priority, int1 ext, int1 rtr); Lấy liệu từ đệm nhận - can_kbhit() trả TRUE có data trong buffer nhận - can_tbe() TRUE buffer truyền sẵn sàng - can_abort() bỏ tất chưa truyền 27 II Mạch điện Giao tiếp máy tính pic18f4680 RS232 Máy tính Pic18f4680 Pic18f4680 CAN bus 28 II Mạch điện Mạch nguồn HI G N D O U T 2 2K7 10nF C u F C u F R 330 10uH D LM 2596 L2 C D IO D E R u F R FB C 15 D 1K LED C 13 0 U F /3 V V IN -O N /O F F LM 4.5V HI 12V 29 II Mạch điện Giao tiếp CAN Pic VC C U VC C In R 10k VC C 5Vdc S V IN SW U 2 10 11 12 13 14 15 16 17 18 19 20 C 22pF 20 M H z D C 22pF M R R R R R R R R R V V O O R R R R R R LED 1 D D D R 10k U 2 SW 2 LED D LED D C 22pF 20 M H z D LED LED D LED 3 3 3 3 3 2 2 2 2 9 4 3 3 3 3 3 2 2 2 2 9 VC C R XD 1 TXD R S VSS C AN H VD D C AN L R XD V R E F TXD1 RXD1 M C P2551 R 1 120 RX1 TX1 VC C LED C L R /V P P /R E R B /K B I3 /P G D A /A N /C V R E F R B /K B I2 /P G C A /A N R B /K B I1 /P G M A /A N /V R E F R B /K B I0 /A N A /A N /V R E F + R B /C A N R X A /T C K I R B /IN T /C A N T X A /A N /S S /H L V D IN R B /IN T /A N E /R D /A N R B /IN T /F L T /A N E /W R /A N /C O U T VD D E /C S /A N /C O U T VSS D D R D /P S P /P D SS R D /P S P /P C S C /C L K I/R A R D /P S P /P B S C /C L K O /R A R D /P S P /E C C P /P A C /T O S O /T C K I R C /R X/D T C /T O S I R C /TX/C K C /C C P R C /S D O C /S C K /S C L R C /S D I/S D A D /P S P /C IN + R D /P S P /C IN D /P S P /C IN R D /P S P /C IN + TXD P IC f LED PIC18F4680 C 22pF 1 10 11 12 13 14 15 16 17 18 19 20 M R R R R R R R R R V V O O R R R R R R PIC18F4680 C L R /V P P /R E R B /K B I3 /P G D A /A N /C V R E F R B /K B I2 /P G C A /A N R B /K B I1 /P G M A /A N /V R E F R B /K B I0 /A N A /A N /V R E F + R B /C A N R X A /T C K I R B /IN T /C A N T X A /A N /S S /H L V D IN R B /IN T /A N E /R D /A N R B /IN T /F L T /A N E /W R /A N /C O U T VD D E /C S /A N /C O U T VSS D D R D /P S P /P D SS R D /P S P /P C S C /C L K I/R A R D /P S P /P B S C /C L K O /R A R D /P S P /E C C P /P A C /T O S O /T C K I R C /R X/D T C /T O S I R C /TX/C K C /C C P R C /S D O C /S C K /S C L R C /S D I/S D A D /P S P /C IN + R D /P S P /C IN D /P S P /C IN R D /P S P /C IN + R U TXD TXD2 RXD2 R XD VC C TXD R S VSS C AN H VD D C AN L R XD V R E F M C P 2551 RX2 TX2 P IC f 30 120 II Mạch điện D C D D SR R XD R TS TXD C TS D TR RS232 P1 C 10u U C O M N O T 11 12 10 T IN R 1O U T T IN R 2O U T 14 13 T1O U T R IN T2O U T R IN C 2- C 2+ N O T C VS+ VS- VCC HI C 1+ TX1 R X1 C 1- U 1n C 10 M A X232 1n C 10u D C D D SR R XD R TS TXD C TS D TR C U T IN R 1O U T T IN R 2O U T C 1+ 11 12 10 T1O U T R IN T2O U T R IN C 2- C 2+ N O T C 10u VS+ VS- 14 13 M A X232 VCC HI C 1- U R X2 C O M N O T TX2 P1 10u C 1n C 10 1n 31 II Mạch điện Led đoạn 32 1 A6 A4 7SEG A5 A3 A B C D E F G H A B C D E F G H 1 U 16 A B C D E F G H 7SEG 7SEG A2 7SEG A B C D E F G H U 15 A B C D E F G H 7SEG A B C D E F G H U 14 A B C D E F G H A1 7SEG A B C D E F G H U 13 A B C D E F G H 1 A B C D E F G H U 12 A B C D E F G H U 11 A B C D E F G H III Lập trình CCS mô 33 Tài liệu tham khảo - Bài giảng thầy Võ Tường Quân - Datasheet pic16f887 34 [...]... thể phát và nhận chính xác dữ liệu trên bus Mỗi bit được cấu tạo bởi 4 Segment 15 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 16 I Chuẩn truyền CAN 7 CAN MODULE... clock 16 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 17 I Chuẩn truyền CAN 7 CAN MODULE trên PIC Các mode hoạt động: - Configuration...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 11 I Chuẩn truyền CAN 4 Giải quyết tranh chấp trên... tranh với nút có mức ưu tiên cao hơn 12 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 13 I Chuẩn truyền CAN 5 CAN frame Extended frame gần giống Standard frame nhưng có 29 bit ID 14 I Chuẩn truyền CAN 6 Nominal Bit Time Nominal Bit Time là... Thiết lập module CAN Thiết lập bộ lọc RX và mask sao cho module CAN có thể nhận mọi ID tới - void can_ set_baud(void); Thiết lập tốc độ baud 125kHz - void can_ set_mode (CAN_ OP_MODE mode); Cho phép module CAN thay đổi các chế độ hoạt động 25 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 để... 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 26 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. .. 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 23 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 24 I Chuẩn truyền CAN 8 CAN trong trình dịch CCS - void can_ init(void);... 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 được set 20 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. .. Error recognition mode 18 I Chuẩn truyền CAN Truyền message CAN - 3 buffer truyền – TXB0, TXB1, TXB2 - Thanh ghi điều khiển: TXBnCON - 4 thanh ghi ID - Thanh ghi đếm độ dài dữ liệu: TXBnDLC - 8 thanh ghi dữ liệu: TXBnDm 19 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... 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 27 II Mạch điện 1 Giao tiếp máy tính và pic18f4680 RS232 Máy tính Pic18f4680 Pic18f4680 CAN bus 28 II Mạch điện 2 Mạch nguồn HI 3 G N D O U T 4 2 1 2 2K7 10nF C 4 0 1 u F C 5 0 1 u F R 7 330 10uH D 5 .. .Bài tập lớn chuẩn truyền can giao tiếp máy tính vđk GVHD: TS Lê hải Thành viên nhóm Trương văn đạt Trần ngọc hoàng Nguyễn đăng minh Mục lục Giới thiệu chuẩn truyền CAN Mạch điện... Mạng CAN ứng dụng rộng rãi: hệ thống điện ô-tô, xe tải, sensor, PLC communication… Ứng dụng mạng CAN xe I Chuẩn truyền CAN CAN protocol Một ví dụ mạng CAN I Chuẩn truyền CAN CAN protocol - CAN. .. - Các ngắt lỗi truyền nhận - Lập trình xung clock 16 I Chuẩn truyền CAN CAN MODULE PIC Module CAN sử dụng chân RB2/CANTX RB3/CANRX để giao tiếp với bus CAN Trình tự thiết lập CAN module: - Đảm

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

w