Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP NGUYỄN HẢI YẾN ỨNG DỤNG VI XỬ LÝ TÍN HIỆU SỐ TMS320
Trang 1Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
NGUYỄN HẢI YẾN
ỨNG DỤNG VI XỬ LÝ TÍN HIỆU SỐ TMS320 ĐỂ ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC 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 VÀ TRƯỜNG CAO ĐẲNG CÔNG
NGHIỆP THÁI NGUYÊN
LUẬN VĂN THẠC SĨ KỸ THUẬT Chuyên ngành: Kỹ thuật điều khiển và tự động hóa
THÁI NGUYÊN, 2014
Trang 2Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
NGUYỄN HẢI YẾN
ỨNG DỤNG VI XỬ LÝ TÍN HIỆU SỐ TMS320 ĐỂ ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC 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 VÀ TRƯỜNG CAO
ĐẲNG CÔNG NGHIỆP THÁI NGUYÊN
Chuyên ngành: Kỹ thuật điều khiển và tự động hóa
Mã số: 60 52 02 16
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Cao Xuân Tuyển
THÁI NGUYÊN, 2014
Trang 3Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, các số liệu, kết quả nêu trong luận văn này là trung thực và là công trình nghiên cứu của riêng tôi, luận văn này không giống hoàn toàn bất cứ luận văn hoặc các công trình đã có trước
đó
Thái Nguyên, tháng năm 2014
TÁC GIẢ LUẬN VĂN
Nguyễn Hải Yến
Trang 4Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
4.Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu 2
CHƯƠNG 1: KHÁI QUÁT VỀ VI XỬ LÍ TÍN HIỆU SỐ TMS320F2812 3
1.2 Các môi trường phần mềm hỗ trợ phát triển TMS320F2812 181.2.1 Sử dụng trình biên dịch CCS (Code Composer Studio) 18
1.2.3 Matlab và gói phần mềm hỗ trợ lập trình cho DSP TIC2000 201.3 Một số ví dụ của TMS320F2812 trong điều khiển 271.3.1 Ứng dụng DSP TMS320F28x và Matlab trong lĩnh vực điều khiển tự
1.3.2 Ví dụ sử dụng TMS320 trong điều khiển động cơ một chiều 27
Trang 5Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
2.1.1 Động cơ bước dùng nam châm vĩnh cửu (Permanent Magnet): 29
2.2.4 Đặc trưng của tín hiệu điều khiển động cơ bước 40
Trang 6Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Trang 7Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT
Động cơ bước dung nam châm vĩnh cửu: PM
Động cơ biến từ trở: VR
Vận tốc trung bình của động cơ: V
Số đôi cực của rotor: P
Hệ số không đổi của động cơ: Km
Vị trí thực tế của rotor:
Dòng điện cuộn dây:
Vị trí cuộn dây j của stator:
Tổng quán tính của rotor: Jm
Momen xoắn của tải: Tl
Hệ số ma sát: F
Vận tốc của rotor:
Điện trở của cuộn dây: R
Điện cảm của cuộn dây: L
Trang 8Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC HÌNH
Hình 1.1 Sơ đồ bố trí 176 chân của vi xử lí tín hiệu số TMS320F2812 6
Hình 1.2 Sơ đồ bố trí khối cấu trúc của TMS320F2812 7
Hình 1.3 Tổ chức không gian nhớ 16
Hình 1.4 Sơ đồ cấu trúc điều khiển động một chiều 27
Hình 2.1 :Sơ đồ động cơ bước dùng nam châm vĩnh cửu 30
Hình 2.2 Động cơ bước đơn cực 31
Hình 2.3 Động cơ bước lưỡng cực 31
Hình 2.4Mặt cắt ngangcủađộng cơ bướcbiến từ trở 32
Hình 2.5 Sơ đồ mặt cắt ngang của động cơ bước lai 32
Hình 2.6 Sơ đồ nguyên lí động cơ bước m pha với rotor 2 cực và các lực điện từ khi điều khiển bằng xung 1 cực 33
Hình 2.8 Giản đồ xung trong chế độ half drive 36
Hình 2.9 giản đồ xung trong chế độ ware drive 36
Hình 2.10 Giản đồ xung của chế độ vi bước 37
Hình 2.11 Mô hình động cơ bước 41
Hình 3.1 Cấu trúc điều khiển vòng hở 44
Hình 3.2 Cấu trúc phản hồi trạng thái 45
Hình 3.3 Cấu trúc phản hồi tín hiệu ra 45
Hình 3.4 Sơ đồ cấu trúc điều khiển động cơ bước 46
Hình 3.7 Mạch ghép nối UART 50
Hình 3.8 Mạch ghép nối cổng CAN 51
Trang 9Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Hình 3.10 Sơ đồ mạch cứng khối tạo xung 52
Hình 3.11 Khối chuyển đổi ADC 53
Hình 3.12 Sơ đồ chân của IS61LV2561AL 54
Hình 3.13 Sơ đồ chân của SST39VF800A 55
Hình 3.14 Sơ đồ kết nối TMS320,ULL2003 và động cơ bước 56
Hình 3.15 Kết nối máy tính, máy hiện sóng và TMS320 56
Hình 3.16 Đối tượng điều khiển 57
Hình 4.3 Sơ đồ chi tiết mạch kín 59
Hình 4.4 Kết quả mô phỏng mạch hở 60
Hình 4.7 Xung áp của cuộn dây chế độ bước đủ( 1 pha on) 66
Hình 4.8 Xung cấp cho cuộn dây chế độ nửa bước 68
Trang 10Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC B ẢNG
Bảng 1.1 Các chân cho phép và vùng nhớ tương ứng được kích hoạt 17
Bảng 2.1 Chuyển mạch của các cuộn dây chế độ bước đủ 35
Bảng 2.2 Chuyển mạch của các cuộn dây chế độ nửa bước 35
Bảng 3.1 Bảng thông số động cơ bước 47
Bảng 4.1 Thứ tự cấp xung vào cuộn dây chế độ bước đủ (2 pha on) 61
Bảng 4.2 Thứ tự cấp xung điều khiển cho các cuộn dây chế độ bước đủ (1 pha on) 64
Bảng 4.3 Thứ tự cấp xung điều khiển vào cuộn dây chế độ nửa bước 66
Bảng 4.4 Thứ tự cấp xung điều khiển vào cuộn dây chế độ vi bước 68
Trang 11Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
MỞ ĐẦU
1.Lí do chọn đề 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ộ 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 hang 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
Trong tự động hoá động cơ bước được ứng dụng hết sức rộng rãi Động cơ bước được dùng để điều khiển chuyển động của cánh tay robot, điều khiển tiêu cự trong các hệ thống quang học, điều khiển định vị trong các hệ quan trắc, điều khiển lập trình trong các thiết bị gia công cắt gọt kim loại… Trong công nghệ máy tính, động cơ bước được dung trong ổ cứng, ổ mềm trong máy in
Đặc biệt xuất phát từ yêu cầu nghiên cứu, đào tạo thực hành tại trung tâm thí nghiệm trường đại học kĩ thuật công nghiệp và trường cao đẳng công nghiệp Thái Nguyên
Từ những lí do trên mà tôi đã lựa chọn đề tài “Ứng dụng vi xử lí tín hiệu số
TMS320 để điều khiển động cơ bước phục vụ công tác đào tạo tại trung tâm thí nghiệm trường đaị học kĩ thuật công nghiệp và trường cao đẳng công nghiệp Thái Nguyên”
Trang 12Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
4.Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu
- Giúp sinh viên tiếp cận được với điều khiển số
- Đổi mới hệ thống bài tập thực hành
5.Phương pháp nghiên cứu
Để hoàn thành được luận văn này, tôi đã được gia đình, bạn bè, thầy cô giúp
đỡ rất nhiều Tôi xin chân thành cảm ơn các thầy giáo, cô giáo, của trường ĐHKTCN Thái Nguyên, xin cảm ơn bạn bè, đồng nghiệp đã giúp đỡ tôi trong thời
gian qua Tôi xin gửi lời cảm ơn trân trọng nhất tới thầy giáo hướng dẫn TS Cao
Xuân Tuyển đã tận tình chỉ bảo để tôi có thể hoàn thành được luận văn
Thái Nguyên, ngày tháng năm 2014
TÁC GIẢ LUẬN Nguyễn Hải Yến
Trang 13Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
CHƯƠNG 1 KHÁI QUÁT VỀ VI XỬ LÍ TÍN HIỆU SỐ TMS320F2812
1.1 Tổng quan về phần cứng TMS320F2812
1.1.1 Giới thiệu chung
Ngày nay máy tính dần trở thành một phần không thể thiếu trong hầu hết các
hệ thống điều khiển Với sự ra đời của các vi xử lí, tốc độ xử lí và tần số hệ thống ngày càng cao làm cho sự xuất hiện của máy tính trong các hệ thống điều khiển tăng lên đáng kể Ưu điểm nổi bật của các hệ thống điều khiển số thể hiện ở khả năng dễ dàng xây dựng và sửa đổi thuật toán điều khiển, độ chính xác cao, giá thành hù hợp Tuy nhiên hệ thống điều khiển số cũng có nhược điểm là tốc độ xử lí phụ thuộc vào năng lực tính toán của các vi xử lí Tuy nhiên vấn đề này đã được cải thiện đáng kể trong các máy tính số hiện nay đảm bảo thực hiện tốt lí thuyết điều khiển hiện đại với chất lượng cao Vì vậy điều khiển số là một bước phát triển hoàn toàn phù hợp với xu hướng phát triển của điều khiển tự động và tự động hóa
TMS320F2812 là 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 C28x ™ DSP
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ỉ hệ thống kiểm soát mềm bằng 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.1.2 Các đặc điểm cơ bản của F2812
*Công nghệ Static CMOS
Trang 14Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
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
Chuẩn JTAG gồm 5 chân:
TID ( Kiểm tra dữ liệu trong )
TDO ( kiểm tra dữ liệu ngoài)
TCK ( kiểm tra đồng hồ )
TMS ( kiểm tra chế độ chọn)
TRST( kiểm tra thiết lập tùy chọn)
*Đơn vị xử lí trung tâm CPU 32 bit
- Phép nhân MAC 16x16 và 32x32
- Cấu trúc Harvard bus
- Đáp ứng và xử lí ngắt tốc độ cao
- Quản lí theo địa chỉ tuyến tính 4M nhớ chương trình
- Quản lí theo địa chỉ tuyến tính 4M nhớ dữ liệu
- Dễ tạo mã bằng C/C++ hoặc hợp ngữ Asembler
- Mã nguồn tương thích với TMS320F320x/LF240x
* Bộ nhớ trên phiến (On- chip memory)
- Có Boot Modes bằng Software
- Standard math Tables
Trang 15Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
* Giao diện ngoài
* Khối hỗ trợ mở rộng (Peripheral Interrupt Expansion: PIE) tới 45 ngắt ngoại vi
* Mã khóa an toàn 128 Bit
- Bảo vệ Flash/ OTP và L0/L1 SARAM
- Chống kĩ thuật phá Firmware
* 3 đồng hồ CPU 32-Bit
* Ngoại vi điều khiển máyđiện
- Hai bộ Event Managers (EVA, EVB)
- Đủ cho tới 240 ngoại vi
* Ngoại vi tuần tự( Serial Peripheral Interfaces: SCIS), Standard UART
- Hỗ trợ truyền thông Ecan
* 16 kênh ADC 12- Bit
- Xen kênh 2x8 đầu vào
- Hai bộ trích dẫn- giữ chậm (Sample- and- hold)
- Chế độ trích dẫn mẫu đơn lẻ, trích dẫn mẫu liên tục( Single/ Simultaneous 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(Mutiltiplexed Genneral)
* Các đặc tính Chip nâng cao
-Chức năng phân tích và đặt điểm dừng
Trang 16Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
- Gỡ rối thời gian thực bằng Hardware
1.1.3 Sơ đồ chân của F2812
Giới thiệu sơ đồ bố trí chân của vi xử lí tín hiệu số TMS320F2812 được thể hiện trong hình vẽ [2]
Hình 1.1 Sơ đồ bố trí 176 chân của vi xử lí tín hiệu số 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 [2]
Trang 17Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Hình 1.2 Sơ đồ bố trí khối cấu trúc của TMS320F2812
1.1.4 Sơ đồ khối chức năng của F2812
Đặc điểm các khối trong sơ đồ cấu trúc của TMS320F2812 như sau:
* Đơn vị xử lí trung tâm (Central Processing Unit: CPU) của TMS320C24x Dòng vi xử lí tín hiệu C28x là thành viên mới của họ TMS320C2000 mã nguồn C28x hoàn toàn tương thích với các chip loại 24x/240x, tạo điều kiện cho người sử dụng 240x có thể sử dụng các loại mảng mã quan trọng của họ Thêm vào
đó, dòng C28x có khả năng sử dụng hữu hiệu C/C++, cho phép người sử dụng không chỉ cài đặt phần mềm điều khiển phức hợp bằng ngôn ngữ bậc cao, còn có thể phát triển các thuật toán học Dòng C28x thực hiện có hiệu quả các phép tính cũng như các bài toán điều khiển thời gian thực thường thấy trong các hệ thống thiết
bị điều khiển tự động Khả năng cao đó đã cho phép loại bỏ yêu cầu sử dụng thêm
vi xử lí thứ hai, thường thấy trong nhiều hệ thống Phép nhân MAC 32x32 bit MAC của C28x và các khả năng xử lí 64 bit đã cho phép C28x xử lí hữu hiệu các vấn đề
Trang 18Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
tính số bậc cao, mà trong nhiều trường hợp đòi hỏi phải dùng tới giải pháp vi xử lí dấu phẩy động đắt tiền Thêm vào đó, tốc độ đáp ứng ngắt nhanh kèm theo khả năng cất giữ nội dung các thanh ghi quan trọng, đã cho phép F2812 xử lí các sự kiện bất thường với thời gian trễ bé nhất
* Hệ thống BUS ghép nối với bộ nhớ (Memory bus, cấu trúc Harvard)
Cũng như những chip DSP khác, hệ thống nhiều bus được dùng để trao đổi số liệu giữa CPU, bộ nhớ và ngoại vi Kiến trúc bộ nhớ của C28x chứa những bus đọc chương trình, bus đọc số liệu và ghi số 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 nhịp duy nhất Kiến trúc nhiều bus, còn gọi là Harvard Bus, cho phép C28x lấy lệnh, đọc
và 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ớ có thể được phân cấp ưu tiên truy cập bộ nhớ Nói chung, ưu tiên của bus bộ nhớ truy cập có thể được tóm tắt như sau:
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
Trang 19Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
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)
* Chuẩn JTAG thời gian thực (Real- timeJTAG) và khả năng phân tích
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ợ:
- Mode thời gian thực cho các lệnh thực hiện giữa nội dung các ô nhớ, các ngoại vi và các thanh ghi trong khi nhân xử lý đang chạy, vẫn đang thực hiện mã lệnh hay đang phục vụ ngắt
Nhờ đó, người sử dụng có thể thực hiện các lệnh đơn của nhiệm vụ không có đòi hỏi khắc nghiệt về thời gian, trong khi vẫn đang liên tục phục vụ các ngắt có đòi hỏi khắc nghiệt về thời gian mà không hề ảnh hưởng lẫn nhau Dòng C28x có cài đặt sẵn Model thời gian thực trong Hardware cùng với CPU Đây là đặc điểm chung của dòng C28x mà không cần đến phần mềm Monitor Thêm vào đó một cơ chế phân tích đặc biệt bằng Hardware sẽ cho phép người sử dụng đặt điểm dừng hoặc điểm quan sát số liệu/ địa chỉ và tạo nên các sự kiện ngắt khác nhau
Chuẩn JTAG gồm 5 chân:
TID ( Kiểm tra dữ liệu trong )
TDO ( kiểm tra dữ liệu ngoài)
TCK ( kiểm tra đồng hồ )
TMS ( kiểm tra chế độ chọn)
TRST( kiểm tra thiết lập tùy chọn)
* Giao diện ngoài (External Interface, XINTF )
Giao tiếp bất đồng bộ bao gồm 19 dây địa chỉ, 16 dây số liệu và 3 dây chọn chip Các dây chọn chip được tổ chức liên kết với 5 vùng ngoài chip Zones 0, 1, 2,
6 và 7 Vùng 0 và 1 chia nhau sử dụng chung 1 dây chọn chip share a single chip- select, vùng 6 và 7 chung nhau sử dụng 1 dây khác Từng vùng trong số 5 vùng trên
có thể được lập trình với các số lượng nhịp đợi (wait states) khác nhau, tín hiệu đòi hỏi thời gian giữ của từng vùng đều có thể được lập trình với thời gian đợi hoặc không Trạng thái đợi, dây chọn chip và tín hiệu đòi là khả trình đã làm cho việc giao tiếp với bộ nhớ ngoài và với ngoại vi trở nên rất linh hoạt
Trang 20Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
* Các khối nhớ M0, M1 SARAMs
Mọi chip C28x đều có hai khối nhớ truy cập đơn với kích cỡ 1K x 16 mỗi khối Con trỏ ngăn xếp sẽ chỉ vào M1 sau khi reset Khối M0 trùng địa chỉ với các khối RAM B0, B1, B2 của dòng 240x, và khi đó tổ chức cất dữ liệu của 240x cần phải lưu ý Hai khối M0 và M1, cũng như mọi khối nhớ khác của dòng C28x, đều được tổ chức ở hai không gian nhớ chương trình và số liệu Vì vậy, người sử dụng có thể dùng M0 hoặc M1 vào hai mục đích: Chạy mã chương trình hay xử lí số liệu Việc phân vùng sử dụng sẽ được quyết định khi ghép các Module software Dòng C28x 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 hơn công tác lập trình bậc cao
* Các khối nhớ L0, L1, H0 SARAMs
Chip F2812 còn có thêm 16Kx 16 RAM loại truy cập đơn, chia thành 3 khối (4K+ 4K + 8K) Mỗi khối có thể được truy cập độc lập và do đó làm giảm nguy cơ mâu thuẫn khi chồng kênh Mỗi khối đều được tổ chức ở cả hai không gian nhớ chương trình và số liệu
*Boot ROM
Bộ nhớ Boot Rom đã được nạp sẵn chương trình boot từ trước khi xuất xưởng Các tín hiệu chọn chế độ boot cho phép khai báo với phần mềm gọi chương
Trang 21Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
trình boot chế độ boot cần chọn khi khởi động hệ thống Người sử dụng có thể lựa chọn:
- Chế độ boot thông thường
- Hay chế độ nạp
- Hoặc chọn chương trình boot cất tại bộ nhớ Flash trên phiến
Bộ nhớ Boot Rom còn có các bảng được chuẩn bị sẵn như dạng sóng sin, cos phục vụ cho các ứng dụng tính toán
* Bảo mật ( Security)
F281x và C281x hỗ trợ các mức độ cao về bảo vệ Chức năng bảo vệ cho phép
sử dụng:
- Một từ khóa 128 bit, mã hóa cứng với 16 nhịp chờ
Người sử dụng tự nạp từ khóa này vào Flash Một Module mã bảo mật (code security module, CSM) được dùng để bảo vệ các khối Flash/OTP và L0/L1 SARAM Khả năng bảo mật cho phép phòng chống đọc trộm hoặc nội dung bộ nhớ qua cổng JTAG, hoặc mã chương trình từ các bộ nhớ ngoài, hoặc tìm cách boot nạp phần mềm lạ với khả năng xuất ra ngoài nội dung các khối nhớ đã được khóa mã bảo mật Để truy cập các khối nhớ đó, người sử dụng phải nhấp đúng giá trị khóa
128 bit, trùng đúng với giá trị cất trong Flash
* Khối mở rộng ngắt ngoại vi ( Peripheral Interupt Exansion, PIE)
Khối PIE phục vụ xen kênh nhiều nguồn ngắt khác nhau và qui 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 chip F2812
do Hardware và software điều khiển Từng ngắt riêng rẽ có thể bị cấm, hay cho phép trong khối PIE
Trang 22Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
* Các ngắt ngoài ( External Interrupts, XINT1, 2, 13, XNMI )
Chip F2812 hỗ trợ 3 ngắt ngoài là loại có thể che chắn ( masked) được (XINT1, 2, 13) XINT 13 được liên kết với một ngắt ngoài không che được (XNMI) Tín hiệu liên kết có tên là XNMI_ XINT13 Mỗi ngắt đều có thể được chọn bởi sườn âm hoặc sườn dương của tín hiệu ngắt và như vậy cũng có thể cấm hoặc cho phép kích hoạt ( kể cả XNMI) Mọi ngắt loại che chắn được đều có một bộ đếm tiến 16 bit, có nội dung bị đưa về không khi phát hiện sườn ngắt hợp thức Bộ đếm đó có thể được sử dụng để đo chính xác thời gian phục vụ ngắt
*Mạch dao động( Oscillator) và PLL
F2812 được điều khiển bởi xung nhịp do mạch dao động ngoài hay mạch dao động trong ( bằng thạch anh gắn vào chip) cung cấp Một mạch khóa pha PLL có sẵn hỗ trợ tới 10 hệ số chia tần đầu vào khác nhau Các hệ số PLL có thể thay đổi động bằng software, cho phép người sử dụng có thể thay đổi tần số đồng hồ ngay khi đang vận hành, một tính năng quan trọng khi xuất hiện đòi hỏi giảm công suất tổn hao khi đang chạy Khối PLL có thể được chuyển sang chế độ nghỉ
*Cơ chế (watchdog)
F281x có một đồng hồ watchdog Phần mềm ứng dụng sẽ phải reset bộ đếm watchdog trong một khung thời gian đã định, nếu không cơ chế watchdog sẽ tự reset vi xử lí Có thể cấm cơ chế watchdog khi cần thiết
* Xung đồng hồ cho ngoại vi ( Peripheral Clocking)
Người lập trình có thể cho phép hoặc cấm cấp xung đồng hồ riêng rẽ cho từng ngoại vi, nhằm mục đích tiết kiệm năng lượng khi ngoại vi đó không hoạt động Thêm vào đó, tần số xung đồng hồ hệ thống đưa tới các cổng tuần tự trừ eCan và các bộ xử lí sự kiện, tới các khối CAP và QEP có thể được giảm so với xung đồng
hồ của CPU Khả năng này cho phép cách li nhịp của ngoại vi với nhịp đồng hồ của CPU khi tần số rất cao
* Các chế độ tiết kiệm năng lượng ( Low- Power modes)
Chip F2812 thuộc loại chip thuần túy ―static CMOS‖ có tất cả ba chế độ tiết kiệm năng lượng:
- IDLE: Đưa CPU về chế độ tiết kiệm năng lượng Có thể ngừng xung đồng
hồ của ngoại vi, chỉ giữ lại đồng hồ của những ngoại vi có nhu cầu hoạt động ở chế
Trang 23Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
độ IDLE Một tín hiệu ngắt của ngoại vi đang hoạt động sẽ đánh thức đưa vi xử lí ra khỏi trạng thái IDLE
- STANDBY: Ngừng xung đồng hồ của CPU và ngoại vi Chế độ này ngừng
cả bộ dao động và chức năng PLL Một sự kiện ngắt ngoài sẽ đánh thức vi xử lí và ngoại vi Trạng thái hoạt động sẽ quay trở lại ở nhịp tiếp ngay sau khi phát hiện được sự kiện ngắt
- HALT: Ngừng bộ dao động Chế độ này ngừng hoạt động toàn chip về trạng thái tiêu thụ ít năng lượng Chỉ tín hiệu reset hoặc XNMI có thể đánh thức chip ra khỏi chế độ này
* Peripheral Frames 0, 1, 2 (PFn)
F281x và C281x chia thiết bị ngoại vi thành 3 mảng Các ngoại vi được tổ chức như sau:
- PF0: + XINTF Thanh ghi lập cấu hình giao diện ngoài
+ PIE Thanh ghi cho phép kiểm tra ngắt PIE và bảng vecto PIE
+ Flash Thanh ghi điều khiển Flash, lập trình, xóa, kiểm tra
+ Timers Thanh ghi đồng hồ CPU 0,1,2
+ CSM thanh ghi KeY bảo mật
- PF1: + Ecan Thanh ghi hộp thoại và kiểm tra eCan
- PF2: + SYS Thanh ghi kiểm tra hệ thống
+ GPIO thanh ghi lập cấu hình xen kênh và kiểm tra vào/ ra GPIO
+ EV thanh ghi điều khiển của bộ xử lí sự kiện (EVA/ EVB)
+ McBSP thanh ghi điều khiển McBSP và TX/ RX
+ SCI Thanh ghi điều khiển giao diện tuần tự truyền thông (SCI) và RX/ TX +SPI thanh ghi điều khiển giao diện tuần tự của ngoại vi (SPI) và RX/TX + ADC thanh ghi điều khiển bộ ADC 12 bit
* Bộ xen kênh vào/ ra đa năng (General-Purpose Input/Output GPIO Multiplexer)
Trang 24Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Hầu hết các tín hiệu ngoại vi đều được xen kênh với tín hiệu I/O đa năng Điều này cho phép người sử dụng dùng một chân (pin) dưới dạng vào/ ra đa năng khi tín hiệu hay chức năng ngoại vi không được dùng đến Sau reset, mọi chân GPIO đều được đặt ở dạng đầu vào
*Các đồng hồ 32 bit của CPU – timer (0, 1, 2)
Các đồng hồ CPU 0,1 và 2 là 3 đồng hồ 32 bit giống hệt nhau với chu kì khả trình và khả năng chọn chia tần số đồng hồ tới 16 bit Mỗi đồng hồ có một thanh ghi đếm lùi 32bit, phát tín hiệu ngắt khi bộ đếm về tới không Bộ đếm lùi hoạt động với tần số đồng hồ của CPU chia cho hệ thống đã đặt ra Khi bộ đếm về tới không, nó
sẽ tự động được nạp mới giá trị chu kì 32 bit Đồng hồ CPU 2 được dự trữ dành cho các ứng dụng OS (RTOS)/BIOS thời gian thực Đồng hồ CPU 1 dành cho các chức năng hệ thống TI Đồng hồ CPU2 được nối với INT14 của CPU Đồng hồ CPU 1 có thể được nối với INT13 của CPU Đồng hồ CPU 0 được dùng để sử dụng tùy nhu cầu và được nối với khối PIE
* Ngoại vi điều khiển động cơ (Motor Control Peripherals)
Chip F2812 hỗ trợ các ngoại vi sau đây, đáp ứng nhu cầu thực hiện các bộ điều khiển nhúng và truyền thông
- EV: Module quản lí sự kiện bao gồm các thanh ghi đa năng, các bộ so sánh /PWM (full- compare/PWM), các đầu vào đo (Capture inputs,CAP) và các mạch thu nhập xung của encoder Hai bộ quản lí sự kiện đó cho phép điều khiển đồng thời
2 động cơ xoay chiều ba pha hoặc 4 động cơ 2 pha Các bộ quản lí sự kiện của F2812 tương thích với các bộ cùng chức năng của dòng 240x devices
- ADC: Khối ADC là một bộ biến đổi 12 bit, 16 kênh Bộ ADC có hai đơn vị trích mẫu / giữ chậm cho phép trích mẫu một cách liên tục
* Ngoại vi cổng tuần tự ( Serial Port Peripherals)
- Chip F2812 hỗ trợ các ngoại vi có truyền thông tuần tự sau đây:
- eCAN: Đây là phiên bản nâng cao của ngoại vi CAN Phiên bản này hỗ trợ
32 hộp thoại, giữ bản tin, và tương thích với CAN 2.0B
- McBSP: Đây là cổng tuần tự có đệm đa kênh, được sử dụng để nối với các dây E1/T1, mã hóa với chất lượng phone để dùng trong các ứng dụng modem hoặc thiết bị
Trang 25Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Audio DAC loại stereo có chất lượng cao Các thanh ghi thu và phát của McBSP hỗ trợ FIFO 16 mức Điều này đã giảm đáng kể sự trùng lặp khi phục vụ ngoại vi loại này
- SPI: Là một cổng I/O tuần tự tốc độ cao, cho phép dịch chuyển một chuỗi bit tuần tự với chiều dài khả trình từ 1 đến 16 bit vào hay ra khỏi chip chỉ trong 1 lần gửi bit do ta lập trình Thông thường, SPI được sử dụng để truyền thông giữa chip DSP controller và ngoại vi ngoài, hoặc một vi xử lí khác Các ứng dụng đặc trưng bao gồm I/O ngoài hoặc mở rộng ngoại vi bằng các thanh ghi dịch, các bộ đệm hiển thị và các bộ ADC Việc truyền thông giữa nhiều đơn vị cũng được hỗ trợ nhờ chế độ hoạt động master / slave
- SCI: Giao diện truyền thông tuần tự này là một cổng tuần tự không đồng bộ hai dây, thường được gọi là UART Trên chip F2812 cổng này hỗ trợ FIFO thu phát 16 mức
1.1.5 Tổ chức không gian nhớ
Hình 1.3 giới thiệu tổ chức không gian nhớ của F2812 Ta có thể thấy rõ không gian đó gồm hai vùng chính Vùng trên phiến( On- chip memory) và vùng ngoài phiến( External memory) Trích tài liệu tham khảo[2]
Toàn bộ không gian nhớ được chia thành các vùng nhớ
+ 0x3FF000-0x3FFFFF, 4Kx16 ROM (BOOT ROM)
Là những vùng vừa dùng làm bộ nhớ chương trình vừa làm bộ nhớ dữ liệu
Trang 26Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Hình 1.3 Tổ chức không gian nhớ Riêng những vùng nhớ sau
Trang 27Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Các vùng này có thể dùng làm bộ nhớ chương trình hoặc bộ nhớ dữ liệu Một
số thông tin cần thiết khi sử dụng bộ nhớ trong các hệ thống điều khiển
* Giao diện phần cứng ghép nhớ với bộ nhớ ngoài
Trong hình đó, các dây XA0- 18 là các bus địa chỉ, các dây XD0- 15 là bus dữ liệu Các tín hiệu điều khiển có ý nghĩa như sau
- XWE: Tín hiệu cho phép ghi, dữ liệu được đưa ra ngoài
- WRD: Tín hiệu cho phép đọc, dữ liệu được đọc từ bên ngoài vào
- XMP/ MC: Tín hiệu thiết lập vùng nhớ được sử dụng khi khởi động
- XHOLD, XHOLDA: Tín hiệu dùng cho chế độ truy nhập bus DMA
- XCLKOUT: Đồng hồ đưa ra ngoài ( loại xung nhịp điều chế tần số được)
- XR/W, XREADY: Tín hiệu dùng truy nhập các chip họ Motorola
+ XZCSOAND1, XZCS2, XZCS6AND7
Việc truy nhập vào các vùng nhớ ngoài phiến được quy định bởi các tín hiệu cho phép khác nhau, và mỗi vùng nhớ đó tương ứng với một dải địa chỉ trong không gian nhớ
Trang 28Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
1.2 Các môi trường phần mềm hỗ trợ phát triển TMS320F2812
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ư MCU của TI, bao gồm việc soạn thảo mã lệnh, dịch, liên kết và debug chương trình Ưu điểm rất lớn của CCS là khả năng kết nối với phần cứng, debug online, vẽ
đồ thị thời gian thực CCS là sẽ giúp cho quá trình phát triển giải thuật cải thiện đáng kể về thời gian Tuy nhiên để CCS kết nối được với phần cứng khác nhau
thì cần phải thiếp lập kết nối CCS với phần cứng đó
Việc làm quen với CCS sẽ tiết kiệm được nhiều thời gian hơn khi phát triển các project trên môi trường này Môi trường làm việc của CCS được tóm tắt như sau:
- Source: C và Assembly
- Libraries
- DSP/BIOS config dùng để tạo nhân điều hành cho chương trình
- Linkercommandfile: F2812-EzDSP-RAM-lnk.cmd và
81x_Headers_BIOS.cmd hai file này dùng để phân chia bộ nhớ và dịch mã nguồn
Để nạp chương trình vào DSP để chạy chương trình này, chúng ta làm như sau:
- Kết nối CCS với phần cứng: Debug/ connect Ta sẽ thấy có một cửa sổ hiện
ra báo là đã kết nối được với phần cứng
- Dịch chương trình: Project/ Build (F7) Nếu không có lỗi nào, mục Status Window sẽ báo là không có lỗi biên dịch chương trình
- Nạp chương trình vào phần cứng: File/ Load Program, chọn thư mục Debug, rồi chọn file nạp vào DSP
- Chạy chương trình: Debug/ Run
Debug chương trình là công việc thường xuyên khi viết chương trình, vì vậy tìm hiểu môi trường debug của CCS là cần thiết CCS cung cấp một hệ thống các công cụ giúp cho công việc debug diễn ra thuận lợi
Trang 29Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Khi Debug với CCS người lập trình có thể thêm vào các Break Point, quan sát sự thay đổi của một biến hay debug từng bước để kiểm tra từng đoạn chương trình
1.2.2 Sử dụng môi trường lập trình đồ họa ViSsim
1.2.2.1 Giới thiệu
VisSim/Embedded Controls Developer là một trong những công cụ bộ công cụ hữu ích của VisSim giống như embedded ide của matlab Là môi trường phần mềm phát triển tích hợp, VisSim cho phép xây dựng một cách nhanh
chóng bộ điều khiển nhúng trên họ DSPC2000 của Texas Instruments
VisSim/Embedded Controls Developer bao gồm VisSim PE: Môi trường để xây dựng các khối chương trình và mô phỏng VisSim/Fixed Point™: Các khối xử lý
số học dấu phẩy tĩnh và mô phỏng các phép toán dấu phẩy tĩnh TI C2000 Digital
Motor Control (DMC) Block Set : Các khối thư viện hỗ trợ điều khiển động cơ Liên kết visSim-Code Composer Studio (CCS)
Tự động tạo mã lệnh TI C2000 DSP target và CCS
Hỗ trợ TI C2000 CAN Bus
Hỗ trợ Serial LCD
1.2.2.2 Các bước xây dựng hệ thống
- Bước 1: Trong quá trình xây dựng bộ điều khiển trên DSPC2000 là xây dựng
mô hình toán Từ các mô hình toán có sẵn người lập trình sử dụng các khối có sẵn
trong thư viện để sử dụng và kết nối các khối theo một cấu trúc xác định
- Bước 2: Tiến hành mô phỏng Người lập trình sử dụng các khối đại diện cho
bộ điều khiển hay bộ lọc để tạo ra mã lệnh biên dịch và liên kết nạp xuống DSP Sau đó có thể dễ dàng so sánh kết quả mô phỏng và thực nghiệm để chứng tỏ rằng
nó là giống nhau
Các giao diện đồ họa GUI cho phép giữ lại các thuật thoán thực hiện trên DSP giúp phân tích các đặc tính thực của đối tượng Các mã ANSI C có thể được tạo ra trực tiếp cùng với Composer Studio cho phép mã lệnh tạo ra tích hợp với các mã
khác được phát triển người sử dụng
TI C2000 Digital Motor Control (DMC) Block Set là khối thư viện điều khiển
số động cơ bao gồm các mã C tương tứng ( chỉ sử dụng để mô phỏng ) và phiên bản
Trang 30Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
C-callable (sử dụng để mô phỏng DSP-in-the-loop) Các thư viện TI C2000DMC
bao gồm các khối DMC như điều chỉnh PI, PWM, điều chế không gian Vector …
Như vậy về cơ bản VisSim giống như matlab trong quá trình xậy dựng biên dịch và nạp chương trình xuống DSP VisSim rất mạnh vẽ việc thu thập dữ liệu từ DSP, thuận lợi trong việc phân tích đặc tính hệ thống trong khi công việc này khó khăn hơn với phần mềm embedded ide link target C2000 củamatlab Tuy nhiên các khối thư viện của VisSim còn hạn chế trong khi đây là điểm mạnh
của matlab
1.2.3 Matlab và gói phần mềm hỗ trợ lập trình cho DSP TIC2000
Matlab là một bộ chương trình phần mềm lớn của lĩnh vực tính toán số Tên
bộ chương trình chính là tữ viết tắt MATrix LABoratory thể hiện hướng chính của chương trình là các phép tính véc tơ, ma trận Matlab được ứng dụng rộng rãi trong khoa học kỹ thuật nhờ khả năng xử lý toán học rất mạnh của nó và một số lượng
thư viện toolbox lớn sử dụng để mô phỏng hay điều khiển trực tiếp từ matlab
Một tiện ích của phần mềm matlab được sử dụng rất phổ biến trên thế giới hiện nay là lập trình nhúng và thu thập dữ liệu từ các hệ nhúng Matlab hỗ trợ các gói công cụ cho từng loại vi xử lý nhúng và hỗ trợ rất mạnh cho vi xử lý tín hiệu số
của Texas Intrument bao gồm các họ vi xử lý C2000, C5000 và C6000
1.2.3.1 Trình tự lập trình trong Matlab
Các bước sử dụng matlab để lập trình cho DSPC2000
- Xây dựng chương trình trên simulink
Trang 31Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
1.2.3.2 Sử dụng Malab để tạo mã lệnh và thu thập dữ liệu từ DSP TMS320F2812
* Sử dụng thư viện tic200lib
Phần này sử dụng ví dụ để giải thích cách tạo ra một mô hình simulink sử dụng gói phần mềm hỗ trợ cho board Ví dụ này tạo ra một mô hình thực hiện điều khiển PWM bằng cách điều khiển độ rộng xung Điện áp tương tự được lấy bên ngoài thông qua bộ biến đổi ADC làm tín hiệu điều khiển Mô hình này cũng được cung cấp trong thư viện demo của matlab
Các bước sử dụng matlab – simulink cho DSP C2000
- Khởi động thư viện c2000lib
- Từ dấu nhắc gõ lệnh
->> C2000lib
* Khái quát chung về các khối trong thư viện C2000lib
- C2000 RTDX Intrumentation ( rtdx blocks ) khối này thêm kênh truyền thông RTDX vào mô hình simulink
- C2000 Target Preferences (c2000tgtpreflib) – Các khối này để xác định Target Preferences và các tùy chọn Chúng ta không kết nối khối này với bất kỳ khối nào khác
- Host SCI Blocks (c2000scilib) : Khối này thiết lập cấu hình cho truyền thông CAN
Trang 32Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
• C2803x (c2803xlib) — Blocks to configure the C2803x eZdsp DSK or on C2803x-based custom boards
• Custom C2000 (c2000xlib) — Blocks to configure C2000-based custom boards
Các thư viện tối ưu hóa c2000optimizedblks bao gồm
- C28x IQ math library (tiiqmathlib) – bao gồm các khối toán học dấu phẩy tĩnh cho C28x Target
- 28x DMC Library (c28xdmclib) – Bao gồm các khối toán học dấu phẩy tĩnh phục vụ cho điều khiển số động cơ cùng với C28x DSP
* Cài đặt tham số mô hình
Nhiệm vụ sơ bộ cho việc thiết lập một mô hình mới bao gồm thêm một khối Target Preferences và thiết lập các tham số mô phỏng
- Trong thư viện C2000lib chọn File>New>Model để tạo một mô hình simulink
- Trong cửa sổ Library c2000lib double-click vào khối C2000 Target Preferences
- Từ cửa sổ Target Preferences kéo khối F2812 EZDSP vào mô hình
- Chọn YES để cho phép tự động cài đặt Các cài đặt trong bảng dưới đây sẽ được tạo ra trong hộp thoại Simulation > Configuration Parameters
Chú ý : Để thực hiện một stop-time trong các mã lệnh được tạo ra phải đặt một khối Stop trong mô hình
Một khối Target Preferences phải có ở trong mỗi một mô hình Nó không kết nối với bất kỳ khối nào khác mà đứng một mình có tác dụng thiết lập các tham số
mô hình (thiết lập các thông số phần cứng )
- Từ menu chính của mô hình chọn Simulation > Configuration Parameters để xác nhận và thiết lập các tham số mô phỏng cho mô hình này Các tham số thiết lập trong hộp thoại này thuộc về mô hình mà chúng ta đang xây dựng chúng được lưu cùng với mô hình và được lưu trữ trong tập tin mô hình
- Sử dụng bảng Real-Time Workshop cho mô hình Real-Time
Trang 33Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
- Sử dụng nút Browse để tìm và chọn một tập tin cấu hình Target, ccslink_grt.tlc hoặc ccslink_ert.tlc Khi làm điều này phần mềm Real-Time Workshop lựa chọn các tập tin hệ thống Target phù hợp và tạo ra các điều khiển
- Thiết lập cấu hình các tham số nhấn tổ hợp phím Ctrl + E và điều chỉnh các tham số này ( xem lại phần thiết lập tham số mô hình và phần giới thiệu về việc tạo
ra một mô hình chạy trên Target)
* Thêm các khối vào mô hình
- Open hay double-click vào C281x library, c281xlib
- Kéo khối C281x ADC vào mô hình Double-click vào khối ADC và cài đặt thời gian lấy mẫu là 64/80000 Sử dụng giá trị mặc định cho tất cả thông số khác Kéo khối C281x PWM vào mô hình Double-click vào khối PWM để cài đặt các thông số như bảng phía dưới
-Nhập lệnh>>simulink từ Matlab để mở simulink Trong thư viện Math của simulink kéo khối Gain vào mô hình và thiết lập các thông số như sau
- Kết nối khối ADC với Gain và đến PWM như hình phía dưới
* Tạo ra mã lệnh từ mô hình
Phần này giới thiệu tóm tắt làm thế nào để tạo ra mã lệnh từ các mô hình real-time Bắt đầu quá trình tạo mã lệnh tự động từ cửa sổ mô hình simulink bằng cách nhấp vào cửa sổ Generate code trong bảng Real-Time Workshop của hộp thoại Configuration Parameters Một cách khác là click vào nút Incremental Build trên thanh công cụ của mô hình Hay là sử dụng phím tắt Ctrl + B khi mô hình đang được mở
Chú ý : Sau khi biên dịch xong, trong CCS chúng ta sẽ thấy project cùng với các tập tin 1.2.3.4 Các khối thư viện
Trang 34Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
* GPIO Digital input
Khối này thiết lập các chân vào ra mục đích chung I/O(GPIO) Thanh ghi điều khiển chia sẻ các chân vào ra số Mỗi cổng I/O có một thanh ghi MUX được dùng để chọn hoạt động các ngoại vi hoặc đầu vào ra số
*C281x GPIO digital output
Khối này thiết lập các chân vào ra mục đích chung I/O(GPIO) Thanh ghi điều khiển chia sẻ các chân vào ra số Mỗi cổng I/O có một thanh ghi MUX được dùng để chọn hoạt động các ngoại vi hoặc đầu vào ra số
* Watch dog
Khối này thiết lập bộ đếm cho modul watchdog để reset DSP
- INPUT : Tạo ra một cổng đầu vào trên khối watchdog, đầu vào tín hiệu reset
bộ đếm
- Sperify viadialog : Sử dụng giá trị của thời gian lấy mẫu để reset timer
- Sample time ( thời gian lấy mẫu ): Sau mỗi khoảng thời gian bộ watchdog timer được reset
* Bộ Chuyển đổi tín hiệu tương tự sang tín hiệu số ADC
Thiết lập khối ADC của C281x ADC của C281x thực hiện chuyển đổi tương
tự sang số của các tín hiệu kết nối với các chân ADC đầu vào được chọn Giá trị đầu
ra các khối ADC được lưu trữ trong các thanh ghi
Các chế độ kích hoạt ADC phụ thuộc vào các thiết lập bên trong single source start of conversion (SOC) Trong chế độ không đồng bộ các ADC thường được kích hoạt bằng phần mềm tại mỗi khoảng thời gian lấy mẫu quy định tại các khối ADC Trong chế độ đồng bộ các bộ quản lý sự kiện (EV) được liên kết với ADC và kích hoạt ADC Trong trường hợp này ADC được đồng bộ với các bộ điều biến độ rộng xung PWM ADC start conversion được đặt từ khối PWM
Chú ý: ADC không thể đồng bộ cùng với PWM nếu ADC hoạt động ở chế
độ cascaded Đầu ra của C281x ADC là một véc tơ kiểu Unit16.Giá trị đầu vào trong khoảng từ 0 đến 4095 bởi vì ADC là 12bit
*CAP - Bắt giữ sự kiện
Trang 35Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Thiết lập tham số của bộ CAP của modul quản lý sự kiện (EV).Bộ capture sẽ chuyển giá trị của bộ định thời vào ngăn xếp FIFO khi có sườn lên, sườn xuống hoặc cả sườn lên và sườn xuống C281x có 6 bộ capture – 3 bộ được ghép vào 1 modul EV.Capture 1,2, 3 là EVA và 4,5,6 thuộc EVB Mỗi capture tương ứng với một chân capture đầu vào
Mỗi nhóm modul capture có thể sử dụng một trong hai bộ định thời mục đích chung EVA là timer1 hoặc timer2 và EVB là timer3 hoặc timer4 Khi cos sự kiện xảy ra trên các chân capture đàu vào thì module này lưu trữ giá trị hiện tại của bộ định thời vào hai ngăn xếp FIFO.Chú ý: Chúng ta có thể có hai khối CAP trong mô hình Mỗi khối cho 1 modul EV đầu ra: Mỗi khối có hai đầu ra Một đầu ra cnt và một tùy chọn là đầu ra cờ trạng thái FIFO
- 0 – FIFO rỗng : Không có capture xảy ra hay giá trị lưu trữ tước đó
- 1– FIFO có một entry ở thanh ghi trên cùng của ngăn xếp
- 2– FIFO có 2 entry ở trong ngăn xếp
- 3– Có 2 entry ở trong ngăn xếp và một hay nhiều giá trị capture bị bỏ qua Điều này xảy ra vì một capture xảy ra trước khi ngăn xếp FIFO được đọc Các giá trị mới được đặt ở thanh ghi phía dưới.Giá trị của thanh ghi phía dưới bị đẩy lên trên và giá trị trên đầu bị đẩy ra khỏi ngăn xếp
*PWM - Điều biến độ rộng xung
DSP F2812 bao gồm một bộ điều biến độ rộng xung PWM được sử dụng để tạo ra các tín hiệu khác nhau Khối này cung cấp các tùy chọn để thiết lập bộ quản
lý sự kiện A hoặc B để tạo ra dạng sóng theo yêu cầu 12 PWM được cấu thành với
6 cặp, 3 cặp trong mỗi modul.Các modul PWM của C281x chia sẻ Gp timer với các khối khác
Chú ý : Tất cả các đầu vào khối PWM phải là giá trị vô hướng
Trang 36Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
cho các ứng dụng khác nhau Sử dụng khối timer C281x để thiết lập chu kỳ của các timer Mỗi mô hình có thể có 4 khối timer
Các modul C281x timer thiết lập GPtimer để cho các khối khác ―chia sẻ ―
*QEP – Bộ mã hóa xung encoder
Mỗi bộ quản lý sự kiện trên F2812 có 3 đơn vị capture, modul A là 1,2,3 và modul B là 4,5,6 Các bộ mã hóa xung encoder ( QEP ).Giải mã và đếm các xung encoder ở đầu vào của các chân capture.Xung QEP là 2 chuỗi xung tần số thay đổi
và lệch nhau một góc 900 ( hay laf ¼ chu kỳ) Mạch đếm cả hai cạnh lên và xuống của xung QEP vì vậy tần số clock QEP là 4 lần tần số của mõi kênh đầu vào QEP kết hợp với các encoder quang rất hữu ích để đo tốc độ và thông tin định vị đĩa quay Mạch logic trong QEP xác định chiều quay căn cứ trên 2 tín hiệu xung encoder Nếu QEP1 nhận tín hiệu trước (QEP1 sequence leads ) thì các bộ định thời mục đích chung đếm lên và nếu QEP2 nhận tín hiệu trước (QEP2 sequence leads ) thì bộ định thời đếm xuống Số xung đếm và tần số xác định vị trí
và tốc độ
* Software interrupt trigger
Kích hoạt các ngắt ―không che được‖ từ phần mềm
Khi thêm khối này vào mô hình, khối này kiểm tra giá trị đầu vào.Khi giá trị đầu vào lớn hơn giá trị trong phần mềm thì kích hoạt ngắt phần mềm, khối này tác động đến các khối ngắt phần cứng trong mô hình, Để sử dụng khối này, thêm khối ngắt phần cứng vào mô hình để quá trình kích hoạt ngắt phần mềm từ khối này đi đến dịch vụ phục vụ ngắt trên vi xử lý Đặt số hiệu của ngắt vào một khối ngắt phần cứng(HardwareInterrup) để giá trị đặt này vào trong CPU interrupt number
Các ngắt CPU và số hiệu ngắt PIE cùng xác định một ngắt duy nhất cho một modul ngoại vi hay một ngoại vi
*Clarke transformation
Chuyển đổi hệ tọa độ ba pha cân bằng sang hai pha vuông góc
Trang 37Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
1.3 Một số ví dụ của TMS320F2812 trong điều khiển
1.3.1 Ứng dụng DSP TMS320F28x và Matlab trong lĩnh vực điều khiển tự động
Sự kết hợp giữa DSP TMS320F28x và Matlab sẽ tạo ra bộ điều khiển rất linh hoạt,
có khả năng điều khiển các giải thuật sau trong lĩnh vực điều khiển tự động:
- Bộ điều khiển PID
- Bộ điều khiển trượt
- Bộ điều khiển mờ
- Bộ điều khiển neural
- Bộ điều khiển thích nghi
- Bộ điều khiển PID mờ
- Bộ điều khiển PID neural
- Bộ điều khiển PID thích nghi
- Bộ điều khiển trượt mờ
1.3.2 Ví dụ sử dụng TMS320 trong điều khiển động cơ một chiều
Cấu trúc điều khiển số vị trí động cơ DC servo phản hồi tốc độ và vị trí từ encodervị trí từ encoder
Hình 1.4 Sơ đồ cấu trúc điều khiển động một chiều
Trang 38Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Động cơ này có gắn sẵn một encoder để phản hồi tốc độ và vị trí được kết nối với các chân QEP tương ứng của DSP TMS320F2812 DSP TMS320F12812 nhận và đếm các xung này bằng bộ định thời mục đích chung Căn cứ trên số xung đếm được và khoảng thời gian lấy mẫu để tính toán ra tốc độ động cơ và vị trí
1.4 Kết luận chương 1
Chương 1 đã trình bày được khái quát về phần cứng của TMS 320F2812 như các đặc điểm của TMS320F2812, Sơ đồ chân, sơ đồ khối chức năng, tổ chức không gian nhớ Bên cạnh đó chương 1 cũng đã nêu được đặc điểm của các phần mềm đi kèm và một số ứng dụng của TMS 320F2812 trong lĩnh vực điều khiển
Trang 39Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
CHƯƠNG 2
MÔ HÌNH TOÁN HỌC CỦA ĐỘNG CƠ BƯỚC
2 1 Cấu tạo động cơ bước
Động cơ bước là một loại động cơ có và ứng dụng khác biệt với đa
số các động cơ điện thông thường Chúng thực chất là một động cơ đồng bộ dùng
để biến đổi các tín hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động góc quay hoặc các chuyển động củ ó khả năng cố
định rotor vào các vị trí cần thiết
Về cấu tạo, động cơ bước có thể được coi là tổng hợp của hai loại động cơ: Động cơ một chiều không tiếp xúc và động cơ đồng bộ công suất nhỏ và tốc độ quay của rotor phụ thuộc vào thứ tự và tần số ng chuyển đổi
- Động cơ bước biến từ trở (Variable Reluctance)
- Động bước cơ lai (hybrid)
2.1.1 Động cơ bước dùng nam châm vĩnh cửu (Permanent Magnet):
vĩnh cửuvà từ trường của Hình vẽ sau cho thấy một sơ đồ điển hình động cơ bước nam châm vĩnh cửu Rotor nam châm vĩnh cử
xung điệ
quay
Trong hình 2.1
1 Cuộn dây pha A
2 Cuộn dây pha B
3 Trục động cơ
4, 6 Đĩa stato
5 Các đầu dây ra
7 Rotor
Trang 40Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Hình 2.1 :Sơ đồ động cơ bước dùng nam châm vĩnh cửu
*Stator
Hai bộ phận chính của stator là lõi thép (mạch từ) và dây quấn
- Lõi thép làm bằng các lá thép kĩ thuật điện dập theo khuôn rồi ghép lại với nhau thành hình trụ rỗng, mặt trong của lá thép có phay rãnh để đặt dây quấn
- Trong rãnh đặt dây quấn có thể là dây quấn 2 pha, ba pha, 4 pha hoặc 5 pha Dây quấn của động cơ là loại dây điện từ, có tiết diện hình tròn hoặc chữ nhật Dây quấn được chia thành nhiều pha, mỗi pha có một tổ bối dây, mỗi tổ bối dây có W số vòng dây và được lồng vào cực từ của stator
Phía ngoài stator có vỏ bằng nhôm hoặc hợp kim của nhôm, hai đầu stator có hai nắp làm bằng cùng vật liệu với vỏ và bắt chặt vào vỏ Trên nắp máy có lắp ổ trục để đỡ trục quay của rotor
*Rotor
Rotor của động cơ bước nam châm vĩnh cửu có cấu tạo thường không có răng cực
từ, được từ hoá vĩnh cửu vuông góc với trục (ngang trục) và được lồng vào phía trong của Stator Cực từ của Rotor thường là 2 hoặc 6 cực từ (N - S) xen kẽ nhau Các góc bước là1,8o; 7,5o; 30o; 45o; và 90o Các động cơ bước nam châm vĩnh cửu đòi hỏi công suất vận hành nhỏ hơn các loại khác Chúng cũng có đặc tính chống rung tốt hơn Hạn chế của loại động cơ này là có mô-men xoắn tương đối thấp được sử dụng khi yêu cầu tốc độ thấp
cuộn dây, hoặc cung cấp một năng lượng nhỏ, lực từ được hình thành giữa rotor và stator mô-men xoắn dư