Điện áp một chiều sau bộ chỉnh lưu sau khi đã được san ở bộ tụ được đưa vào Bộ nghịch lưu NL. Tại đây điện áp một chiều sẽ được nghịch lưu theo luật điều chế độ rộng xung(PWM). Đầu ra của bộ nghịch lưu là điện áp là điện áp xoay chiều ba pha 380V cấp cho động cơ xoay chiều
Trong đồ án ta sử dụng các van bán dẫn IGBT CM100DU-34KA. Đây là các van điện áp cao, và tần số hoạt động lớn. Sau đây là bảng thông số của loại van này:
Hình 2.5 Hình dáng và sơ đồ nguyên lý của IGBT CM100DU-34KA
Loại CM100DU-34KA
Nhà sản xuất Powerex
Điện áp đánh thủng Colector - Emitor (VCES) 1700 V Điện áp trên Gate - Emitor (VGES) ±20 V Dòng điện Colector khi dẫn liên tục (IC) 100 A Dòng Collector trong chế độ đóng cắt (ICM) 200 A Collector-Cutoff Current (ICES) max 1 mA Dòng điện rò giữa Gate - Emitor (IGES) max 0.5 μA Điện áp ngưỡng của Gate (VGE) max 7 V Điện áp mở Collector-Emitter (VCE) max 4 V
Emitter-Collector Voltage (VEC) 4.6 V
Đặc tính kĩ thuật
CHƯƠNG 3: THIẾT KẾ MẠCH ĐIỀU KHIỂN 3.1 VI ĐIỀU KHIỂN DSPIC30F4011
3.1.1 Giới thiệu chung về họ vi điều khiển DsPic30f4011
Họ vi điều khiển 16 bit dsPic do công ty công nghệ Microchip Technology Inc sản xuất, được phát triển trên nền họ vi điều khiển 8 bit Pic.Vi điều khiển dsPic là một chip xử lý mạnh với bộ xử lý 16 bit (có khả năng xử lý dữ liệu có độ dài 16 bit). Với tốc độ tính toán cao dựa trên kiến trúc RISC, kết hợp các chức năng điều khiển tiện ích của một bộ vi điều khiển hiệu năng cao 16-bit (High-performance 16-bit Microcontroller), có thể thực hiện chức năng của một bộ xử lý tín hiệu số ( DSP) nên dsPIC còn có thể được xem là một bộ điều khiển tín hiệu số (Digital
Signal Controller – DSC). Họ vi điều khiển dsPic có thể đạt tới tốc độ xử lý 40
MIPS (Mega Instruction Per Second - triệu lệnh trên một giây). Ngoài ra dsPic còn được trang bị bộ nhớ Flash, bộ nhớ dữ liệu EEPROM và các ngoại vi hiệu năng cao và rất đa dạng các thư viện phần mềm cho phép thực hiện các giải thuật nhúng với hiệu suất cao một cách dễ dàng trong một khoảng thời gian ngắn. Chính vì vậy dsPic được ứng dụng rất rộng rãi trong các ứng dụngxử lý tín hiệu số, đo lường và điều khiển tự động, .v..v...Họ vi điều khiển dsPic được chia ra làm ba loại tùy theo mục đích của người sử dụng :
- Bộ điều khiển số cho điều khiển motor và biến đổi nguồn (DSC Motor Control &Power Conversion Family)
- Bộ điều khiển số cho sensor (DSC Sensor Family)
- Bộ điều khiển số đa mục đích (DSC General Purpose Family)
3.1.2 Đặc điểm chung của vi điều khiển DsPic30f4011
a. Khối xử lý trung tâm
- Tập lệnh cơ bản gồm 84 lệnh - Chế độ định địa chỉ linh hoạt
- Độ dài lệnh 24-bit, độ dài dữ liệu 16-bit - Bộ nhớ chương trình Flash 24 Kbytes - Bộ nhớ RAM độ lớn 1Kbytes
- Mảng 16 thanh ghi làm việc 16-bit - Tốc độ làm việc lên tới 40 MIPS
b. Bộ chuyển đổi tương tự số ADC
- Bộ chuyển đổi tương tự - số (ADC) 10-bit
+ Tốc độ lấy mẫu tối đa 1 Msps (Mega samples per second) + Tối đa 10 kênh lối vào ADC
+ Thực hiện biến đổi cả trong chế độ Sleep và Idle - Chế độ nhận biết điện thế thấp khả lập trình
- Tạo Reset bằng nhận diện điện áp khả lập trình
c. Các cổng vào ra I/O Port và các ngoại vi
- Dòng ra, vào ở các chân I/O lớn: 25 mA
- 3 Timer 16-bit, có thể ghép 2 Timer 16-bit thành Timer 32-bit - Chức năng Capture 16-bit
- Các bộ so sánh/PWM 16-bit
- Module SPI 3 dây (hỗ trợ chế độ Frame)
- Module I2C, hỗ trợ chế độ đa chủ tớ, địa chỉ từ 7-bit đến 10-bit - UART có khả năng địa chỉ hoá, hỗ trợ bộ đệm FIFO
d. Bộ xử lý tín hiệu số
- Nạp dữ liệu song song
- Hai thanh chứa 40-bit có hỗ trợ bão hoà logic
- Thực hiện phép nhân 2 số 17-bit trong một chu kì máy - Tất cả các lệnh DSP đều thực hiện trong một chu kì máy - Dịch trái hoặc phải 16 bit trong một chu kì máy
e. Một số đặc điểm khác
- Bộ nhớ Flash: ghi/xoá lên tới 10.000 lần (điều kiện công nghiệp) và trên dưới100.000 lần (thông thường)
- Bộ nhớ EEPROM: ghi/xoá lên tới 100.000 lần (điều kiện công nghiệp) và trên dưới1.000.000 lần (thông thường)
- Khả năng tự nạp trình dưới điều khiển của software
- Chế độ bảo vệ firmware khả lập trình
- Khả năng tự lập trình nối tiếp trên mạch điện ( In Circuit Serial Programming–ICSP)
- Có thể lựa chọn các chế độ quản lí nguồn: Sleep hoặc Idle
3.1.3 Cấu trúc của vi điều khiển dsPic30F4011
a. Khối xử lý trung tâm CPU
CPU của dsPic30F4011 được thiết kế trên kiến trúc RISC, nhân của CPU có một bộ xử lí lệnh 24-bit và bộ đếm chương trình – Program Counter (PC) độ rộng 23-bit với bit ý nghĩa thấp nhất luôn bằng 0, còn bít ý nghĩa cao nhất thì được bỏ qua trong suốt quá trình thực hiện chương trình bình thường, chỉ trừ khi thực hiện các lệnh đặc biệt.
Do đó, bộ đếm chương trình có thể định địa chỉ lên tới 4 triệu từ lệnh của không gian bộ nhớ chương trình được sử dụng.
Thiết bị dsPIC30F chứa 16 thanh ghi làm việc 16-bit. Mỗi thanh ghi làm việc có thể có thể làm việc với vai trò như dữ liệu, địa chỉ hoặc thanh ghi địa chỉ offset. Thanh ghi thứ 16 (W15) hoạt động như là con trỏ ngăn xếp mềm cho hoạt động ngắt và gọi ngắt.
Các chỉ lệnh của dsPIC30F gồm 2 lớp: Lớp MCU và Lớp DSP của lệnh. Hai lớp này được kết hợp đồng nhất với nhau trong kiến trúc và thực hiện từ một khối thực hiện đơn. Các chỉ lệnh bao gồm nhiều chế độ địa chỉ và được chế tạo nhằm tương thích với trình biên dịch ngôn ngữ C.
Không gian dữ liệu có thể được địa chỉ hoá thành 32K words hoặc 64 Kbytes và được chia làm hai khối, được gọi là bộ nhớ dữ liệu X và bộ nhớ dữ liệu Y. Mỗi khối đều có khối tạo địa chỉ - AGU (Adress Generator Unit) riêng biệt của nó. Tất cả các lệnh hoạt động đơn độc chỉ qua bộ nhớ X, và khối AGU – quy định sự xuất hiện của một vùng dữ liệu thống nhất. Lớp thanh chứa phép nhân (Multiply-Accumulate) – MAC của lệnh DSP hoạt động thông qua cả hai khối AGU của bộ nhớ X và Y, nó chia địa chỉ dữ liệu thành hai phần. Mỗi từ dữ liệu gồm 2-bytes, và tất cả các lệnh có thể định địa chỉ dữ liệu theo bytes hoặc words (từ).
- 32 Kbytes cao của vùng nhớ dữ liệu có thể được sắp xếp trong nửa thấp của không gian chương trình tại biên của 16K từ chương trình bất kỳ, được định nghĩa bởi thanh ghi PSVPAG 8-bit (Program Space Visibility Page). Do đó các lệnh có thể truy cập không gian chương trình như không gian dữ liệu, nhưng có một giới hạn là nó cần thêm một chu kỳ lệnh nữa. Chỉ có 16 bít thấp của mỗi từ lệnh có thể sử dụng phương thức truy cập này.
- Truy cập trực tiếp không tuyến tính của các trang 32K từ nằm trong không gian chương trình cũng có thể sử dụng các thanh ghi làm việc, thông qua bảng lệnh đọcvà ghi. Bảng lệnh đọc và ghi có thể được sử dụng để truy cập cả 24 bit của một từ lệnh.
Khối X AGU (khối AGU của bộ nhớ X) cũng hỗ trợ việc đảo bit địa chỉ trên địa chỉ đích kết quả nhằm đơn giản hoá tối đa dữ liệu vào hoặc ra để chúng thích hợp cho thuật toán FFT cơ số 2.
Với tất cả các lệnh, nhân của dsPIC30F có khả năng thực hiện việc đọc bộ nhớ dữ liệu hoặc bộ nhớ chương trình, đọc thanh ghi làm việc, ghi vào thanh ghi làm việc và đọc bộ nhớ chương trình mỗi chu kì lệnh. Như vậy, lệnh 3 toán hạng được hỗ trợ, cho phép thực hiện phép tính C = A + B trong một chu kì lệnh.
Hình 3.2 Các thanh ghi của khối xử lý trung tâm
Công cụ DSP được tích hợp vào vi xử lý làm tăng ý nghĩa của một CPU mạnh về thuật toán. Đặc điểm của nó là thực hiện ở tốc độ cao một phép nhân hai số 17-
bit, một khối số học và logic (ALU) 40-bit, hai thanh chứa có khả năng bão hoà 40- bit và một bộ dịch hai hướng 40-bit. Dữ liệu trong thanh chứa hoặc bất kỳ một thanh ghi làm việc nào có thể được dịch trái 15 bit hay dịch trái 16 bit chỉ trong một chu kỳ lệnh. Các lệnh DSP hoạt động thống nhất với tất cả các lệnh khác và được thiết kế nhằm thích hợp với việc xử lý thời gian thực.
Lớp MAC của lệnh có thể đồng thời nạp hai toán hạng dữ liệu từ bộ nhớ trong khi đang nhân hai thanh ghi W. Để kích hoạt chế độ nạp đồng thời của toán hạng, không gian dữ liệu được chia nhỏ cho các lệnh này và tuyến đối với các lệnh khác. Việc này được thực hiện rõ ràng và rất linh hoạt bằng cách dành một vài thanh ghi làm việc cho mỗi không gian địa chỉ cho lớp MAC của lệnh.
Nhân của vi xử lý không hỗ trợ đường ống đa tầng lệnh, nhưng một lệnh đơn tầng sẽ sử dụng kĩ thuật tiền nạp, truy cập và giải mã từng phần lệnh nhằm mục tiêu một lệnh chỉ thực hiện trong một chu kỳ.
b. Khối tạo địa chỉ AGU
Nhân của vi xử lý dsPIC chứa hai khối tạo địa chỉ độc lập là X AGU và Y AGU. Khối Y AGU hỗ trợ đọc dữ liệu 16-bit cho lớp MAC của lệnh DSP. Các khối AGU trong dsPIC hỗ trợ 3 kiểu địa chỉ dữ liệu:
- Địa chỉ tuyến tính. - Địa chỉ vòng. - Địa chỉ đảo bit.
Chế độ địa chỉ tuyến tính và địa chỉ vòng có thể áp dụng cho không gian dữ liệu hoặc không gian chương trình. Chế độ đảo bit địa chỉ áp dụng cho các địa chỉ không gian dữ liệu
* Chế độ địa chỉ lệnh
Các chế độ địa chỉ được cung cấp trong lớp MAC của các lệnh thì có khác nhau đôi chút ở các lệnh khác nhau.
Hình 3.3 Các chế độ định địa chỉ cơ bản được hỗ trợ
• Lệnh thanh ghi tệp
Tất cả các lệnh thanh ghi đều sử dụng trường địa chỉ 13-bit để trực tiếp định địa chỉ dữ liệu ở 8192 bytes đầu của bộ nhớ dữ liệu (gần không gian dữ liệu). Tất cả các lệnh thanh ghi tệp đều tận dụng thanh ghi làm việc W0, thanh ghi làm việc trong các lệnh này.
• Lệnh MCU
Các lệnh MCU 3 toán hạng có dạng như sau: Toán hạng 3 = Toán hạng 1 <hàm> Toán hạng 2
Trong đó Toán hạng 1 luôn là thanh ghi làm việc (ví dụ: chế độ địa chỉ chỉ có thể là thanh ghi trực tiếp). Toán hạng 2 có thể là thanh ghi W, lấy dữ liệu từ bộ nhớ dữ liệu, hoặc 5 bit thông thường. Kết quả được đặt trong có thể là thanh ghi W hoặc một địa chỉ cố định.
• Lệnh di chuyển và tích luỹ
Lệnh di chuyển và các lớp DSP tích luỹ của lệnh làm cho sự mềm dẻo của địa chỉ cao hơn các lệnh khác. Tất cả các lệnh MCU, lệnh di chuyển và tích luỹ đều hỗ trợ chế độ địa chỉ, và cũng hỗ trợ chế độ thanh ghi gián tiếp và thanh ghi địa chỉ offset.
Chú ý: Đối với lệnh MOV, chế độ địa chỉ được chỉ rõ trong lệnh có thể khác
nhau giữa nguồn và đích. Tuy nhiên trường của 4-bit offset của thanh ghi Wb được chia sẻ giữa nguồn và đích.
• Các lệnh MAC
Cả hai toán hạng nguồn của các lệnh DSP (CLR, ED, EDAC, MAC, MPY.N,MOVSAC và MSC) được xem như các lệnh MAC, tận dụng các lệnh được đơn giản hoá
Hai thanh ghi tiền nạp toán hạng nguồn phải là một trong các thanh ghi sau: {W8,W9, W10, W11}. Với đọc dữ liệu, W8 và W9 luôn tương tác trực tiếp với X AGU, W10và W11 luôn tương tác trực tiếp với Y AGU. Do đó địa chỉ hiệu dụng được tạo (trước và sau khi hiệu chỉnh) phải hợp lệ với địa chỉ trong không gian dữ liệu X cho W8, W9 và trong không gian dữ liệu Y cho W10, W11.
• Các lệnh khác
Bên cạnh các chế độ địa chỉ biến đổi, một vài lệnh sử dụng các hằng số có định dạng thay đổi.
Ví dụ: lệnh BRA (branch – phân nhánh) sử dụng dữ liệu 16-bit có dấu để chỉ ra đích rẽ nhánh trực tiếp, trong khi lênh DISI sử dụng trường số 14-bit không dấu.Trong một vài lệnh như ADD hay ACC, nguồn của một toán hạng hoặc kết quả được đưara bởi chính mã lệnh của nó. Tuy nhiên, một vài lệnh như NOR, lại không có toán hạngnào.
* Chế độ đảo bit địa chỉ
Địa chỉ được đảo bit nhằm làm đơn giản hoá dữ liệu cho thuật toán FFT cơ số 2. Nó được hỗ trợ bởi khối AGU của X chỉ cho việc ghi dữ liệu.
Thực hiện đảo bit địa chỉ
Đảo bít địa chỉ được bật khi các điều kiện sau được thoả mãn:
- Các bit BWM (lựa chọn thanh ghi W) trong thanh ghi MODCON ở giá trị lớn hơn 15 (không thể truy cập ngăn xếp khi đang sử dụng chế độ đảo bit địa chỉ)
- Bit BREN được đặt trong thanh ghi XBREV
- Chế độ địa chỉ được sử dụng là chế độ thanh ghi gián tiếp Nếu độ dài bộ đệm của các bit được đảo là M = 2N bytes, N bit cuối cùng của bộ đệm dữ liệu bắt đầu được định địa chỉ bằng không.
Các bit XB <từ bit 14 đến 0 của thanh ghi XBREV> là địa chỉ bit được đảo, hay còn gọi là “điểm xoay” (pivot point) thường là hằng số.
c. Tổ chức bộ nhớ và bộ nhớ chương trình
* Không gian địa chỉ chương trình
Không gian địa chỉ chương trình có độ lớn 4M từ lệnh. Bộ nhớ chương trình có thể được địa chỉ hoá bởi một giá trị 24-bit bởi bộ đếm chương trình (PC), hoặc bảng lệnh địa chỉ hiệu dụng(EA), hoặc không gian dữ liệu EA khi không gian chương trình được sắp xếp và địa chỉ hoá. Chú ý rằng, địa chỉ không gian chương trình được tăng lên với bước là 2 giữa các từ chương trình để tạo ra sự tương thích với việc địa chỉ hoá không gian dữ liệu.
Truy cập không gian chương trình người sử dụng bị giới hạn trong dải 4M địa chỉ của từ lệnh (từ 0x000000 tới 0x7FFFFE) với tất cả các lệnh truy cập, trừ hai lệnh TBLRD/TBLWT - sử dụng bit 7 của thanh ghi TBLPAG để xác định người sử dụng hoặc thiết lập cấu hình truy cập bộ nhớ.
* Truy xuất dữ liệu từ bộ nhớ chương trình sử dụng các lệnh bảng
Kiến trúc của dsPIC cho phép nạp dữ liệu rộng 24-bit tới bộ nhớ chương trình, do đó các lệnh luôn luôn được xếp hàng tuy nhiên kiến trúc của nó có cải tiến so với kiến trúc máy tính Hadvard nên dữ liệu cũng có thể được đưa ra ở trong không gian chương trình.
Có hai phương pháp truy cập không gian chương trình, đó là
- Thông qua các lệnh đặc biệt về bảng hoặc thông qua việc định địa chỉ và sắp xếp lại 16K trang từ không gian chương trình trong nửa cao của không gian dữ liệu. Các lệnh TBLRDL và TBLWTL cung cấp phương pháp đọc và ghi trực tiếp từ ít ý nghĩa nhất (LSWord) tại một địa chỉ bất kỳ trong không gian chương trình mà không cần thông qua không gian dữ liệu. Hai lệnh TBLRDH và TBLWTH chỉ là phương thức mà 8 bít cao của từ không gian chương trình có thể được truy xuất như dữ liệu.
- Bộ đếm chương trình (PC) được tăng lên hai với mỗi từ chương trình 24-bit.
Điều này cho phép các địa chỉ bộ nhớ chương trình ánh xạ trực tiếp tới địa chỉ không gian dữ liệu. Do đó bộ nhớ chương trình có thể được xem như hai không gian