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

Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên

99 606 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 99
Dung lượng 5,68 MB

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

Nội dung

Khung ngoại vi PF0 bao gồm các thanh ghi để điều khiển tốc độ của bộ nhớ flash bên trong người lập trình có thể truy cập một lần trên mỗi chu kỳ xung clock.. Khi các tính năng này được s

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

- -

TRẦN THỊ HẢI YẾN

TÁC ĐÀO TẠO TẠI TRUNG TÂM THÍ NGHIỆM TRƯỜNG ĐẠI HỌC KTCN THÁI

LUẬN VĂN THẠC SĨ KỸ THUẬT

Ngành: Kỹ thuật điều khiển và tự dộng hóa

Thái Nguyên - năm 2014

Trang 2

LỜI CAM ĐOAN

Tên tôi là: Trần Thị Hải Yến

Sinh ngày : 12 tháng 04 năm 1986

Học viên lớp cao học khoá 14 - Tự động hoá - Trường Đại học Kỹ Thuật Công Nghiệp Thái Nguyên – Đại học Thái Nguyên

Hiện đang công tác tại Trường Đại học Kỹ Thuật Công Nghiệp Thái Nguyên – Đại học Thái Nguyên

Tôi cam đoan toàn bộ nội dung trong luận văn do tôi làm theo định hướng của giáo viên hướng dẫn, không sao chép của người khác

Các phần trích lục các tài liệu tham khảo đã được chỉ ra trong luận văn

Nếu có gì sai tôi hoàn toàn chịu trách nhiệm

Tác giả luận văn

Trần Thị Hải Yến

Trang 3

LỜI NÓI ĐẦU

1 Tính cấp thiết cua đề tài

Chúng ta đang sống trong một kỷ nguyên hiện đại và đang được thừa hưởng những thành quả tiến bộ nhất của khoa học kỹ thuật Cùng với sự phát triển của các nghành khoa học kỹ thuật khác như điện tử, tin học, công nghệ điện tử viễn thông, tự động hóa các dây truyền sản xuát vì vậy ngành tự động hóa đang phát triển mạnh mẽ nó góp phần tăng năng xuất lao động và giảm chi phí về giá thành của các mặt hàng vì vậy tự động hóa không chỉ hiện đại và đa dạng mà còn có nhiều phương án tối ưu nhằm tiết kiệm chi phí và nâng cao hiệu quả trong sản xuất

Là một giáo viên của khoa Điện - Trường Đại học Kỹ Thuật Công Nghiệp Thái Nguyên – Đại học Thái Nguyên trực tiếp tham gia đào tạo, nên tôi rất quan tâm đến hệ thống sử dụng điều khiển số vào ứng dụng điều khiển, trong đề tài này tôi muốn đề cập đến việc sử dụng TMS320 vào trong điều khiển

Xuất phát từ những lý do trên tôi chọn đề tài : “Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm Trường Đại học KTCN Thái Nguyên”

2 Mục tiêu của luận văn

Xây dựng hệ thí nghiệm điều khiển động cơ sử dụng vi xử lý TMS phục vụ cho công tác đào tào tại Trường Đại học Kỹ Thuật Công Nghiệp Thái Nguyên – Đại học Thái Nguyên

Trên cơ sở thiết bị hiện có của trường và nội dung chương trình đào tạo, dựa vào kết quả nghiên cứu này, tiến hành triển khai thành các modul thực hành phục vụ công tác đào tạo cho Trường Đại học Kỹ Thuật Công Nghiệp Thái Nguyên – Đại học Thái Nguyên

3 Đối tượng nghiên cứu

- Vi xử lý TMS320

- Động cơ tuyến tính

4 Ý nghĩ khoa học và thực tiễn của đề tài

Nâng cao được chất lượng đào tạo nghề của nhà trường

Đáp ứng được yêu cầu của thực tế sản xuất do hiện nay trong thực tế đang sử dụng rộng rãi hệ thông này trong các thiết bị đòi hỏi chất lượng điều khiển

5 Kết cấu của luận văn của luận văn

Với mục tiêu đặt ra, nội dung luận văn bao gồm các chương sau:

Chương 1: Khái quát phần cứng vi xử lý TMS320 và phần mềm đi kèm và đánh

Trang 4

động cơ (động cơ điện 1 chiều, xoay chiều, servo ), thiết bị điều khiển quá trình

Chương 2: Ứng dụng vi xử lý TMS320 vào việc thiết kế bộ điều khiển cho một

đối tượng cụ thể (có thể là động cơ điện 1 chiều, xoay chiều, động cơ servo, thiết

bị điều khiển quá trình), hiện có tại trung tâm thí nghiệm trường ĐHKTCN Thái Nguyên Tiến hành mô phỏng

Chương 3: Kết luận và thực nghiệm

Kết luận và kiến nghị

Để hoàn thành được luận văn, ngoài sự cố gắng của bản thân, tác giả đã nhận được

sự hướng dẫn tận tình của cán bộ hướng dẫn TS Cao Xuân Tuyển và sự giúp đỡ của

trường Đại học Kỹ thuật công nghiệp - Đại học Thái Nguyên, tập thể thầy cô giáo của Khoa Điện và khoa Sau đại học và bạn bè đồng nghiệp

Tôi xin chân thành cám ơn thầy giáo hướng dẫn và tập thể thầy cô giáo của Khoa Điện và khoa Sau đại học - trường Đại học Kỹ thuật công đã giúp đỡ tôi hoàn thành luận văn và chương trình học tập

Thái Nguyên, ngày tháng năm 2014

Tác giả luận văn

Trần Thị Hải Yến

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI NÓI ĐẦU iii

MỤC LỤC v

DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU vi

CHƯƠNG 1 1

KHÁI QUÁT PHẦN CỨNG VI XỬ LÝ TMS320 VÀ PHẦN MỀM ĐI KÈM 1

ĐÁNH GIÁ KHẢ NĂNG ỨNG DỤNG CỦA TMS320 TRONG ĐIỀU KHIỂN 1

1.1 TỔNG QUAN VỀ TMS320 1

1.1.1 CẤU TRÚC DSP TMS320F2812 1

1.1.2 Cổng vào ra số ( Digital I/O ) 10

1.1.3 Chuyển đổi tương tự số ( ADC) 18

1.1.4 Hệ thống ngắt F2812 25

1.1.5 Modul quản lý sự kiện (EV ) 30

1.2 CÁC MÔI TRƯỜNG PHẦN MỀM HỖ TRỢ PHÁT TRIỂN DSP F281x 32

1.2.1 Sử dụng trình biên dịch CCS (Code Composer Studio) 32

1.2.2 Sử dụng môi trường lập trình đồ họa ViSsim 34

1.2.3 Matlab và gói phần mềm hỗ trợ lập trình cho DSP TIC2000 35

1.3 VÍ DỤ ỨNG DỤNG TMS320 VÀO TRONG ĐIỀU KHIỂN 36

KẾT LUẬN CHƯƠNG 1: 38

CHƯƠNG 2 38

ỨNG DỤNG VI XỬ LÝ TMS320 VÀO THIẾT KẾ BỘ ĐIỀU KHIỂN 39

2.1 Đặt vấn đề 39

2.2 Khái Quát về đối tượng điều khiển 40

2.2.1 Đặc điểm của một hệ chuyển động thẳng 40

2.2.2 Khái quát về các phương pháp điều khiển động cơ tuyến tính 41

2.3 Mô hình hóa ĐCTT 43

2.3.1 Nguyên lý cấu tạo và làm việc của động cơ tuyến tính 43

2.3.2 Mô hình toán học động cơ tuyến tính tương tự như động cơ bước unipolar 50

2.3.3 Mô hình hóa động cơ tuyến tính ba pha loại ĐB – KTVC 52

2.4 KHÁI QUÁT PHẦN CỨNG 59

2.4.1 Mô tả cấu trúc điều khiển 59

2.4.2 Mạch cứng sử dụng TMS320 và ULN2803 67

2.5 MÔ PHỎNG VÀ PHẦN MỀM ĐIỀU KHIỂN 70

2.5.1 Động cơ tuyến tính đồng bộ được sử dụng khi mạch từ là nam châm vĩnh cửu 70

2.5.2 Động cơ tuyến tính đồng bộ - kích thích vĩnh cửu 73

2.5.3 Phần mềm điều khiển 76

KẾT LUẬN CHƯƠNG 2 85

CHƯƠNG 3 85

THỰC NGHIỆM VÀ KẾT LUẬN 86

3.1 THỰC NGHIỆM 86

3.2 KẾT LUẬN CHO PHẦN THỰC NGHIỆM 89

KẾT LUẬN VÀ KIẾN NGHỊ 90

TÀI LIỆU THAM KHẢO 91

Trang 6

DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU

Hình 1 1 Sơ đồ nối chân TMS320F2812 3

Hình 1 2 Sơ đồ cấu trúc các chức năng của F2812 5

Hình 1 3 Phân vùng bộ nhớ TMS320 6

Hình 1 4 Bản đồ ngoại vi TMS320F2812 10

Hình 1 5 Phân vùng bộ nhớ TMS320F2812 11

Hình 1 6 Các GPIO PORT TMS320F2812 12

Hình 1 7 Cấu trúc thanh ghi GPIO TMS320F2812 12

Hình 1 8 Sơ đồ khối GPIO TMS320F2812 13

Hình 1 9 Các thanh ghi GPIO TMS320F2812 14

Hình 1 10 C28x clock modul 14

Hình 1 11 Các thanh ghi điều khiển xung clock ngọai vi 15

Hình 1 12 Sơ đồ khối modul watchdog timer 16

Hình 1 13 Thanh ghi điều khiển watchdog timer 17

Hình 1 14 Thứ tự ghi vào thanh ghi WDKEY 18

Hình 1 15 Modul ADC trong chế độ nối tầng 19

Hình 1 16 Modul ADC trong chế độ Dual Sequencer 20

Hình 1 17 Thiết lập nguồn xung 25MHZ cho modul ADC 20

Hình 1 18 Các thanh ghi modul ADC 21

Hình 1 19 Byte cao thanh ghi ADC Control 1 22

Hình 1 20 Byte thấp thanh ghi ADC Control 1 22

Hình 1 21 Byte cao thanh ghi ADC Control 2 23

Hình 1 22 Byte thấp thanh ghi ADC Control 2 23

Hình 1 23 Thanh ghi ADC control Register 3 24

Hình 1 24 Thanh ghi ADC MAXCONV 24

Hình 1 25 Thanh ghi ADC Input Channel Select Sequencing Control Register 25

Hình 1 26 Lines Interrupt 25

Hình 1 27 Các nguồn reset hệ thống 26

Hình 1 28 Các nguồn ngắt 26

Hình 1 29 Thanh ghi cờ ngắt 27

Hình 1 30 Thanh ghi cho phép ngắt 27

Hình 1 31 Mở rộng ngắt ngoại vi 28

Hình 1 32 Bảng phân bổ ngắt 28

Hình 1 33 Véc tơ ngắt lúc thiết lập lại 28

Hình 1 34 Bản đồ véc tơ PIE sau khi thiết lập lại 29

Hình 1 35 Sơ đồ khối của bộ timer 29

Hình 1 36 Sơ đồ khối modul quản lý sự kiện 31

Hình 1 37 Sơ đồ khối bộ định thời mục đích chung 32

Hình 1 38 Môi trường làm việc của CCS 33

Hình 1 39 Phương thức liên kết matlab và TIC2000 35

Hình 1 40 Mạch điều khiển hoàn tất với các tín hiệu điều khiển đưa đến đối tượng 36

Hình 1 41 Mô hình con lắc ngược trên xe 37

Hình 1 42 Mô hình xe hai bánh cân bằng 37

Hình 1 43 Cấu trúc điều khiển số vị trí động cơ DC servo phản hồi 37

Hình 2 1 Hệ chuyển động thẳng gián tiếp sử dụng cơ cấu trục vít và đai truyền 40

Hình 2 2 Hình ảnh ĐCTT thu được khi trải dài động cơ quay tròn 41

Hình 2 3 Cấu tạo của động cơ truyền động thẳng 44

Trang 7

Hình 2 4 Động cơ tuyến tính đang xét tương tự như động cơ bước unipolar 44

Hình 2 5 Cấu tạo các cuộn dây động cơ bước unipolar 44

Hình 2 6 Cấu tạo các cuộn dây động cơ bước unipolar 44

Hình 2 7: Chuyển mạch của rotor ở chế đọ nửa bước 46

Hình 2 8 Giản đồ dạng xung ở chế độ nửa bước 47

Hình 2 9: Sơ đồ mô tả chế độ bước đủ một pha được cấp xung 48

Hình 2 10: Giản đồ dạng xung ở chế độ một pha ON 48

Hình 2 11 :Ché độ bước đủ hai pha được cung cấp xung 49

Hình 2 12: Giản đồ dạng xung ở chế độ hai pha ON 50

Hình 2 13 Mô hình động cơ tuyến tính 51

Hình 2 14 Biểu diễn các đại lượng vật lý thông qua hệ trục tọa độ trong ĐCTT kiểu ĐB – KTVC 3 pha 53

Hình 2 15 Mô hình động cơ tuyến tính ĐB - KTVC trong không gian trạng thái trên hệ toạ độ dq 55

Hình 2 16 Mô tả vector dòng điện i s trên các hệ trục toạ độ α, β, abc, dqˆˆ, dq 57

Hình 2 17 TOP2812 60

Hình 2 18 TOP2812 và các phụ kiện đi kèm 61

Hình 2 19: Vị trí cổng COM, jack cấp nguồn cho kit 61

Hình 2 20Vị trí các thành phần trong kit TOP2812 62

Hình 2 21 Adapter chuyển đổi giao tiếp USB - JTAG 62

Hình 2 22: đĩa mã hóa và nguyên lý hoạt động encoder tương đối 64

Hình 2 23 dạng xung của các kênh đầu ra 64

Hình 2 24 Bố trí các cặp thu phát 65

Hình 2 25 Đĩa mã hóa encoder tuyệt đối 2 rãnh 66

Hình 2 26 Đĩa mã hóa encoder tuyệt đối 8 rãnh 66

Hình 2 27 Mạch cứng sử dụng TMS320 và ULN2803 ghép nối với các cuận dây của động cơ 68

Hình 2 28 Sơ đồ khối mạch hở 70

70

(mạch này dùng chung cho cả mạch hở và mạch kín) 71

Hình 2 31 kết quả mô phỏng trong Matlab của hệ hở 72

, , góc bước sau quá trình mô phỏng 72

Hình 2 33 73

Hình 2 34: sơ đồ khối sử dụng biến tần, vi xử lý trong điều khiển 74

Hình 2 35: Sơ đồ ghép nối TMS320 với biến tần 74

Hình 2 36 Cấu trúc điều khiển ĐCTT loại ĐB – KTVC 3 pha sử dụng TTHCX 74

Hình 2 37 Mô hình mô phỏng điều khiển ĐCTT loại ĐB – KTVC theo phương pháp TTHCX 75

Hình 2 38 Kết quả đáp ứng tốc độ mô phỏng theo phương pháp TTHCX 76

Hình 3 1 Adapter chuyển đổi giao tiếp USB – JTAG và Bo mạch TOP2812 86

Hình 3 2 ghép nối máy tính – TOP2812 và máy hiện sóng trong thí nghiệm 86

Hình 3 3 Xung tín hiệu đưa vào cuận dây của động cơ ở chế độ bước đủ một pha được cấp xung 87

Hình 3 4 Xung tín hiệu đưa vào cuận dây của động cơ ở chế độ bước đủ cả hai pha được cung cấp xung 87

Trang 8

Hình 3 7 ghép nối đối tƣợng điều khiển với biến tần, bo mạch và máy tính 89

Bảng 1Các tài nguyên của TMS320F2812 [6] 4

Bảng 2 Bảng chọn chế độ khởi động 8

Bảng 3 Bảng thống kê dấu của dòng điện tại các pha 47

Bảng 4 Bảng thống kê dấu của dòng điện tại các pha: 49

Bảng 5 Bảng thống kê dấu của dòng điện tại các pha 50

Bảng 6 Thông số kỹ thuật: 59 Những từ viết tắt

Ký hiệu và

chữ viết tắt

Đơn vị Ý nghĩa

,

sq sd

L L H Điện cảm dọc trục và ngang trục của stator

m Kg Khối lƣợng của bộ phận sơ cấp (stator)

, i

s s

u V,A Vector điện áp, dòng stator

s

,i

sq sd

, u

sq sd

,

e m Rad/s Vận tốc góc điện, cơ

m Rad Vị trí góc (hình học) của động cơ quay

(d,jq) Hệ trục tọa độ tựa theo cực từ

(d jq , ) Hệtrục có tốc độ chuyển động tịnh tiến giống hệ tọa độ tựa

theo cực từ (d,jq) nhƣng có thể có sự sai lệch

f

f

Trang 9

CHƯƠNG 1 KHÁI QUÁT PHẦN CỨNG VI XỬ LÝ TMS320 VÀ PHẦN MỀM ĐI KÈM ĐÁNH GIÁ KHẢ NĂNG ỨNG DỤNG CỦA TMS320 TRONG ĐIỀU KHIỂN

1.1 TỔNG QUAN VỀ TMS320

1.1.1 CẤU TRÚC DSP TMS320F2812

1.1.1.1 Giới thiệu chung

TMS320F2812 và TMS320C2812, các thành viên của họ TMS320C28x ™ DSP, được tích hợp cao, hiệu suất cao, là giải pháp cho các yêu cầu ứng dụng điều khiển Chức năng Tổng quan, kiểu đóng gói và bản đồ bộ nhớ của TMS320C2812, TMS320F2812 và một số dòng thuộc họ C28x được trình bày trong các hình phía dưới Các đặc điểm cơ bản của F2812

- Công nghệ static CMOS

+ 1Kx16 loại OTP ROM + L0 và L1: 2 khối loại 4Kx16 + Có RAM truy cập đơn (Single-Access RAM: SARAM)

+ H0: 1 khối 8Kx16 SARAM + M0 và M1: 2 khối loại 1Kx16 SARAM

- Boot ROM (4Kx16) + Có Boot ROM Modes bằng Software

+ Standard Math Tables

- Giao diện ngoài (F2812) + Tối đa 1M bộ nhớ

- Kiểm soát xung đồng hồ và hệ thống + Hỗ trợ thay đổi động hệ số PLL + Oscillator trên phiến

+ Module đồng hồ Watchdog

- 3 ngắt ngoài

Trang 10

- Ngoại vi điều khiển máy điện

+ 2 bộ Event Managers (EVA, EVB)

+ Đủ cho tới 240 ngoại vi

- Ngoại vi tuần tự

+ Giao diện ngoại vi tuần tự (Serial

Peripheral Interface: SPI)

+ 2 giao diện truyền thông tuần tự

(Serial Communications Interface:

SCIs), Standard UART

+ Hỗ trợ truyền thông eCAN

(Enhanced controller Area Netword)

+ Multichannel Buffered Serial Port

(McBSP) With SPI Mode

- 16 kênh ADC 12 bit

+ Xen kênh 2x8 đầu vào + 2 bộ trích mẫu – giữ chậm (Sample-and-hold)

+ Chế độ trích mẫu đơn lẻ, trích mẫu liên tục (Single/Simultaneos Conversions)

+ Tần suất trích mẫu lớn: 80ns/12,5MSPS

- Có tới 56 chân vào/ra xen kênh khả trình (Multiplexed Gênral)

- Các đặc tính phỏng Chip nâng cao (Advanced Emulation Featuares) + Chức năng phân tích và đặc điểm dừng (Breakpoint)

+ gỡ rối thời gian thực bằng Hardware (Real-Time Debug via Hardware)

Trang 11

Hình 1 1 Sơ đồ nối chân TMS320F2812

Chức năng các chân đƣợc trình bày chi tiết trong data manual tức là trong tài liệu tham khảo số [6] từ trang 17 đến trang 25

Chi tiết về một số chức năng cơ bản của F2812 đƣợc trình bày trong các phần tiếp theo

Trang 12

Bảng 1Các tài nguyên của TMS320F2812 [6]

MS320F2812 có 2 kiểu đóng gói là kiểu GHH (179 chân ) và ZHH ( 176 chân)

Trang 13

Sơ đồ cấu trúc các chức năng của F2812 [6]

Hình 1 2 Sơ đồ cấu trúc các chức năng của F2812

Vùng đƣợc bảo mật bởi modul code – security

Trang 14

Phân vùng bộ nhớ

Hình 1 3 Phân vùng bộ nhớ TMS320

Chức năng các chân được trình bày chi tiết trong data manual tức là trong tài liệu tham khảo số [6] từ trang 30 đến trang 31

1.1.1.2 Giới thiệu tóm tắt mô tả

C28x ™ DSP thế hệ là thành viên mới nhất của nền tảng TMS320C2000 ™ DSP C28x là một công cụ rất hiệu quả của C/C + +, cho phép người dùng để phát triển không chỉ của hệ thống kiểm soát mềm bằng một ngôn ngữ cấp cao, cũng cho phép thực hiện thuật toán được phát triển bằng cách sử dụng C/C++

1 Memory Bus ( Hardvard Bus Architecture ) [6]

Cũng như những chip DSP khác, nhiều bus được dùng để di chuyển dữ liệu giữa những vùng dữ liệu và thiết bị ngoại vi của CPU Kiến trúc bộ nhớ của C28x chứa những bus đọc chương trình, bus đọc/ghi dữ liệu Bus đọc chương trình có 22 lines địa chỉ và 32 lines dữ liệu 32 lines dữ liệu cho phép truy cập 32 bit chức năng trong 1 chu

kì máy Kiến trúc nhiều bus, còn gọi là Harvard Bus, cho phép C28x lấy lệnh, đọc và

Trang 15

ghi dữ liệu trong vòng 1 chu kì máy Tất cả những ngoại vi và bộ nhớ được gắn vào bus

bộ nhớ sẽ ưu tiên cho việc truy suất bộ nhớ Ưu tiên của bus bộ nhớ truy cập có thể được tóm tắt như sau:

- Cao nhất:

+ Dữ liệu ghi (ghi dữ liệu và chương trình đồng thời không thể xảy ra trên bus bộ nhớ.) + Chương trình viết (đồng thời ghi dữ liệu và chương trình không thể xảy ra trên bus bộ nhớ.)

Hai phiên bản của bus ngoại vi được hỗ trợ trên F281x và C281x Một phiên bản chỉ hỗ trợ truy cập 16-bit (được gọi là thiết bị ngoại vi khung 2) và điều này vẫn giữ tính tương thích với thiết bị ngoại vi tương thích C240x Phiên bản khác hỗ trợ cả hai đường dẫn truy cập 16 và 32 bit (được gọi là thiết bị ngoại vi khung 1)

3 Real – Time JTAG và Analysis [6]

Họ F281x và C281x được tích hợp chuẩn JTAG IEEE 1149.1 Hơn nữa, họ F281x và C281x hỗ trợ real – time chức năng modified bộ nhớ, ngoại vi và vị trí thanh ghi bất cứ khi nào nhân xử lý đang chạy F281x và C281x tích hợp khả năng real – time trong phần cứng của CPU, đây là khả năng đặc biệt của dòng F281x và C281x, software monitor không còn được đòi hỏi nữa

4 External Interface (dao diện bên ngoài) [6]

Giao tiếp bất đồng bộ chứa 19 lines address, 16 lines dữ liệu và 3 chip select lines

Chip select lines được mã hóa thành 5 vùng bên ngoài, là Zones 0, 1, 2, 6 và 7 Mỗi Zone này có thể lập trình với những wait states, strobe signal setup và hold timing khác nhau

5 Flash [6]

F2812 chứa 128K x 16 bộ nhớ Flash Được chia thành bốn 8K x 16 sectors và 6 16K x 16 sector Hoạt động của flahs có thể được cải thiện bằng cách cho phép chức năng flash pipeline trong các thanh ghi điều khiển Flash

6 Các khối nhớ M0, M1 SARAMs và L0, L1, H0 SARAMs [6]

Trang 16

Mọi chip thuộc dòng C28x đều có 2 khối nhớ truy cập đơn với kích cỡ 1Kx16 mỗi khối Con trỏ ngăn xếp sẽ trỏ vào M1 sau khi reset Khối M0 trùng (overlap) địa chỉ với các khối Ram B0, B1, B2 của dòng 240x vàm do đó khi tổ chức cất dức liệu 240x xần phải lưu ý Hai khối M0 và M1 cũng có khối nhớ khác của dòng C24x Đều đươcim

tổ chức ở cả 2 không gian nhớ chương trình và số liệu

Dòng C24x có tổ chức bộ nhớ thống nhất trong toàn bộ dòng Điều này sẽ làm đơn giản them công tác lập trình bằng ngôn ngữ bậc cao Mỗi vùng này chứa 1K x 16 bộ nhớ RAM, có thể dùng để chứa chương trình hay dữ liệu 6 L0, L1, H0 SARAMs

F2812 chứa 16K x 16 single-access RAM, được chia thành 3 vùng là L0, L1, H0 Mỗi vùng này có thể dùng để chứa dữ liệu và chương trình

7 Boot ROM [6]

Vùng Boot ROM chứa boot-loading, được thực thi sau khi CPU được reset Nó

sẽ kiểm tra một số GPIO để quyết định chế độ nào để bắt đầu chương trình

Bảng 2 Bảng chọn chế độ khởi động

8 Bảo mật (Security) [6]

F281x và C281x hỗ trợ các mức độ cao về an ninh An ninh có một mật khẩu 128-bit Các tính năng an ninh ngăn chặn người dùng không được phép kiểm tra nội dung bộ nhớ thông qua cổng JTAG, thực thi mã từ bên ngoài bộ nhớ hoặc cố gắng để khởi động - tải một số phần mềm không mong muốn

9 Thiết bị ngoại vi ngắt khối mở rộng (PIE) [6]

Khối PIE phục vụ xen kênh nhiều nguồn ngắt khác nhau và quy chúng về thành một tập nhỏ cấc đầu ngắt Khối PIE có thể hỗ trợ 96 ngắt ngoại vi Trên chíp F2812:

+ Ngoại vi sử dụng tất cả 45 trong tổng 96 ngắt

+ 96 ngắt được phân thành các nhóm, mỗi nhóm là 8 ngắt được gán cho 1 trong

số 12 dãy ngắt cảu CPU (INT1 tới INT12)

+ Khi phục vụ ngắt, CPU sẽ tự động đọc vector ngắt, Thao tác đọc đó cần 9 nhịp xung đồng hồ của CPU và sẽ cất nội dung của các thanh ghi quan trọng Nhờ vậy, CPU

có thể phản ứng nhanh với các sự kiện ngắt Việc phân cấp ưu tiên của ngắt sẽ cho

Trang 17

hardware và software điều khiển Từng ngắt riêng rẽ có thể bị cấm, hay cho phéo trong khối PIE

10 External Interrupts (ngắt ngoài) (XINT1, XINT2, XINT13, XNMI) [6]

F281x và C281x hỗ trợ ba mặt nạ bên ngắt ngoài có thể che chắn được là XINT1, XINT2, XINT13 Mỗi ngắt đều có thể được chọn bởi sườn âm hoặc sường dương của tín hiệu ngắt vafnhue vậy có thể cấm hoặc cho phép kích hoạt

11 Mạch dao động (Oscillator) và PLL [6]

F2812 được cung cấp xung nhịp bằng bộ dao động ngoài hay bằng thạch anh gắn vào chip Một bộ PLL cung cấp đến 10 mức điều chỉnh với dao động này Tỉ số PLL có thể được thay đổi ngay cả khi chương trình đang chạy, cho phép chương trình hạ thấp tần số hoạt động xuống, trong trường hợp cần hoạt động ở chế độ tiết kiệm năng lượng

12 bộ giám sát (watchdog) [6]

F281x và C281x hỗ trợ một bộ đếm thời gian bộ giám sát Người dùng thường xuyên phải đặt lại số lượt truy cập bộ giám sát trong một khung thời gian nhất định; Nếu không, bộ phận giám sát sẽ tạo ra một thiết lập lại để bộ vi xử lý Bộ giám sát có thể bị

vô hiệu nếu cần thiết

13 Peripheral Frames 0, 1, 2 (PFn) [6]

F281x và C281x phận chia thiết bị ngoại vi thành ba phần PF0, PF1 và PF2

14 Bộ xen kênh vào/ra đa năng [6]

Hầu hết các tín hiệu ngoại vi được tích hợp với general purpose I/O Có những thanh ghi cho phép chọn một chân là GPIO hay là chân của tín hiệu ngoại vi

15 32 bit CPU – timer (0, 1, 2) [6]

Timer 0 cho những mục đích chung

Còn Timer 1,2 để dành riêng cho DSP/BIOS Real – Time OS

16 Kiểm soát thiết bị ngoại vi [6]

F281x và C281x hỗ trợ các thiết bị ngoại vi được sử dụng cho điều khiển nhúng

và thông tin liên lạc EV và ADC (tài liệu tham tham khảo 6):

17 Ngoại vi nối tiếp [6]

F2812 hỗ trợ khá nhiều giao tiếp với ngoại vi, với mục đích tương thích với các MCU hiện thời:

– eCAN: hỗ trợ 32 mailboxes, time stamping của các message, tương thích với CAN 3.0B

– McBSP: the Multichannel buffer serial port giao tiếp với E1/T1 lines, phone – quality codecs cho modem applications hoặc high – qualities stereo audio DAC devices

– SPI: thường để giao tiếp DSP với ngoại vi ngoài hoặc các processor khác

Trang 18

18 On- chip ADC [6]

F2712 ADC module có 16 kênh, có thể cấu hình để hoạt động như 2 module 8 kênh hoạt động tự do, phục vụ các sự kiện A và B Hai module 8 kênh này cũng có thể được mắc cascade để tạo thanh 1 module 16 kênh

1.1.2 Cổng vào ra số ( Digital I/O )

Hình 1 4 Bản đồ ngoại vi TMS320F2812

c) Khung ngoại vi

Tất cả các thanh ghi ngoại vi được nhóm lại với nhau thành một nhóm gọi là

“khung ngoại vi” – PF0,PF1 và PF2 Các khung ngoại vi này nằm trong bản đồ bộ nhớ

dữ liệu Khung ngoại vi PF0 bao gồm các thanh ghi để điều khiển tốc độ của bộ nhớ flash bên trong người lập trình có thể truy cập một lần trên mỗi chu kỳ xung clock Flash

là bộ nhớ tĩnh sử dụng thường xuyên cho việc lưu trữ code và dữ liệu ban đầu Khung ngoại vi PF1 chứa hầu hết các thanh ghi điều khiển thiết bị ngoại vi, ngược lại khung ngoại vi PF2 chỉ dành riêng cho khối thanh ghi CAN ( control Area Network)

Trang 19

Một số vùng bộ nhớ có mật khẩu bảo vệ bởi modul bảo mật (code security module) Mật khẩu bảo vệ được lập trình, bất kỳ sự truy cập nào vào khu vực bảo mật thì chỉ được chấp nhận khi nhập một mật khẩu chính xác vào khu vực đặc biệt của PF0

Hình 1 5 Phân vùng bộ nhớ TMS320F2812

d) Cổng vào ra số Digital I/O

Tất cả Digital I/O đều được nhóm lại thành các PORT gọi là GPIO – A,B,D,E,F và G Ở đây GPIO có nghĩa là “General purpose input output” C28x được trang bị rất nhiều thiết bị bên trong, tuy nhiên không phải tất cả các tính năng có thể kết nối với các chân chuyên dùng của thiết bị cùng lúc Giải pháp cho việc này

là sử dụng bộ dồn kênh ( Mutiplex – MUX) Có nghĩa là một chân có thể sử dụng cho 2 hoặc 3 chứa năng khác nhau và nó được lựa chọn bởi người lập trình

Thuật ngữ “Input Qualitification feature” đề cập đến một chức năng được thêm vào cho đầu vào Digital ở các PORT A,B,D, và E Khi các tính năng này được sử dụng một xung đầu vào phải được dài hơn giá trị danh định của chu kỳ xung clock để được công nhận là đầu vào hợp lệ

Tất cả 6 GPIO – PORT được điều khiển bởi thanh ghi dồn kênh (Mutiplex) của chúng là thanh ghi GPxMUX (ở đó x là ký hiệu từ A đến F) Xóa bit về

“0” có nghĩa là chọn chức năng I/O ,đặt bit lên “1” có nghĩa là lựa chọn chứa năng riêng

Khi đầu vào ra Digital I/O được lựa chọn Sau đó nhóm thanh ghi GPxDIR định nghĩa chiều của I/O Xóa bit về 0 để thiết lập như là đầu vào, đặt bit lên 1 để xác định

là đầu ra Một số cổng đầu vào được trang bị cùng với một “Input qualification

Trang 20

feature” Dùng lựa chọn này chúng ta có thể định nghĩa một khoảng thời gian để loại trừ Spike (gai) hay là các xung ngắn từ khi đang đƣợc công nhận là đầu vào hợp lệ

Hình 1 6 Các GPIO PORT TMS320F2812

Hình 1 7 Cấu trúc thanh ghi GPIO TMS320F2812

Trang 21

Hình 1 8 Sơ đồ khối GPIO TMS320F2812

e) Các thanh ghi digital I/O của C28x

Trang 22

Hình 1 9 Các thanh ghi GPIO TMS320F2812

f) C28x clock modul

Trước khi sử dụng các đầu vào ra, cần cài đặt C28x clock modul giống như các vi

xử lý hiện đại khác Nguồn xung cho C28x được cung cấp từ một bộ dao động bên ngoài tần số thấp để giảm ảnh hưởng của nhiễu điện từ Một mạch PLL tạo ra tốc độ phía trong Kit EZDSP sử dụng tần số ngoài là 30 MHZ để đạt được tần số nội là 150MHZ chúng ta có 10 hệ số nhân và chia cho 2 Điều này có thể được thực hiện bằng việc lập trình thanh ghi điều khiển PLL ( PLLCR – PLL control register )

High-Speed clock pre-scaler ( HISPCP ) và LOW-speed clock pre-scaler (LOSPCP) được sử dụng như các bộ chia tần số Đầu ra của 2 pre-scaler được sử dụng làm nguồn xung clock cho các thiết bị ngoại vi Người lập trình có thể cài đặt 2 Pre-scaler riêng rẽ nếu cần thiết

Hình 1 10 C28x clock modul

Trang 23

Chú ý : Tín hiệu “CLKIN” có cùng tần số với “SYSCLOUT” được sử dụng cho giao diện bộ nhớ bên ngoài và cho giao tiếp CAN Cũng như vậy tần số dao động của bộ Watchdog được cấp trực tiếp từ bộ dao động bên ngoài Tần số cao nhất cho bộ dao động bên ngoài là 35MHZ

Để sử dụng một ngoại vi ta cho phép phân phối các xung clock bằng các bit riêng rẽ của thanh ghi PCLKCR Đầu vào ra Digital I/O không có xung clock kích hoạt

Hình 1 11 Các thanh ghi điều khiển xung clock ngọai vi

g) Watchdog timer

Một bộ “Watchdog timer” được đếm tự do và có thể tạo ra một tín hiệu reset nếu không được xóa định kỳ bởi chương trình Nó được sử dụng để phát hiện ra các sự kiện ở chỗ mà chương trình đang thực thi, lấy ví dụ như hiện tượng treo

Trang 24

Watchdog thì thường xuyên được cấp điện khi DSP được cấp nguồn Khi chúng

ta không quan tâm đến watchdog định kỳ nó sẽ kích hoạt một tín hiệu reset Một trong những phương pháp đơn giản nhất để đối phó với các wachdog là vô hiệu hóa nó, việc này được thực hiện bằng cách cài đặt bit 6 (WDFLAG) đặt lên “1” Tất nhiên đây không phải là một quyết định khôn ngoan bởi vì một wachdog là một tính năng bảo mật

và một dự án thực tế thì bao gồm càng nhiều bảo mật càng tốt

Hình 1 12 Sơ đồ khối modul watchdog timer

Các pre-scaler watchdog có thể được sử dụng để tăng chu kỳ tràn của Watchdog Bit kiểm tra logic (WDCHK) là một vùng bit bảo mật khác Mọi sự truy cập ghi vào thanh ghi WDCR phải bao gồm sự kết hợp bit “101” cho 3 vùng, nếu không truy cập sẽ bị từ chối và tín hiệu reset được kích hoạt ngay lập tức Bit cờ Watchdog (WDFLAG) có thể được sử dụng để phân biệt giữa một reset thông thường (WDFLAG

= 0) và một reset từ Watchdog ( WDFLAG=1)

Trang 25

Hình 1 13 Thanh ghi điều khiển watchdog timer

Chú ý: Nếu vì lý do nào đó bộ dao động bên ngoài không hoạt động, Watchdog không đếm tăng lên

Vậy làm thế nào để xóa Watch dog? Bằng việc ghi “Valid key” theo thứ tự vào thanh ghi WDKEY

Trang 26

Hình 1 14 Thứ tự ghi vào thanh ghi WDKEY

1.1.3 Chuyển đổi tương tự số ( ADC)

a) Giới thiệu

Bộ ADC là một trong những ngoại vi quan trọng của bộ điều khiển nhúng Nó tạo ra một giao diện quan trọng giữa bộ điều khiển và thế giới thực Hầu hết các tín hiệu vật lý như nhiệt độ, độ ẩm, áp suất, tốc độ, gia tốc là những tín hiệu tương tự nằm trong dải từ Vmin đến Vmax ví dụ 0 đến 3v Mục đích của bộ ADC là chuyển đổi tín hiệu tương tự sang tín hiệu số Mối quan hệ giữa điện áp đầu vào tương tự và đầu ra số là:

- Độ phân giải 12 bit

- 16 kênh đầu vào ( 0-3v) Hai bộ dồn kênh cho phép lấy mẫu hai kênh một lúc

- Chế độ lấy mẫu nối tầng ( cascaded) và Dual Sequencer

Trang 27

- 16 thanh ghi lưu trữ kết quả

- Nhiều nguồn kích hoạt chuyển đổi ( kích hoạt bên ngoài, S/W và bộ quản lý sự kiện )

Bộ ADC của C28x sẽ tự động sắp xếp và lấy mẫu 16 kênh Có nghĩa là bộ ADC

tự động chuyển đổi kênh tiếp theo khi kênh trước đó đã thực hiện xong, có thể kích hoạt một ngắt khi chuỗi chuyển đổi này được thực hiện xong

Thời gian chuyển đổi nhanh nhất là 80ns cho mỗi mẫu trong trình tự chuyển đổi bắt đầu từ mẫu thứ 2 và 160ns cho mẫu đầu tiên Việc khởi động chuỗi chuyển đổi có thể bắt đầu từ các nguồn sau - Bằng phần mềm : Đặt bit start lên 1

- Bằng tín hiệu ngoài : “ADCSOC”

- Bằng sự kiện ( chu kỳ,so sánh,tràn dưới ) của modul quản lý sự kiện A và B

b) ADC trong chế độ nối tầng ( cascaded)

Hình 1 15 Modul ADC trong chế độ nối tầng

Hình vẽ trên cho thấy sơ đồ khối của bộ ADC ở chế độ tuần tự “Cascaed mode” Một bộ tự động chuyển mạch sẽ thực hiện lấy mẫu tuần tự Trước khi bắt đầu thực hiện chuyển đổi cần phải thiết lập thứ tự chuyển đổi (“MAX_CONV1”) và những line đầu vào chuyển đổi (“CHSELxx”) Các kết quả được đưa vào các thanh ghi (“RESULTO” đến “RESULT15” ) tương ứng với mỗi kênh

Chế độ lấy mẫu có thể được thực hiện đồng thời hay tuần tự Trong trường hợp lấy mẫu đồng thời cả hai s&hs được sử dụng song song Hai line đầu vào cùng với các kênh tương ứng (ví dụ ADCINA3 và ADCINB3) được chuyển đổi cùng một lúc bởi CHSCL00 Trong chế độ tuần tự “sequentinal mode” các line đầu vào có thể kết nối với tầng bất kỳ của khối auto sequencer Việc kích hoạt một trình tự chuyển đổi

có thể sử dụng phần mềm bằng cách thiết lập một bit cụ thể, hay bằng các sự kiện cụ thể

Trang 28

trên phần cứng Đặc biệt việc kết hợp với bộ định thời làm cho chu kỳ lấy mẫu rất chính xác Đây là điều kiện rất quan trong trong điều khiển và xử lý tín hiệu số

c) ADC trong chế độ Dual Sequencer (là chế độ hoạt động thứ 2)

Chế độ Dual Sequencer bộ lấy mẫu tự động được tách thành 2 tầng (“SEQ1” và

“SEQ2”) Trong chế độ này sử dụng EVA để kích hoạt cho SEQ1 và EVB cho SEQ2 Kết quả chuyển đổi được lưu trữ trong RESULT0 đến RESULT7 cho SEQ1 và RESULT8 đến RESULT15 cho SEQ2 Trong trường hợp kích hoạt SEQ1 và SEQ2 cùng một lúc thì sự kiện nào có quyền ưu tiên cao hơn sẽ được xử lý trước Ở đây SEQ1

có quyền ưu tiên cao hơn, việc bắt đầu SEQ2 sẽ được thực hiện sau SEQ1

Hình 1 16 Modul ADC trong chế độ Dual Sequencer

d) Thời gian chuyển đổi ADC

Hình 1 17 Thiết lập nguồn xung 25MHZ cho modul ADC

Có một số hạn chế đối với các thiết lập về thời gian chuyển đổi ADC

Trang 29

Trước tiên các nguồn xung clock cơ bản của ADC là bắt đầu từ HSPCLK mà không thể dử dụng bất kỳ nguồn xung clock nào khác Xung clock này có nguồn gốc từ

bộ dao động bên ngoài, bộ nhân PLLCR và bộ chia HISPCP

Thứ hai là tần số tối đa cho “FCLK” là đầu vào của các bộ phận trong modul ADC hạn chế ở tần số 25MHZ

Để điều chỉnh xung clock này cần khởi tạo các bit ADCCLKPS” cho phù hợp Bit “CPS” để lựa chọn một bộ chia 2

Xung clock “ADCCL1” là thời gian cơ sở cho các bọ phận xử lý bên trong khối ADC

Một hạn chế thứ ba là cửa sổ lấy mẫu được điều khiển bằng các

“ACQ_PS” Nhóm các bit xác định chiều dài cửa sổ được sử dụng giữa các swich dồn kênh và thời gian lấy mẫu điện áp đầu vào Thời gian này phụ thuộc vào trở kháng của của tín hiệu vào vì vậy nó phụ thuộc vào phần cứng người lập trình không thể chỉ định một khoảng thời gian lấy mẫu tối ưu cho tất cả các ứng dụng

e) Các thanh ghi điều khiển modul ADC

Ba thanh ghi điều khiển “ADCCTL1 đến 3” được sử dụng để thiết lập một trong những điều kiện hoạt động của ADC Thanh ghi “ADCST” thể hiện trạng thái của ADC

Hình 1 18 Các thanh ghi modul ADC

Thanh ghi ADC Control Register 1

Trang 30

Hình 1 19 Byte cao thanh ghi ADC Control 1

- Bit 14 “ RESET” có thể sử dụng để reset toàn bộ các bộ phận trong modul ADC trở

về trạng thái thiết lập, rất tốt trong thực tế để reset lệnh trươc khi thiết lập ADC

- Bit 12 và 13 định nghĩa sự tác động qua lại ADC và lệnh emulator

- 4 bit tiếp theo định nghĩa độ dài cửa sổ lấy mẫu

Hình 1 20 Byte thấp thanh ghi ADC Control 1

- “CPS” được sử dụng để chia tần số đầu vào cho một hoặc cho 2

- Bit 6 (“CONT_RUN”) định nghĩa quá trình tự động sắp xếp dãy chuyển từ khi bắt đầu đến khi kết thúc một cách tuần tự ( =0 ) và đợi cho đến khi kích hoạt nếu dãy được bắt đầu lại ( = 1)

- Bit 5 (“SEQ1_OVRD”) Định nghĩa hai tùy chọn khác nhau cho chế độ chạy liên tục

- 4 bit sau cùng định nghĩa chế độ bộ sắp xếp dãy để 1 tầng (16line) (=1) hay 2 tầng (8line cho mỗi tầng ) (=0)

ADC Control Register 2

Trang 31

Nửa trên của thanh ghi ADCTRL2 tác dụng điều khiển các chế độ hoạt động của dãy 1

- Bit 15 “EVB_SOC_SEQ” (bít cờ chỉ đọc) nếu bộ quản lý sự kiện B kích hoạt chuyển đổi

- Bit 14 “RST_SEQ1” đƣợc sử dụng để reset state machine của SEQ1 về trạng thái ban đầu Đây là cách để kích hoạt tiếp theo đƣợc bắt đầu lại từ CHSELSEQ1

- Đặt bit 13 “SOC_SEQ1” lên 1 để kích hoạt chuyển đổi bằng phần mềm

- Bit 11 và bit 10 định nghĩa các chế độ ngắt của SEQ1, có thể yêu cầu ngắt sau mỗi chuyển đổi hay các chuỗi khác nhau

- Bit 8 “EVA_SOC_SEQ1” là bit đánh dấu cho phép hay không cho phép bộ quản lý sự kiện A kích hoạt chuyển đổi

Hình 1 21 Byte cao thanh ghi ADC Control 2

Trang 32

Byte thấp của ADCTRL2 để điều khiển dãy SEQ2 Bit 7 là cờ chỉ ra sự kiện trên chân

“ADCSOC” là nguyên nhân gây ra chuyển đổi, các bit còn lại giống với nửa trên ADC control Register 3

Hình 1 23 Thanh ghi ADC control Register 3 ADC MAXCONV Register

Hình 1 24 Thanh ghi ADC MAXCONV

ADC Input Channel Select Sequencing Control Register

Trang 33

Hình 1 25 Thanh ghi ADC Input Channel Select Sequencing Control Register

1.1.4 Hệ thống ngắt F2812

a) Giới thiệu

Hệ thống ngắt của C28x gồm có 16 đường ngắt, 2 trong số này là ngắt không che được “Non-Maskable” (Reset, NMI), 14 dường ngắt che được “Maskable” có nghĩa là người lập trình có thể cho phép hoặc không cho phép các đường ngắt này

Ở ngắt che được thì có 2 trạng thái “0” và “1” “1” có nhĩa là cho phép ngắt và

“0” là không cho phép ngắt

Bằng cách đánh dấu vào thanh ghi “IER” người lập trình có thể yêu cầu một ngắt

Ở ngắt không che được người lập trình không thể từ chối các yêu cầu ngắt Một tín hiệu được tích cực, chương trình sẽ ngừng lại và nhảy đến chương trình con phục vụ ngắt

Hình 1 26 Lines Interrupt Tất cả 16 đường ngắt được kết nối với bảng véc tơ ngắt, bao gồm 32 bit bộ nhớ trên một ngắt Trách nhiệm của người lập trình là điền vào bảng này địa chỉ bắt đầu của

Trang 34

b) C28x RESET

Một sườn xuống của tín hiệu trên chân “RS” sẽ reset DSP Sự kiện này sẽ đưa DSP bắt đầu lại từ địa chỉ reset (địa chỉ 0x3FFFC0 bộ nhớ chương trình ) chứ không phải là một ngắt theo nghĩa là chương trình cũ sẽ được tiếp tục sau khi phục vụ ngắt

Hình 1 27 Các nguồn reset hệ thống

Tín hiệu reset có thể bắt nguồn từ bộ watchdog hoặc từ chân RS phía ngoài Reset không chỉ đưa DSP về địa chỉ 0x3FFFC0 nó còn xóa tất cả các thanh ghi, reset cờ CPU về trạng thái ban đầu và disable 16 ngắt

c) Nguồn ngắt

DSP C28x có số lượng nguồn ngắt rất lớn (hiện tại là 96 ngắt) nhưng chỉ có 14 ngắt che được Người lập trình phải sử dụng 1 INT_Line cho nhiều nguồn ngắt Mỗi đường ngắt này kết nối đến một bảng véc tơ ngắt của nó Một vùng nhớ 32 bít bên trong bảng véc tơ ngắt lưu giữ địa chỉ ngắt của các chương trình con phục vụ ngắt Trong trường hợp nhiều ngắt được kích hoạt thì chương trình chương trình phục vụ ngắt phải được sử dụng cho tất cả các yêu cầu ngắt Tổng kỹ thuật lập trình có thể sử dụng phần mềm để xác định các nguồn ngắt này

Tuy nhiên phương pháp này sẽ tốn nhiều thời gian và không phù hợp với các ứng dụng thời gian thực Để giải quyết vần đề này người lập trình có thể sử dụng bộ mở rộng ngắt ngoại vi PIE (Peripheral Interrupt Expansion)

Hình 1 28 Các nguồn ngắt

Trang 35

Bộ mở rộng ngắt ngoại vi mở rộng địa chỉ véc tơ ngắt rộng hơn, đặt mỗi nhóm 32 bit cho một trong số 96 nguồn ngắt Tốc độ phản ứng ngắt khi có sự trợ giúp của bộ phận này là nhanh hơn khi không có nó Để sử dụng PIE người lập trình phải thay đổi bản đồ bộ nhớ (re-map) vị trí bảng véc tơ ngắt đến địa chỉ 0x00D00 Nó nằm trong vùng bộ nhớ động Trước khi sử dụng bộ nhớ này thì cần phải khởi tạo nó

d) Các thanh ghi làm việc với ngắt che được

Trang 36

Hình 1 31 Mở rộng ngắt ngoại vi Tất cả các nguồn ngắt đƣợc kết nối với các line theo bảng sau

Hình 1 32 Bảng phân bổ ngắt

Vị trí tại bảng véc tơ ngắt lúc thiết lập lại là

Hình 1 33 Véc tơ ngắt lúc thiết lập lại PIE thay đổi bản đồ bộ nhớ nhƣ thế này

Trang 37

Hình 1 34 Bản đồ véc tơ PIE sau khi thiết lập lại

Như đã thấy trên hình, vùng địa chỉ 0x000D40 đến 0x000DFF được sử dụng như là một vùng mở rộng Bây giờ có 32 bit cho mỗi véc tơ ngắt PIEINT1.1 đến PIEI12.8

f) C28xCPU timer

C28x có ba bộ timer 32 bít , sơ đồ khối của bộ timer ở hình phía dưới

Hình 1 35 Sơ đồ khối của bộ timer

Nguồn xung clock cho bộ timer là nguồn xung clock bên trong

“SYSCLKOUT” Nó là 150MHZ nếu sử dụng tần số dao động bên ngoài là 30MHZ và sử dụng hệ số nhân PLL là 10/2 Khi một timer được cho phép (TCR-Bit4) xung clock đi vào bộ đếm xuống 16 bít (prescaler PSCH:PSC) Khi tràn dưới nó tạo ra một tín hiệu cho bộ đếm 32 bít (TIMH:TIM) Một ngắt có thể được yêu

Trang 38

Thanh ghi chia 16 bít (divide down register) “THDDRH:TDDR” được sử dụng

để nạp lại cho thanh ghi prescaler Mỗi lần prescaler đếm tràn dưới giá trị từ thanh ghi divide down được nạp vào prescaler Tương tự như vậy thanh ghi 32bit period PRDH:PRD được sử dụng để nạp lại cho bộ đếm 32 bít

Timer 1 và timer 2 thì thường xuyên dược sử dụng bởi Texas Intruments cho hệ điều hành thời gian thực “DSP BIOS” trong khi timer 0 chỉ sử dụng cho mục đích chung Điều này không chỉ giữ cho timer 1 và timer 2 sử dụng cùng với “DSP/BIOS”

mà còn giúp chúng ta hiểu hơn về bộ PIE bởi vì timer 0 là bộ đếm thời gian duy nhất của CPU mà đi qua PIE

1.1.5 Modul quản lý sự kiện (EV )

a) Giới thiệu

Modul quản lý sự kiện (Event manager EV) là modul phần cứng mạnh mẽ nhất của C281X mỗi thành phần của modul EV thực hiện các công việc khác nhau theo thời gian Hoạt động của modul này căn cứ trên sự hoạt động của 4 bộ định thời timer1 đến timer 4 Các bộ định thời này hoàn toàn độc lập với bộ định thời hệ thống timer 0 timer

1 và timer 2

Bộ định thời của modul quản lý sự kiện EV là bộ định thời 16 bít trong khi timer

hệ thống là 32 bít Sự khác biệt quan trọng nhất giữa timer của bộ quản lý sự kiện và timer hệ thống là đầu vào và đầu ra Một EV có thể tạo ra các tín hiệu từ một sự kiện thời gian nội bộ Nó được sử dụng để tạo ra các tín hiệu xung theo thời gian Với sự giúp đỡ của các mạch logic bên trong modul EV người lập trình có thể thay đổi tấn số

và độ rộng xung của tín hiệu đầu ra Khi thêm vào một chương trình điều khiển có thể thay đổi độ rộng xung theo thời gian thì được gọi là điều biến độ rộng xung PWM được

sử dụng cho 2 mục đích điều khiển số động cơ điều chỉnh điện áp

Modul quản lý sự kiện của C281x còn rất mạnh mẽ trong việc thực hiện các phép đo thời gian dựa trên tín hiệu phần cứng

Với 6 chân CAP đầu vào chuyên dụng để đếm xung encoder, hỗ trợ đếm cả cạnh lên và cạnh xuống của xung encoder

b) Sơ đồ khối modul EV

Mỗi bộ phận trong modul quản lý sự kiện được điều khiển bằng một khối logic riêng Các khối logic này có thể yêu cầu một dịch vụ ngắt riêng từ C28xPIE để

hỗ trợ cho các chế độ hoạt động của nó Hai tín hiệu đầu vào bên ngoài là “TCLKINA”

và “TDIRA” là tín hiệu điều khiển tùy chọn và được sử dụng trong một số chế độ hoạt động cụ thể Một tính năng độc đáo nữa của bộ quản lý sự kiện nữa là khả năng kích hoạt chuyển đổi tương tự số ADC từ một sự kiện nội bộ Đa số các bộ vi xử lý khác

Trang 39

thường phải yêu cầu một ngắt để thực hiện công việc này, C28x thực hiện điều này một cách tự động

Hình 1 36 Sơ đồ khối modul quản lý sự kiện

Các GPtimer 1 và 2 là hai bộ định thời 16 bit cùng với các chân tín hiệu đầu ra là T1PWM,T1CMP và T2PWM,T2CMP Người lập trình có thể sử dụng bộ định thời này cho các mục đích nội bộ

Bộ so sánh ( compare ) từ 1đến 3 sử dụng để tạo ra 6 tín hiệu PWM sử dụng thời gian cơ sở của GPtimer 1 Một số lượng lớn các ứng dụng đòi hỏi 6 tín hiệu điều khiển chính xác ví dụ điều khiển động cơ không đồng bộ 3 pha,

hoặc các hệ thống chuyển đổi tín hiệu 3 pha

Ba bộ bắt giữ sự kiện (Capture ) CAP1,2 và 3 được sử dụng để đo tốc độ và thời gian giữa các sự kiện Mạch logic QEP được thiết kế chuyên dụng cho việc đếm xung encoder với 3 đường tín hiệu A B và Z Trong đó A, B được nối với QEP1 và QEP2 còn

Z được nối với QEPI1 của C28x Việc này có ý nghĩa rất lớn trong việc xác định tốc độ

và vị trí thông qua việc đọc tín hiệu xung encoder một cách chính xác

c) Bộ định thời mục đích chung

Trung tâm của bộ định thời mục đích chung là khối so sánh Khối này liên tục so sánh giá trị của một thanh ghi 16 bít (TXCNT) với các thanh ghi khác: Compare (TXCMPR) và period (TXPR) Nếu có “mach” ( bằng nhau ) giữa bộ đếm và bộ so sánh thì xuất hiện một tín hiệu logic đầu ra để điều khiển một chức năng phía ngoài là (TxPWM)

Trang 40

Hình 1 37 Sơ đồ khối bộ định thời mục đích chung

Nguồn xung clock của bộ đếm có thể lựa chọn từ phía ngoài (TCLK IN) hay xung từ các chân QEP Bít 5 và 4 của thanh ghi TXCON sẽ điều khiển bộ dồn kênh trong trường hợp lựa chọn xung clock bên trong bắt nguồn từ bộ highspeed clock prescaler (HSPCLK) Khi tính toán thời gian cần phải tính đến thiết lập của thanh ghi HISPCP để điều chỉnh chu kỳ thời gian của một timer mục đích chung

Có thể sử dụng bộ prescaler bổ xung (TPS,TXCON2-0) độ rộng từ 0 đến 128, chiều đếm phụ thuộc vào chế độ hoạt động lựa chọn

– Một nhân 12 bit ADC với 2 bộ sample – and – hold có sẵn

– Hoạt động ở chế độ Simultaneous hoặc Sequential

– Analog input: 0V đến 3V

– Tốc độ chuyển đổi của ADC là 25MHz, tương đương 12.5MSPS

– 16 kênh input, 16 register để lưu kết quả Kết quả được tính theo công thức như sau: – Có nhiều nguồn để kích khởi quá trình chuyển đổi ADC:

• S/W: software immediate start

• EVA: event manager A

• EVB: event manager B

• External pin

Tham khảo tài liệu spru060c – ADC user manual để có những thông tin đầy đủ hơn

1.2 CÁC MÔI TRƯỜNG PHẦN MỀM HỖ TRỢ PHÁT TRIỂN DSP F281x

Môi trường làm việc có thể có sử dụng trình biên dịch CCS, môi trường lập trình

đồ họa ViSsim, Matlab…

1.2.1 Sử dụng trình biên dịch CCS (Code Composer Studio)

CCS – Code Composer Studio là môi trường soạn thảo IDE (môi trường để phát triển cho các dòng DSP) của Texas Instrument cho các thế hệ DSP cũng như

Ngày đăng: 26/08/2015, 08:11

HÌNH ẢNH LIÊN QUAN

Sơ đồ cấu trúc các chức năng của F2812 [6] - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Sơ đồ c ấu trúc các chức năng của F2812 [6] (Trang 13)
Hình 1. 3  Phân vùng bộ nhớ TMS320 - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 1. 3 Phân vùng bộ nhớ TMS320 (Trang 14)
Hình 1. 8 Sơ đồ khối GPIO TMS320F2812 - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 1. 8 Sơ đồ khối GPIO TMS320F2812 (Trang 21)
Hình 1. 9 Các thanh ghi GPIO TMS320F2812 - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 1. 9 Các thanh ghi GPIO TMS320F2812 (Trang 22)
Hình 1. 31 Mở rộng ngắt ngoại vi  Tất cả các nguồn ngắt đƣợc kết nối với các line theo bảng sau - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 1. 31 Mở rộng ngắt ngoại vi Tất cả các nguồn ngắt đƣợc kết nối với các line theo bảng sau (Trang 36)
Hình 1. 36 Sơ đồ khối modul quản lý sự kiện - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 1. 36 Sơ đồ khối modul quản lý sự kiện (Trang 39)
Hình 2. 7:  Chuyển mạch của rotor ở chế đọ nửa bước - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 2. 7: Chuyển mạch của rotor ở chế đọ nửa bước (Trang 54)
Hình 2. 14 Biểu diễn các đại lượng vật lý thông qua hệ trục tọa độ trong ĐCTT kiểu ĐB - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 2. 14 Biểu diễn các đại lượng vật lý thông qua hệ trục tọa độ trong ĐCTT kiểu ĐB (Trang 61)
Hình 2. 22: đĩa mã hóa và nguyên lý hoạt động encoder tương đối - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 2. 22: đĩa mã hóa và nguyên lý hoạt động encoder tương đối (Trang 72)
Hình 2. 27 Mạch cứng sử dụng TMS320 và ULN2803 ghép nối với các cuận dây của động cơ - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 2. 27 Mạch cứng sử dụng TMS320 và ULN2803 ghép nối với các cuận dây của động cơ (Trang 76)
Hình 2. 30  Driver (mạch này - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 2. 30 Driver (mạch này (Trang 79)
Hình 2. 38 Kết quả đáp ứng tốc độ mô phỏng theo phương pháp TTHCX - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 2. 38 Kết quả đáp ứng tốc độ mô phỏng theo phương pháp TTHCX (Trang 84)
Hình 3. 5 Xung tín hiệu đưa vào cuận dây của động cơ ở chế độ nửa bước - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 3. 5 Xung tín hiệu đưa vào cuận dây của động cơ ở chế độ nửa bước (Trang 96)
Hình 3. 6 Đối tượng động cơ tuyến tính ĐB-KTVC - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 3. 6 Đối tượng động cơ tuyến tính ĐB-KTVC (Trang 96)
Hình 3. 7 ghép nối đối tượng điều khiển với biến tần, bo mạch và máy tính - Ứng dụng vi xử lý tín hiệu số TMS320 trong điều khiển, phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp thái nguyên
Hình 3. 7 ghép nối đối tượng điều khiển với biến tần, bo mạch và máy tính (Trang 97)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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