Bài giảng Vi xử lý - Chương 8 Vi điều khiển H8

H8SX/1582 – Bộ điều khiển DMA • Truy xuất không gian địa chỉ tối đa 4-G byte bộ nhớ • Đơn vị truyền dữ liệu: byte, word, hay long word • Truyền dữ liệu tối đa đến 4-G byte (4,292,967,295) • Hỗ trợ chế độ free-running chế độ mà không cần thiết lập kích thước khối dữ liệu luân chuyển. • Phương thức để kích hoạt DMAC: auto-request, ngắt quãng, hay yêu cầu từ bên ngoài • Chế độ địa chỉ đôi hay địa chỉ đơn • Các chế độ truyền dữ liệu: bình thường, lặp (repeat),hay truyền theo khối (block). • Vùng lặp mở rộng của nguồn và đích có thể được thiết lập tối đa đến 128Mbyte (27 bit). • Chế độ cập nhật địa chỉ đa dạng • Có hai loại ngắt quãng có thể xảy ra: kết thúc truyền, lỗi truyền

pdf55 trang | Chia sẻ: truongthinh92 | Ngày: 26/07/2016 | Lượt xem: 869 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Vi xử lý - Chương 8 Vi điều khiển H8, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BK TP.HCM 2009 dce ©2009, CE Department Chương 10 Vi điều khiển H8 2009 dce ©2009, CE Department Nội dung • Tổng quan về họ vi điều khiển H8 • Vi điều khiển H8SX/1582 • Chức năng ngoại vi của H8SX/1582 • Tài liệu tham khảo: – www.renesas.com 2009 dce ©2009, CE Department Vi điều khiển H8 2009 dce ©2009, CE Department Vi điều khiển H8 2009 dce ©2009, CE Department Vi điều khiển H8 2009 dce ©2009, CE Department Vi xử lý H8SX • CPU CISC 32-bit tốc độ cao • 8 thanh ghi đa dụng 32-bit (có thể sử dụng như 16 thanh ghi 16-bit hay 16 thanh ghi 8-bit) • Tập lệnh gồm 87 lệnh • 11 phương thức định địa chỉ • 2 thanh ghi nền – Vector base register – Short address base register • Quản lý 4-Gbyte không gian bộ nhớ chương trình và dữ liệu • CPU có 4 chế độ hoạt động – Normal mode – Middle mode – Advanced mode – Maximum mode 2009 dce ©2009, CE Department Vi xử lý H8SX • Chế độ nguồn giảm • Lệnh SLEEP chuyển sang chế đọ này • Lựa chọn tốc độ clock hoạt động của CPU • Tính toán tốc độ cao • Hầu hết các lệnh thông dụng thực thi trong 1 hoặc 2 chu kỳ • Cộng trừ hai thanh ghi 8/16/32-bit : 1 chu kỳ • Nhân hai thanh ghi 8-bit x 8-bit: 1 chu kì • Chia hai thanh ghi 16-bit ÷ 8-bit : 10 chu kì • Nhân hai thanh ghi 16-bit x 16-bit : 1 chu kì • Chia hai thanh ghi 32-bit ÷ 16-bit : 18 chu kì • Nhân hai thanh ghi 32-bit x 32-bit : 5 chu kì • Chia hai thanh ghi 32-bit ÷ 32-bit : 18 chu kì 2009 dce ©2009, CE Department Vi xử lý H8SX • Normal mode : không gian địa chỉ lớn nhất 64Kbyte có thể truy xuất. • Middle mode : Không gian địa chỉ lớn nhất có thể truy xuất được là 16Mbyte (tổng của vùng chương trình và dữ liệu). Đối với từng phần khác nhau thì, đến 16 Mbyte cho vùng chương trình hoặc đến 64Kbyte cho vùng dữ liệu. • Advance mode : Không gian địa chỉ lớn nhất 4 Gbyte có thể được truy xuất một cách tuyến tính. Đối với các vùng khác nhau, vùng chương trình lên đến 16Mbyte và vùng dữ liệu lên đến 4Gbyte có thể được cấp phát . • Maximum mode : Vùng không gian địa chỉ lớn nhất có thể truy xuất một cách tuyến tính là 4Gbyte. 2009 dce ©2009, CE Department Tập thanh ghi H8SX • Bộ thanh ghi đa dụng E0 R0H R0L E1 R1H R1L E2 R2H R2L E3 R3H R3L E4 R4H R4L E5 R5H R5L E6 R6H R6L E7 R7H R7L 07015 07 ER0 ER1 ER2 ER3 ER4 ER5 ER6 (SP) ER7 E0 R0 31 15 E1 E2 E3 E4 E5 E6 E7 R1 R2 R3 R4 R5 R6 R7 2009 dce ©2009, CE Department Tập thanh ghi H8SX • Bộ thanh ghi điều khiển PC 031 I UI H U N Z V CCCR 7 6 5 4 3 2 1 0 T - - - - I2 I1 I0EXR 7 6 5 4 3 2 1 0 (không dùng)VBR 031 12 (không dùng)SBR 031 8 (dấu mở rộng) MACH MAC 3263 41 MACL 031 I : Interrupt mask bit N : Negative flag UI : User bit/ Interrupt mask bit Z : Zero flag H : Half carry bit V : Overflow flag U : User bit C : Carry flag 2009 dce ©2009, CE Department Tập thanh ghi H8SX • VBR (Vector Base Register) Giá trị của VBR là địa chỉ nền của vùng vector ngoại lệ (trừ reset và lỗi địa chỉ CPU). Người dùng có thể đặt bảng vector tại một địa chỉ bằng cách thiết lập giá trị thanh ghi này (20 bit cao được dùng). Ví dụ thanh ghi được khởi tạo giá trị H’3000. Địa chỉ của mỗi vector ngắt là H’3000 + (địa chỉ vector của nguồn ngắt (không dùng)VBR 031 12 2009 dce ©2009, CE Department Tập thanh ghi H8SX • SBR (Short Address Base Register) Thanh ghi SBR thiết lập vùng bắt đầu cho không gian địa chỉ tuyệt đối 8-bit (@aa:8). Chỉ 24 bit cao được sử dụng. (không dùng)SBR 031 8 SBR Không gian địa chỉ tuyệt dối 8-bit 2009 dce ©2009, CE Department Tập thanh ghi H8SX • Định dạng dữ liệu trong bộ nhớ Address L Address L Address 2M Address 2M+1 Address 2N 7 Data type Data format 1-bit data Byte data Word data Long word data Address 7 6 5 4 3 2 1 0 MSB LSB MSB LSB MSB LSB 2N +2 2N +1 2N +3 0 2009 dce ©2009, CE Department Định vị địa chỉ • Trực tiếp thanh ghi: Rn • Gián tiếp thanh ghi: @ERn • Gián tiếp thanh ghi với độ dịch: @(d:2, ERn), @(d:16, ERn), @(d:32, ERn) • Gián tiếp thanh ghi chỉ số với độ dời: @(d:16,RnL.B), @(d:32,RnL.B), @(d:16,Rn.W), @(d:32,Rn.W), @(d:16,ERn.L),@(d:32,ERn.L) • Gián tiếp thanh ghi với tăng hoặc giảm: @ERn+, @-ERn, @+ERn, @ERn- • Trực tiếp: #xx • Địa chỉ tuyệt đối: @aa:8, @aa:16, @aa:24, @aa:32 • Thanh ghi PC tương đối: @(d:8,PC), @(d:16,PC) • PC tương đối với thanh ghi đánh chỉ số: @(RnL, B, PC), @(Rn, W, PC), @(ERn, L, PC) • Gián tiếp bộ nhớ: @@aa:8 • Gián tiếp bộ nhớ mở rộng: @@vec:7 2009 dce ©2009, CE Department Hợp ngữ H8SX • Dạng thức lệnh ADD.Sz , Tên gợi nhớ : ADD, MOV Kích thước toán hạng : B (byte), W (word), L (Longword) Toán hạng đích : thanh ghi, hằng (trị), tên (địa chỉ), địa chỉ trực tiếp Toán hạng nguồn : thanh ghi, hằng (trị), tên (địa chỉ), địa chỉ trực tiếp 2009 dce ©2009, CE Department Hợp ngữ H8SX • Các qui tắc biểu diễn hệ thống số, nhãn – Các ký tự dùng để đặt tên cho nhãn : a - z A - Z 0 - 9 ? @ _ $ . và bắt đầu bằng một ký tự khác số. – Số hệ 2 : B’××××××××(B’10110101) – Số hệ 10: mặc định hoặc D’××××× (32767,D’ 4509) – Số hệ 16: H’×××× (H’1A97, H’E05B) 2009 dce ©2009, CE Department Hợp ngữ H8SX • Dạng chương trình ; chú thích .CPU H8SXA .SECTION PROG, CODE, LOCATE=H’1000 .SECTION D_ROM, DATA, LOCATE=H’2000 .SECTION D_RAM, DATA, LOCATE=H’FF9000 .END dòng chú thích, bắt đầu bằng dấu ‘;’ ‘.CPU’ cho biết tên CPU, chế độ hoạt động ‘.SECTION’ đặc tả section trong bộ nhớ tên của section code : section chứa lệnh data : section chứa khai báo dữ liệu địa chỉ bắt đầu của section kết thúc file 2009 dce ©2009, CE Department Hợp ngữ H8SX • Khai báo hằng .CPU H8SXA DATA1 : .EQU H‘2000 DATA2 : .EQU H‘2001 ANSW : .EQU H‘2002 .SECTION PROG, CODE, LOCATE=H’1000 MOV.B @DATA1, R0L MOV.B @DATA2, R1L ADD.B R0L, R1L MOV.B R1L, @ANSW .END X X X X DATA1 DATA2 ANSW Tên hằng Lệnh khai báo hằng Giá trị hằng 2009 dce ©2009, CE Department Hợp ngữ H8SX • Khai báo dữ liệu trong section data .SECTION D_RAM, DATA, LOCATE=H’0FF9000 DATA1: .RES.B 2 DATA2: .RES.W 1 .END H’0FF9000 DATA1 H’0FF9002 DATA2 Địa chỉ của biến (tên) Lệnh khai báo vùng nhớ cho biến (.B, .L,.W : kích thước của một block) Số block cần cấp phát 2009 dce ©2009, CE Department Hợp ngữ H8SX • Khai báo dữ liệu trong section data .SECTION D_ROM, DATA, LOCATE=H’02001 DATA1: .DATA.B 5, 10, H’20 DATA2: .DATA.W H’500 .END 05 10 H’20 H’05 H’00 H’2001 DATA1 H’2004 DATA2 Địa chỉ của biến (tên) Lệnh khai báo giá trị (.B, .L,.W : kích thước của một block) Giá trị được đưa vào vùng nhớ 2009 dce ©2009, CE Department Hợp ngữ H8SX • Ví dụ .CPU H8SXA .SECTION PROG, CODE, LOCATE=H’1000 MOV.B @DATA1, R0L MOV.B @DATA2, R1L ADD.B R0L, R1L MOV.B R1L, @ANSWER ABC : BRA ABC .SECTION D_ROM, DATA, LOCATE=H’02000 DATA1 : .DATA.B 10 DATA2 : .DATA.B 100 .SECTION D_RAM, DATA, LOCATE=H’0FF9000 ANSWER : .RES.B 1 .END 2009 dce ©2009, CE Department Tập lệnh H8SX • Nhóm lệnh truyền dữ liệu • Nhóm lệnh phép toán số học MOV MOVA PUSH EEPMOV MOVSD POP LDM STM MOVM D ADD ADDX SUB SUBX ADDS SUBS CMP NEG INC DEC DAA DAS MULXU MULXS DIVXU DIVXS MULU DIVU MULS DIVS MULU/U MULS/U EXTU EXTS TAS MAC LDMAC STMAC CLRMAC 2009 dce ©2009, CE Department Tập lệnh H8SX • Nhóm lệnh phép toán luận lý • Nhóm lệnh thao tác trên bit AND OR XOR NOT BSET BCLR BNOT BTST BAND BIAND BOR BIOR BXOR BIXOR BLD BILD BST BIST BSET/EQ BSET/NE BCLR/EQ BCLR/NE BSTZ BISTZ BFLD BFST 2009 dce ©2009, CE Department Tập lệnh H8SX • Nhóm lệnh dịch kí số • Nhóm lệnh rẽ nhánh • Nhóm lệnh điều khiển hệ thống SHLL SHLR SHAL SHAR ROTR ROTXL ROTXR ROTL BRA/BS BRA/BC BSR/BS BSR/BC JMP BSR JSR RTS RTS/L BRA/S TRAPA RTE SLEEP NOP RTE/L LDC STC ANDC ORC XORC 2009 dce ©2009, CE Department Vi điều khiển H8SX • H8SX CPU • Tính toán tốc độ cao: lệnh căn bản tốn 1 chu kỳ. • Thời gian thưc thi lệnh tối thiểu: 21 ns (48 MHz @5V). • Nhân chia 32-bit. • Vcc: 5V. • Độ rộng bus được mở rộng • H8SX CPU • On-chip flash ROM: 256 Kbyte • Internal RAM: 12 Kbyte • Tăng cường khối ngoại vi • Timer 16-bit (TPU): 12 kênh • Bộ tạo xung output (PPG) hoạt động cùng TPU • Giao tiếp nối tiếp bất đồng bộ/đồng bộ: SCI (2 kênh), SSU(3 kênh) • Bộ chuyển A/D: 16 kênh. • I/O Port: 65 I/O port, 17 input port. 2009 dce ©2009, CE Department Vi điều khiển H8SX CPU: Central processing unit DTC: Data transfer controller DMAC: DMA controller BSC: Bus controller WDT: Watchdog timer TPU: 16-bit timer pulse unit PPG: Programmable pulse Generator SCI: Serial communication interface SSU: Synchronous serial communication unit 2009 dce ©2009, CE Department H8SX/1582 - Xử lý ngoại lệ Ngoại lệ xuất hiện Main program Xử lý bởi CPU hardware Trình xử lý NL RTE PC EXR CCR SP H8SX CPU Vector table Địa chỉ bắt đầu của trình xử lí Bộ nhớ PC,CCR và EXR Vùng stack Sử dụng SP lưu trữ PC, CCR, EXR 2009 dce ©2009, CE Department H8SX/1582 - Xử lý ngoại lệ • Có rất nhiều nguyên nhân gây ra ngoại lệ đến CPU, các ngoại lệ gây ra cho H8SX/1582 được phân loại • Reset : xử lý ngoại lệ được bắt đầu khi có một thay đổi mức từ thấp lên cao tại chân RES. CPU bắt đầu trạng thái reset khi chân RES xuống mức điện áp thấp. • Lệnh không hợp lệ : xử lý ngoại lệ bắt đầu khi có một dòng lệnh không xác định được thực thi. • Theo dõi (Trace) : xử lý ngoại lệ bắt đầu sau khi thực thi câu lệnh hiện tại, nếu bit theo dõi (bit T) trong EXR có giá trị 1. • Lỗi địa chỉ : sau khi phát hiện có lỗi sai về địa chỉ xuất hiện, xử lý ngoại lệ bắt đầu lúc hoàn thành thực thi câu lệnh hiện tại. • Ngắt quãng : xử lý ngoại lệ bắt đầu sau khi thực thi câu lệnh hiện tại hoặc một xử lý ngoại lệ khác, nếu có một yêu cầu ngắt quãng xảy ra. • Lệnh bẫy (TRAPA) : xử lý ngoại lệ bắt đầu khi thực hiện một câu lệnh bẫy (TRAPA). • 2 chế độ ngắt quãng: chế độ 0 và chế độ 2 2009 dce ©2009, CE Department H8SX/1582 - Xử lý ngoại lệ • Ngắt quãng chế độ 0 – Có 2 mức ưu tiên ngắt – Không hỗ trợ đa ngắt • Ngắt quãng chế độ 2 – Có 8 mức ưu tiên ngắt – Hỗ trợ đa ngắt dựa theo độ ưu tiên 2009 dce ©2009, CE Department H8SX/1582 – Bảng Vector Ngoại lệ Vector number Độ dời địa chỉ vector Reset 0 H’000000 Để dành cho hệ thống 1 H’000004 2 H’000008 3 H’00000C Lệnh không hợp lệ 4 H’000010 Trace 5 H’000014 Để dành cho hệ thống 6 H’000018 NMI 7 H’00001C Lệnh TRAPA (#0) 8 H’000020 (#1) 9 H’000024 (#2) 10 H’000028 (#3) 11 H’00002C Lỗi địa chỉ CPU 12 H’000030 2009 dce ©2009, CE Department H8SX/1582 – Bảng Vector Ngoại lệ Vector number Độ dời địa chỉ vector Lỗi địa chỉ DMA 13 H’000034 Để dành cho hệ thống 14 | 63 H’000038 | H’0000FF Ngắt ngoài IRQ0 64 H’000100 IRQ1 65 H’000104 IRQ2 66 H’000108 IRQ3 67 H’00010C IRQ4 68 H’000110 IRQ5 69 H’000114 IRQ6 70 H’000118 IRQ7 71 H’00011C IRQ8 72 H’000120 IRQ9 73 H’000124 2009 dce ©2009, CE Department H8SX/1582 – Bảng Vector Ngoại lệ Vector number Độ dời địa chỉ vector Ngắt ngoài IRQ10 74 H’000128 IRQ11 75 H’00012C IRQ12 76 H’000130 IRQ13 77 H’000134 IRQ14 78 H’000138 IRQ15 79 H’00013C Để dành cho hệ thống 80 H’000140 Ngắt nội (các chức năng ngoại vi yêu cầu) 81 | 255 H’000144 | H’0003FC 2009 dce ©2009, CE Department H8SX/1582 – I/O Port • H8SX/1582 có 65 chân xuất nhập và 17 chân chỉ nhập tương ứng 13 Port. • Các chân của port I/O có thể thực hiện những chức năng ngoại vi khác. • Mỗi port I/O được điêu khiển bởi ba thanh ghi • Data Direction Register (DDR) : điều khiển port xuất hay nhập. • Data Register (DR) : lưu trữ giá trị xuất. • Port register (PORT) : lưu trữ trạng thái nhập. In te rn a l d a ta b u s D Q DDR >write DDR D Q DDR >write DR read DR read PORT I/O pin 2009 dce ©2009, CE Department H8SX/1582 – I/O Port • Ví dụ port xuất : xuất tín hiệu điều khiển 2 LED thông qua hai chân PA0, PA1 PADDR : .EQU H'FFFB89 ; Địa chỉ của PADDR PADR : .EQU H'FFFF59 ; Địa chỉ của PADR MOV.B #B00000010,@PADR ;Thiết lập giá trị xuất cho ;PA0 và PA1 MOV.B #B'00000011,@PADDR ; Thiết lập PA0 và PA1 là ;cổng xuất 2009 dce ©2009, CE Department H8SX/1582 – I/O Port • Ví dụ port nhập : nhận tín hiệu nhập từ SW1 và SW2 vào hai chân PB2, PB3 PBDDR : .EQU H'FFFB8A ; Gán địa chỉ cho PBDDR PORTB : .EQU H'FFFF4A ; Gán địa chỉ cho PORTB MOV.B #B'00000000,@PBDDR ; Thiết lập PB2 và PB3 là ;cổng xuất MOV.B @PORTB,R0L ;đọc giá trị nhập từ PB2 và PB3 2009 dce ©2009, CE Department H8SX/1582 – Bộ định thời • Gồm 16 kênh riêng biệt (chia làm 2 bộ) • Lựa chọn 8 bộ đếm xung clock nhập cho mỗi kênh • Các thao tác sau có thể được thiết lập cho mỗi kênh: • Output capture • Input capture • Định thời • Các tác vụ đồng bộ hóa • Truy xuất nhanh thông qua bus nội 16-bit • Có 26 nguồn ngắt • Bộ truyền dữ liệu tự động 2009 dce ©2009, CE Department H8SX/1582 – Bộ định thời 2009 dce ©2009, CE Department H8SX/1582 – Bộ định thời • Chức năng định thì • Chức năng output capture 2009 dce ©2009, CE Department H8SX/1582 – Bộ định thời • Chức năng Input capture 2009 dce ©2009, CE Department H8SX/1582 – Bộ định thời • Đồng bộ hóa giữa các kênh 2009 dce ©2009, CE Department H8SX/1582 – Bộ định thời • Chức năng Buffer 2009 dce ©2009, CE Department H8SX/1582 – Bộ định thời • Chức năng PWM 2009 dce ©2009, CE Department H8SX/1582 – Bộ A/D Converter • H8SX/1582 có hai bộ chuyển A/D 10 bit kế tiếp giống nhau (bộ 0 và bộ 1) có thể cho phép ta lựa chọn tới 16 kênh ngõ nhập tuần tự. • Thời gian chuyển đổi: 7.4 µs mỗi kênh (@35MHz) • Hai chế độ hoạt động: – Chế độ đơn: Chuyển đổi A/D đơn kênh – Chế độ scan: Chuyển đổi A/D liên tục trên 1 đến 4 kênh, hoặc trên 1 đến 8 kênh. • 16 thanh ghi dữ liệu. Kết quả chuyển A/D sẽ được lưu trong một thanh ghi 16 bit ở mỗi kênh. • Ba cách khởi động bộ chuyển đổi: bằng phần mềm, bộ định thời 16 bit (TPU), tín hiệu ngoài. • Nguồn ngắt quãng: Yêu cầu ngắt quãng kết thúc bộ chuyển A/D có thể được phát ra. 2009 dce ©2009, CE Department H8SX/1582 – Bộ A/D Converter 2009 dce ©2009, CE Department H8SX/1582 – Bộ A/D Converter • Chế độ đơn kênh 2009 dce ©2009, CE Department H8SX/1582 – Bộ A/D Converter • Chế độ đa kênh 2009 dce ©2009, CE Department H8SX/1582 – Bộ giao tiếp nối tiếp • H8SX/1582 có hai kênh giao tiếp tuần tự nối tiếp SCI (kênh 3 và kênh 4) hoạt động độc lập • Hai chế độ hoạt động: – Chế độ hoạt động bất đồng bộ – Chế độ hoạt động đồng bộ • Full-duplex : bộ truyền và bộ nhận có thể hoạt động độc lập với nhau, điều này cho phép việc truyền và nhận có thể xảy ra đồng thời. • Có thể lựa chọn tốc độ baud • Có 4 nguồn ngắt quãng : ngắt quãng kết thúc việc truyền nhận, dữ liệu truyền rỗng, dữ liệu nhận đủ và nhận lỗi. Nguồn ngắt dữ liệu rỗng và dữ liệu nhận đủ có thể sử dụng để kích hoạt DTC hay DMAC. 2009 dce ©2009, CE Department H8SX/1582 – Bộ giao tiếp nối tiếp 2009 dce ©2009, CE Department H8SX/1582 – Bộ giao tiếp nối tiếp • Ví dụ: truyền bất đồng bộ 8bit, parity, 1 stop bit 2009 dce ©2009, CE Department H8SX/1582 – Bộ giao tiếp nối tiếp • Ví dụ: nhận bất đồng bộ 8bit, parity, 1 stop bit 2009 dce ©2009, CE Department H8SX/1582 – Bộ điều khiển DMA • Truy xuất không gian địa chỉ tối đa 4-G byte bộ nhớ • Đơn vị truyền dữ liệu: byte, word, hay long word • Truyền dữ liệu tối đa đến 4-G byte (4,292,967,295) • Hỗ trợ chế độ free-running chế độ mà không cần thiết lập kích thước khối dữ liệu luân chuyển. • Phương thức để kích hoạt DMAC: auto-request, ngắt quãng, hay yêu cầu từ bên ngoài • Chế độ địa chỉ đôi hay địa chỉ đơn • Các chế độ truyền dữ liệu: bình thường, lặp (repeat), hay truyền theo khối (block). • Vùng lặp mở rộng của nguồn và đích có thể được thiết lập tối đa đến 128Mbyte (27 bit). • Chế độ cập nhật địa chỉ đa dạng • Có hai loại ngắt quãng có thể xảy ra: kết thúc truyền, lỗi truyền 2009 dce ©2009, CE Department H8SX/1582 – Bộ điều khiển DMA 2009 dce ©2009, CE Department H8SX/1582 – Bộ điều khiển DMA • Chế độ địa chỉ đôi 2009 dce ©2009, CE Department H8SX/1582 – Bộ điều khiển DMA • Chế độ địa chỉ đơn (data flow) 2009 dce ©2009, CE Department H8SX/1582 – Bộ điều khiển DMA • Chế độ địa chỉ đơn

Các file đính kèm theo tài liệu này:

  • pdfslide_vi_xu_li_chuong_10_825.pdf
Tài liệu liên quan