View Single Post
Old 21-04-2008, 12:36 AM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi doi_gio_hu View Post
Các bác cho em hỏi:
Em đang phát xung PWM cho bộ nghịch lưu cầu 3 pha để cấp cho động cơ BLDC.Em muốn hỏi về 6 bit POVDx (OVDCON<13:8>) và 6 bit POUTx (OVDCON<5:0>)của thanh ghi OVDCON trong dspic30F4011.Trong datasheet của nó viết là:6 bit POVDx xác định chân PWM nào sẽ được ưu tiên(which PIM I/O pins will be overridden),còn các chân POUTx thì xác định trạng thái của các chân PWM(determine the state of the PWM I/O pins when PWM a particular output is overridden manually). Như vậy là sao hả các bác?
Trong khi em cần chọn bảng lookup có 1 kênh H và 1 kênh L dẫn ở mỗi thời điểm(tuần tự)
trong file hướng dẫn AN957 của microchip có phần hướng dẫn khai báo bảng đó như sau:
unsigned int stateLotable[]={0x0000,0x0210,0x2004,0x0204,0x0801,0x0810,0x2001 ,0x0000};
và dùng bảng đó để quy định kênh ưu tiên của các kênh PWM phát ra bằng lệnh:
OVDCON=stateLotable[hallvalue]
với hallvalue là một biến đọc về để xác định vị trí để phát xung của em.
Như thế có phải là quy định có hai kênh được đưa xung ra trong 1 thời điểm ko?
Nếu vậy thì giả thích như thế nào với những gì được viết trong datasheet?
Em đang làm đồ án và cần gấp câu trả lời,mong các bác giúp em!
Các bit POVDxH và POVDxL sẽ chọn chân tương ứng bị overriden (bị đè trạng thái), còn các bit POUTxH và POUTxL sẽ trạng thái logic của chân khi đang bị overriden. Lấy ví dụ cụ thể, khi bạn có POVD3H = '1' và POUT3H = '1', chân PWM3H sẽ mang trạng thái của bit POUT3H, tức là = '1', chứ trạng thái của nó không còn do module PWM3 quyết định. Với POVD3H = '1' và POUT3H = '0' thì chân PWM3H sẽ bị gán trạng thái '0', bất chấp trạng thái điều khiển từ module PWM3 cho chân PWM3H.

Chú ý: phần này đã giải thích sai, do Microchip thiết kế các bit POVDxH và POVDxL có mức tích cực thấp (một cách ngược đời), hãy đọc phần đính chính trong post #4.

Như vậy, mỗi khi muốn override trạng thái của một chân PWM thì cần cập nhật 2 bit của OVDCON, một cách lý tưởng là thực hiện việc cập nhật trong 1 chu kỳ lệnh. Do đó, người ta thường dùng bảng tra để đảm bảo việc override, như ví dụ trên đã cho thấy. Bạn chú ý là trong code của họ có 2 bảng StateLoTable[], khác nhau cho 2 trường hợp điều khiển open và closed loop.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263

thay đổi nội dung bởi: namqn, 25-04-2008 lúc 12:53 AM.
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn