วันพุธที่ 12 พฤษภาคม พ.ศ. 2553

PWM time base interrupts

โหมดสัญญาณ pwm ที่สร้างโดยฐานเวลา pwm ขึ้นอยู่กับการเลือกบิต PTMOD ภายในรีจิสเตอร์ PTCON (บิต 1 ถึงบิต 0) และบิตเลือก postscaler PTOPS ภายในรีจิสเตอร์ PTCON (บิต 7 ถึงบิต 4)
free running mode
เมื่อฐานเวลา pwm อยู่ในโหมด free running (PMOD=00) อินเตอร์รัปต์ถูกสร้างขึ้นเมื่อรีจิสเตอร์ PTMR รีเซตเป็น 0 ซึ่งตรงกับรีจิสเตอร์ PTPER ส่วนบิตเลือก postscaler จะใช้ในโหมดนี้เพื่อลดความถี่ของการเกิดอินเตอร์รัปต์
single event mode
เมื่อฐานเวลา pwm อยู่ในโหมด single event (PMOD=01) อินเตอร์รัปต์ถูกสร้างขึ้นเมื่อรีจิสเตอร์ PTMR รีเซตเป็น 0 ซึ่งตรงกับรีจิสเตอร์ PTPER และบิต PTEN (บิตที่ 15 ของรีจิสเตอร์ PTCON) จะถูกลบค่าด้วยในเวลาเดียวกันเพื่อหยุดการนับของ PTMR ส่วนบิตเลือก postscaler ไม่มีผลต่อโหมดนี้
up/down counting mode
ในโหมด up/down counting (PMOD=10) แต่ละครั้งที่ค่าของรีจิสเตอร์ PTMR มีค่าเท่ากับ 0 อินเตอร์รัปต์จะถูกสร้างขึ้นมาและฐานเวลา pwm จะเริ่มนับขึ้น ส่วนบิตเลือก postscaler จะใช้ในโหมดนี้เพื่อลดความถี่ของการเกิดอินเตอร์รัปต์
up/down counting mode with double updates
ในโหมด double update (PMOD=11) แต่ละครั้งที่ค่าของรีจิสเตอร์ PTMR มีค่าเท่ากับ 0 และเกิดคาบเวลาตรงกัน อินเตอร์รัปต์จะถูกสร้างขึ้นมา ส่วนบิตเลือก postscaler ไม่มีผลต่อโหมดนี้
*โหมด bouble update ทำให้ control loop bandwidth มีค่าเป็นสองเท่าเนื่องจาก pwm duty cycle ปรับปรุงค่าได้สองครั้งในหนึ่งคาบ ทุกๆ ขอบขาขึ้นและขอบขาลงของสัญญาณ pwm สามารถควบคุมได้โดยใช้โหมด double update

ไม่มีความคิดเห็น:

แสดงความคิดเห็น