1. Trang chủ
  2. » Công Nghệ Thông Tin

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

55 10 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 55
Dung lượng 3,32 MB

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

Nội dung

Bài giảng Vi xử lý - Chương 10: Vi điều khiển H8 cung cấp cho người học các kiến thức: 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. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin dùng làm tài liệu học tập và nghiên cứu.

Trang 1

TP.HCM

Chương 10

Vi điều khiển H8

Trang 2

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

Trang 3

Vi điều khiển H8

Trang 4

Vi điều khiển H8

Trang 5

Vi điều khiển H8

Trang 6

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)

Trang 7

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ì

Trang 8

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 Mbytecho 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ácvù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

Trang 9

ER0 ER1 ER2 ER3 ER4 ER5 ER6 (SP) ER7

E1 E2 E3 E4 E5 E6 E7

R1 R2 R3 R4 R5 R6 R7

Trang 10

Tập thanh ghi H8SX

• Bộ thanh ghi điều khiển

PC

0 31

0

(không dùng) SBR

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

Trang 11

Tập thanh ghi H8SX

• VBR (Vector Base Register)

Giá trị của VBR là địa chỉ nền của vùng vectorngoạ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áchthiết lập giá trị thanh ghi này (20 bit cao đượcdùng)

Ví dụ thanh ghi được khởi tạo giá trị H’3000 Địachỉ của mỗi vector ngắt là H’3000 + (địa chỉ vectorcủa nguồn ngắt

(không dùng) VBR

0

(không dùng)

Trang 12

Tập thanh ghi H8SX

• SBR (Short Address Base Register)

Thanh ghi SBR thiết lập vùng bắt đầu cho khônggian địa chỉ tuyệt đối 8-bit (@aa:8) Chỉ 24 bit caođược sử dụng

(không dùng) SBR

Trang 14

Đị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

Trang 15

Hợp ngữ H8SX

• Dạng thức lệnh

ADD Sz <EAs> , <EAd>

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…

Trang 17

.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

Trang 18

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

Tên hằng Lệnh khai báo hằng

Giá trị hằng

Trang 19

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

Trang 20

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ớ

Trang 21

.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

Trang 23

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

Trang 24

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

Trang 25

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

• 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.

Trang 26

Vi điều khiển H8SX

CPU: Central processing unit

DTC: Data transfer controller

DMAC: DMA controller

Trang 27

Trình xử lý NL

RTE

PC EXR CCR SP

Trang 28

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ácngoạ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

Trang 29

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

Trang 31

H8SX/1582 – Bảng Vector

Ngoại lệ Vector

number

Độ dời địa chỉ vector

Để dành cho hệ thống 14

| 63

H’000038

| H’0000FF

Trang 32

ngoại vi yêu cầu)

81

| 255

H’000144

| H’0003FC

Trang 33

• 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.

I/O pin

Trang 34

H8SX/1582 – I/O Port

• Ví dụ port xuất : xuất tín hiệu điều khiển 2 LED thôngqua hai chân PA0, PA1

;PA0 và PA1

;cổng xuất

Trang 35

H8SX/1582 – I/O Port

• Ví dụ port nhập : nhận tín hiệu nhập từ SW1 và SW2vào hai chân PB2, PB3

;cổng xuất

Trang 36

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:

Trang 37

H8SX/1582 – Bộ định thời

Trang 38

H8SX/1582 – Bộ định thời

• Chức năng định thì

• Chức năng output capture

Trang 39

H8SX/1582 – Bộ định thời

• Chức năng Input capture

Trang 40

H8SX/1582 – Bộ định thời

• Đồng bộ hóa giữa các kênh

Trang 41

H8SX/1582 – Bộ định thời

• Chức năng Buffer

Trang 42

H8SX/1582 – Bộ định thời

• Chức năng PWM

Trang 43

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

Trang 44

H8SX/1582 – Bộ A/D Converter

Trang 45

H8SX/1582 – Bộ A/D Converter

• Chế độ đơn kênh

Trang 46

H8SX/1582 – Bộ A/D Converter

• Chế độ đa kênh

Trang 47

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

Trang 48

H8SX/1582 – Bộ giao tiếp nối tiếp

Trang 49

H8SX/1582 – Bộ giao tiếp nối tiếp

• Ví dụ: truyền bất đồng bộ 8bit, parity, 1

stop bit

Trang 50

H8SX/1582 – Bộ giao tiếp nối tiếp

• Ví dụ: nhận bất đồng bộ 8bit, parity, 1 stop bit

Trang 51

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ếtlậ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ắtquã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ếtlậ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ỗitruyền

Trang 52

H8SX/1582 – Bộ điều khiển DMA

Trang 53

H8SX/1582 – Bộ điều khiển DMA

• Chế độ địa chỉ đôi

Trang 54

H8SX/1582 – Bộ điều khiển DMA

• Chế độ địa chỉ đơn (data flow)

Trang 55

H8SX/1582 – Bộ điều khiển DMA

• Chế độ địa chỉ đơn

Ngày đăng: 08/05/2021, 17:47

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

w