Các thanh ghi của bộ A/D

Một phần của tài liệu Bài tập thực hành vi điều khiển H8SX1582 (Trang 73)

9.3.1 Thanh ghi d liu A/D (ADDRA ti ADDRH)

Có 8 thanh ghi ADDR 16 bit chỉ đọc, ADDRA tới ADDRH, dùng để chứa kết quả của bộ chuyển A/D. Các thanh ghi ADDR sẽ chứa kết quả chuyển của từng kênh tương ứng, được mô tảở bảng 8.2

Dữ liệu 10 bit đã chuyển được lưu ở các bit 15 tới 6. 6 bit dữ liệu thấp luôn được đọc là 0.

Bus dữ liệu giữa bộ chuyển A/D và CPU có độ rộng 16 bit. Dữ liệu có thể được đọc trực tiếp từ CPU. ADDR không được truy xuất từng 8 bit một mà phải truy xuất cả 16 bit.

Kênh nhập tuần tự Thanh ghi dữ liệu A/D chứa kết quả trả về

AN0 ADDRA AN1 ADDRB AN2 ADDRC AN3 ADDRD

AN4 ADDRE AN5 ADDRF AN6 ADDRG AN7 ADDRH

9.3.2 Thanh ghi điu khin/trng thái A/D (ADCSR)

ADCSR điều khiển tác vụ chuyển A/D.

Bit Tên bit Giá trị

khởi đầu

R/W Mô tả

7 ADF 0 (R/W)* Cờ kết thúc A/D

6 ADIE 0 R/W Cho phép ngắt quãng A/D 5 ADST 0 R/W Bắt đầu A/D 4 -- 0 R/W Không dùng 3 2 1 0 CH3 CH2 CH1 CH0 0 0 0 0 R/W R/W R/W R/W Chọn kênh 3 tới 0

Khi SCANE = 0 và SCANS = X 0000: AN0 0001: AN1 0010: AN2 0011: AN3 0100: AN4 0101: AN5 0110: AN6 0111: AN7 1XXX: Cấm thiết lập

Khi SCANE = 1 và SCANS = 0 0000: AN0 0001: AN0 và AN1 0010: AN0 to AN2 0011: AN0 to AN3 0100: AN4 0101: AN4 và AN5 0110: AN4 to AN6 0111: AN4 to AN7 1XXX: Cấm thiết lập

Khi SCANE = 1 và SCANS = 1 0000: AN0 0001: AN0 và AN1 0010: AN0 to AN2 0011: AN0 to AN3 0100: AN0 to AN4 0101: AN0 to AN5 0110: AN0 to AN6

0111: AN0 to AN7 1XXX: Cấm thiết lập

9.3.3 Thanh ghi điu khin A/D (ADCR)

ADCR cho phép việc chuyển A/D được khởi động bởi một tín hiệu ngoại

Bit Tên bit Giá trị

khởi đầu R/W Mô tả 7 6 TRGS1 TRGS0 0 0 R/W R/W Chọn bộđếm 1 và 0

00: Chuyển A/D bắt đầu bởi tín hiệu ngoại bị cấm 01: Chuyển A/D bắt đầu bởi tín hiệu ngoại từ TPU

được cho phép 10: Cấm thiết lập

11: Chuyển A/D bắt đầu bởi chân ADTRG được cho phép* 5 4 SCANE SCANS 0 0 R/W R/W Chếđộ scan 0X: Chếđộđơn

10: Chếđộ scan. Việc chuyển A/D được thực hiện liên tục cho các kênh 1 tới 4.

11: Chếđộ scan. Việc chuyển A/D được thực hiện liên tục cho các kênh 1 tới 4.

3 2 CKS1 CKS0 0 0 R/W R/W Chọn clock 1 và 0

00: Thời gian chuyển A/D= 530 chu kỳ (tối đa) 01: Thời gian chuyển A/D= 266 chu kỳ (tối đa) 10: Thời gian chuyển A/D= 134 chu kỳ (tối đa) 11: Thời gian chuyển A/D= 68 chu kỳ (tối đa) 1 0 -- 0 0 R R Không dùng. 9.4 Các hot động ca b A/D Hai chếđộ hoạt động:

o Chếđộđơn: Chuyển đổi A/D đơn kênh

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

9.4.1 Chếđộ đơn

Trong chế độ đơn, việc chuyển A/D chỉ được thực hiện một lần trên ngõ nhập tuần tự là một kênh đơn được chỉđịnh.

1. Việc chuyển A/D cho kênh được chọn bắt đầu khi bit ADST được lập lên 1 bởi phần mềm hoặc tín hiệu ngoại.

2. Khi việc chuyển A/D hoàn thành, kết quả sẽđược trả về cho thanh ghi dữ liệu A/D tương ứng của kênh.

3. Khi việc chuyển A/D hoàn thành, bit ADS trong ADCSR được lập lên 1. Nếu bit ADIE được lập lên 1 trong cùng thời điểm, một yêu cầu ngắt quãng ADI sẽđược phát ra.

4. Bit ADST vẫn là 1 trong khi chuyển A/D, và nó tự động được xóa về 0 khi việc chuyển A/D kết thúc. Bộ chuyển A/D vào trạng thái chờ. Nếu bit ADST được xóa về 0 trong khi đang chuyển, việc chuyển đổi sẽ dừng ngay lập tức và bộ chuyển vào trạng thái chờ.

9.4.2 Chế độ scan

Trong chếđộ scan, việc chuyển A/D sẽđược thực hiện lần lượt trên 4 hoặc 8 kênh ngõ nhập tuần tự.

1. Khi bit ADST trong thanh ghi ADCSR được lập lên 1 bởi phần mềm, TPU, hoặc một tín hiệu ngoại, việc chuyển A/D sẽ bắt đầu trên kênh đầu tiên của nhóm. Việc chuyển A/D liên tiếp tới 4 kênh (SCANE và SCANS = B’10) hoặc tới 8 kênh (SCANE và SCANS = B’11) có thể được chọn. Khi việc chuyển A/D liên tiếp được thực hiện trên 4 kênh, chuyển A/D bắt đầu từ AN0 khi CH3 và CH2 = B’00, trên AN4 khi CH3 và CH2 = B’01, trên AN8 khi CH3 và CH2 = B’10, trên AN12 khi CH3 và CH2 = B’11. Khi việc chuyển A/D liên tiếp trên 8 kênh, việc chuyển A/D bắt đầu trên AN0 khi CH3 = B’0 và trên AN8 khi CH3 = B’1.

2. Khi việc chuyển A/D trên từng kênh được hoàn thành, kết quả sẽđược ghi vào các thanh ghi ADDR tương ứng của từng kênh.

3. Khi việc chuyển A/D trên từng kênh được hoàn thành, bit ADF trong ADCSR được lập lên 1. Nếu bit ADIE được lập lên 1 trong cùng thời điểm, một yêu cầu ngắt quãng ADI được phát ra. Việc chuyển A/D trên kênh thứ nhất của nhóm được bắt đầu lại.

4. Bit ADST không được xóa tự động, và bước [2] tới [3] sẽđược lặp lại cho tới khi bit ADST vẫn còn là 1. Khi bit ADST được xóa về 0, việc chuyển A/D sẽ ngừng và bộ chuyển A/D đi vào trạng thái chờ. Nếu bit ADST được lập lên 1, bộ chuyển sẽ bắt đầu lại từ kênh đầu tiên.

9.4.3 Ví d s dng b A/D

Trong ví dụ này sử dụng bộ AD0 trong chế độ scan, lập trình chuyển 530 trạng thái:

Hàm cho phép module A/D:

9.5 Bài tp

9.5.1 Bài tp 1

Sử dụng bộ chuyển đổi AD0 trong chếđộ scan, đưa giá trị được chuyển đổi hiển thị ra LED 7 đoạn (giá trị được chuyển đổi được lưu trong thanh ghi ADDRA). Xoay núm điều khiển trên starterkit để thấy được sự thay đổi của giá trị này.

Bài 10: Khảo sát bộ truyền dữ liệu DTC (Data Tranfer Controller)

10.1 Ni dung bài thí nghim

Phần hướng dẫn này sẽ giải thích các vấn đề sau đây:

• Khảo sát bộ truyền dữ liệu DTC của vi điều khiển H8SX/1582

• Sử dụng bộ DTC của H8SX/1582 viết và thực thi chương trình truyền dữ liệu từ RAM vào RAM.

10.2 Tng quan v b truyn d liu DTC

DTC là bộ truyền dữ liệu. Nó có ba chế độ truyền dữ liệu khác nhau đó là: Bình thường/Lặp/Khối. Có thể hoạt động ở chếđộđịa chỉ ngắn hay đầy đủ. Ở chếđộ địa chỉ ngắn thì thông tin truyền được cấp phát trên giới hạn 3 longword. Ởđịa chỉ đầy đủ thì thông tin truyền được cấp phát trên giới hạn 4 longword. Kích thước dữ liệu có thể được thiết lập là byte, word, hay longword.

10.3 Các thanh ghi ca DTC

10.3.1 Thanh ghi chế độ A (MRA)

Thanh ghi MRA lựa chọn chế độ hoạt động của DTC. CPU không thể truy xuất trực tiếp đến thanh ghi MRA.

Bit Tên Bit Giá trị khởi đầu R/W Đặc tả 7 MD1 6 MD0 Không xác định --- Các bit l00: Chếđộựa ch bình thọn chườếđộng DTC 01: Chếđộ lặp 10: Chếđộ chuyển khối 11: Cấm thiết lập 5 Sz1 Không xác định --- 4 Sz0 Không xác định --- Các bit lựa chọn kích thước dữ liệu của DTC 00: chuyển theo kích thước là byte

01: chuyển theo kích thước là word 10: chuyển theo kích thước là longword 11: cấm thiết lập 3 SM1 Không xác định --- 2 SM0 Không xác định --- Các bit lựa chọn chếđộ địa chỉ nguồn 0X: giá trị trong thanh ghi SAR không thay đổi

bỏ qua)

10: giá trị trong thanh ghi SAR sẽ tăng sau mỗi lần chuyển dữ liệu (tăng 1 nếu kích thước dữ liệu truy xuất là byte, 2: word, 4:

longword)

11: giá trị trong thanh ghi SAR sẽ giảm sau mỗi lần chuyển dữ liệu (giảm1 nếu kích thước dữ liệu truy xuất là byte, 2: word, 4:

longword) 1,0 --- 0 --- Không dùng

Giá trị ban đầu không thể thay đổi

10.3.2 Thanh ghi chế độ B (MRB)

Thanh ghi MRB là thanh ghi lựa chọn chế độ của bộ điều khiển truyền dữ liệu DTC. CPU không thể truy xuất trực tiếp MRB.

Bit Tên Bit Giá trị khởi đầu R/W Đặc tả 7 CHNE Không

xác định --- Cho phép chuy0: Cấm truyền dển dữ liữệu dây chuy liệu dây chuyền ền 1: Cho phép truyền dữ liệu dây chuyền

6 CHNS Không

xác định --- 0: TruyĐiều kiệền truyn dây chuyền dữề lin mệu dây chuyọi lúc ền

1: Truyền dây chuyển chỉ khi mà đếm truyền bằng 0 (transfer counter =0) 5 DISEL Không xác định --- Lựa chọn ngắt DTC 4 DTS Không xác định --- L0: Chựa chỉđịọn chnh vùng lếđộ truyặp/khền cối là ủa DTC đích 1: Chỉđịnh vùng lặp/khối là nguồn 3 DM1 Không xác định --- 2 DM0 Không xác định --- Bit Chếđộđịa chỉ nguồn 0X: DAR sẽ bị cốđịnh

10: DAR sẽ tăng sau một hoạt động truyền dữ liệu (tăng 1 nếu dữ liệu truy xuất là byte, 2 nếu là word, 4 nếu là longword)

11: DAR sẽ giảm sau một hoạt động truyền dữ liệu

1, 0 --- 0 --- Không dùng

Thanh ghi SAR là một thanh ghi 32-bit, chỉ rõ địa chỉ nguồn của dữ liệu sẽđược truyền bởi bộđiều khiển truyền dữ liệu DTC.

Trong chế độ địa chỉ full, thì 32-bit của thanh ghi SAR là hợp lệ. Trong chế độ địa chỉ ngắn, thì chỉ có 24-bit thấp là hợp lệ và các bit từ 31 đến 24 sẽ bị bỏ qua.

Nếu một truy xuất dữ liệu ở dạng word hay longword được thực hiện trong khi thanh ghi SAR đang chứa một địa chỉ lẻ hay nếu truy xuất longword trong khi thanh ghi SAR chứa một địa chỉ có dạng 4n+2, thì chu kỳ bus sẽ bị chia nhỏ thành nhiều chu kỳđể truyền dữ liệu. Chi tiết tham khảo phần 10.5.1, Chia nhỏ chu kỳ bus.

CPU không thể truy xuất trực tiếp thanh ghi SAR.

10.3.4 Thanh ghi địa ch đích (DAR)

Thanh ghi DAR là một thanh ghi 32-bit, xác định địa chỉ đích của dữ liệu được truyền đến bởi bộđiều khiển truyền dữ liệu DTC

Trong chế độ địa chỉ dài (đầy đủ), thì cả 32 bit của thanh ghi DAR đều hợp lệ. Trong chếđộ ngắn thì chỉ có 24 bit thấp của DAR là hợp lệ các bit còn lại bị bỏ qua.

Nếu một hoạt động truy xuất một word hay một longword được thực hiện trong khi thanh ghi DAR đang chứa một địa chỉ lẻ, hay một hoạt động truy xuất bộ nhớ longword mà thanh ghi DAR lại chứa một địa chỉ 4n+2 thì chu kỳ bus sẽ được chia thành nhiều chu kỳ truyền dữ liệu nhỏ hơn. Chi tiết, tham khảo phần 10.5.1, Chia chu kỳ Bus

CPU không thể truy xuất trực tiếp thanh ghi DAR.

10.3.5 Thanh ghi counter A (CRA) (thanh ghi đếm truyn)

Thanh ghi DRA là một thanh ghi 16-bit nó xác định số lần dữ liệu được truyền bởi bộđiều khiển truyền dữ liệu DTC.

CPU không thể truy xuất trực tiếp thanh ghi CRA.

10.3.6 Thanh ghi counter B (CRB)

Thanh ghi CRB là một thanh ghi 16-bit, xác định số lần dữ liệu được chuyển bởi DTC trong chếđộ truyền khối. Nó thực hiện chức năng như một bộđếm truyền 16-bit (từ 1 đến 65 536), nó sẽ giảm 1 mỗi lần dữ liệu được chuyển và các bit DTCEn (n=15 đến 0) tương ứng với nguồn kích hoạt (activation source) sẽ bị xóa, sau đó một ngắt quãng sẽđược gửi đến CPU khi mà đếm này đạt đến giá trị bằng H’0000. Đếm truyền có giá trị là 1 khi CRB = H’0001, và 65 535 khi CRB = H’FFFF, và 65 536 khi CRB = H’0000.

Thanh ghi CRB không cho phép trong chếđộ bình thường và chếđộ lặp và CPU không thể truy xuất trực tiếp thanh ghi này.

DTCER bao gồm 8 thanh ghi 16 bit, DTCERA đến DTCERH, nó là thanh ghi mà xác định nguồn ngắt quãng của DTC. Sự tương ứng giữa nguồn ngắt quãng và các bit DTCE được trình bày trong bảng 10.1. Sử dụng các câu lệnh thao tác trên bit như BSET và BCLR để đọc hay ghi vào một bit DTCE. Nếu tất cả các ngắt quãng đều bị che, thì nhiều nguồn kích hoạt (multiple activation sources) có thể được thiết lập một lần (chỉ vào lúc khởi động) bằng việc ghi dữ liệu sau khi thực thi một thực thi một hoạt động độc giả trên thanh ghi liên quan.

Bit Tên bit Giá trị

khởi đầu R/W Đặc tả 15 DTCE15 0 R/W 14 DTCE14 0 R/W 13 DTCE13 0 R/W 12 DTCE12 0 R/W 11 DTCE11 0 R/W 10 DTCE10 0 R/W 9 DTCE9 0 R/W 8 DTCE8 0 R/W 7 DTCE7 0 R/W 6 DTCE6 0 R/W 5 DTCE5 0 R/W 4 DTCE4 0 R/W 3 DTCE3 0 R/W 2 DTCE2 0 R/W 1 DTCE1 0 R/W 0 DTCE0 0 R/W Cho phép kích hoạt DTC

Việc thiết lập các bit này xác định một ngắt quãng liên quan tới một nguồn kích hoạt DTC

[Điều kiện xóa]

- Khi ghi giá trị 0 vào bit này sau khi nó được đọc với giá trị là 1

- Khi mà bit DISEL là 1 và 1 việc chuyển dữ liệu đã hoàn tất.

- Khi một số lần truyền xác định đã kết thúc

Các bit này sẽ không xóa được khi mà bit DISEL có giá trị là 0 và việc luân chuyển dữ liệu chưa kết thúc

10.3.8 Thanh ghi điu khin (DTCCR)

Thanh ghi DTCCR chỉ định hoạt động kích hoạt DTC bởi phần mềm và bỏ qua việc đọc thông tin chuyển dữ liệu

Chú ý: * chỉ giá trị 0 mới được ghi vào các bit này để xóa cờ.

Bit Tên bit Giá trị

khởi đầu R/W Đặc tả

7-5 --- 0 R Không dùng

4 RRS 0 R/W Cho phép bỏ qua việc đọc thông tin truyền dữ liệu

0: Bỏ qua việc đọc thông tin truyền không được cho phép.

1: Bỏ qua đọc thông tin truyền được cho phép khi mà các chỉ số vector là trùng khớp.

3 RCHNE 0 R/W Cho phép truyền dữ liệu dây chuyền sau khi truyền dữ liệu lặp.

0: Cấm hoạt động truyền dữ liệu dây chuyền sau khi truyền dữ liệu lặp

1: Cho phép động truyền dữ liệu dây chuyền sau khi truyền dữ liệu lặp

2, 1 --- 0 R Không dùng

0 ERR 0 R/(W)* Cờ dừng chuyển dữ liệu 0: Không có ngắt

1: Có ngắt xảy ra

10.3.9 Thanh ghi nn vector (DTCVBR)

Thanh ghi DTCVBR là một thanh ghi 32-bit, xác định địa chỉ nền để hỗ trợ cho việc tính địa chỉ bảng vector. Các bit 31-28 và các bit 11 đến 0 được cố định là 0 và không thể ghi vào các bit này. Giá trị khởi tạo cho DTCVBR là H’0000 0000

10.4 Các chế độ hot động ca DTC

10.4.1 Chế độ truyn bình thường

Trong chế độ bình thường, một lần truyền 1 byte, 1 word, hay 1 longword dữ liệu. Từ 1 đến 65536 lần truyền có thể được chỉ định. Địa chỉ nguồn và đích có thể được chỉ định là tăng, giảm hay cốđịnh. Khi mà số lần truyền được chỉ định kết thúc, thì một ngắt quãng sẽđược phát sinh cho CPU.

Thanh ghi Chức năng Giá trị writeback

SAR Địa chỉ nguồn Tăng/giảm/cốđịnh DAR Địa chỉđích Tăng/giảm/cốđịnh

CRA Đếm truyền A CRA - 1

CRB Đếm truyền B Không cập nhật

10.4.2 Chế độ truyn chui

Trong chế độ truyền khối, một lần truyền một khối (block) dữ liệu. Hoặc là địa chỉ nguồn hoặc là địa chỉ đích là được chỉ định là vùng khối bởi bit DTS trong thanh ghi MRB.

Kích thước khối từ 1 đến 256 byte (1 đến 256 word, hay longword). Khi truyền xong 1 khối dữ liệu, thì thanh ghi đếm kích thước khối (CRAL) và thanh ghi địa chỉ

Một phần của tài liệu Bài tập thực hành vi điều khiển H8SX1582 (Trang 73)

Tải bản đầy đủ (PDF)

(105 trang)