วันศุกร์ที่ 14 พฤษภาคม พ.ศ. 2553

PWM fault pins

FLTA และ FLTB เป็น 2 fault pin ที่ทำงานร่วมกับ pwm module เมื่อถูกเรียกใช้จะสามารถขับ pwm i/o pin ได้ตามสภาวะที่กำหนด การกระทำนี้เกิดขึ้นโดยปราศจากการแทรกแซงชุดคำสั่ง ดังนั้น fault event จึงสามารถจัดการได้อย่างรวดเร็ว
fault pin อาจมี multiplex fucntion ขึ้นกับแต่ละรุ่นของ dsPIC เมื่อทำหน้าที่เป็น fault pin แต่ละ pin สามารถอ่านค่าได้ผ่านทางรีจิสเตอร์ที่สัมพันธ์กัน FLTA และ FLTB เป็นอินพุตแบบ active-low ดังนั้นจึงง่ายต่อการเขียนไปที่ค่าอินพุตเดียวกันผ่านทางตัวต้านทาน pull-up ภายนอก เมื่อไม่ใช้ร่วมกับ pwm module ตัว pin นี้อาจใช้เป็น i/o ทั่วไปหรือใช้เป็น multiplex function ในแต่ละ fault pin จะมี interrupt vector, interrupt flag, บิตเปิดใช้งาน interrupt เป็นของตัวเองและมีบิตบอกลำดับความสำคัญด้วย
การทำงานของ FLTA pin ถูกควบคุมดดยรีจิสเตอร์ FLTACON และการทำงานของ FLTB pin ถูกควบคุมโดยรีจิสเตอร์ FLTBCON

PWM output pin reset states

บิต PWMPIN ใช้ตรวจจับพฤติกรรมของ pwm output pin ตอนอุปกรณ์รีเซตและสามารถใช้กำจัดตัวต้านทาน pull-up/pull-down ที่ต่อภายนอกกับอุปกรณ์ที่ควบคุมโดย pwm module
ถ้าบิต PWMPIN เซตเป็น '1' บิต PENxx จะถูกเคลียร์เมื่ออุปกรณ์รีเซต ตามลำดับแล้วเอาต์พุตของ pwm ทั้งหมดจะมี 3 สภาวะและถูกควบคุมโดยรีจิสเตอร์ PORT และ TRIS ที่สัมพันธ์กัน
ถ้าบิต PWMPIN เซตเป็น '0' บิต PENxx จะถูกเซตเมื่ออุปกรณ์รีเซต pwm pin ทั้งหมดจะเปิดให้ pwm output เวลาที่อุปกรณ์รีเซตและจะยังคงสภาวะที่ inactive ตามที่กำหนดไว้ในบิต HPOL แล LOPOL

Output polarity control

polarity ของ pwm i/o pin จะเซตขณะอุปกรณ์ทำงานผ่านบิต HPOL และ LPOL ในรีจิสเตอร์ FPORBOR โดยบิต HPOL เซต output polarity ของ PWM1H-PWM4H ส่วนบิต LPOL เซต output polarity ของ PWM1L-PWM4L
ถ้าบิต palarity เซตเป็น '1' pwm i/o pin ที่สัมพันธ์กันจะมี active-high output polarity ถ้าบิต palarity เซตเป็น '0' pwm i/o pin ที่สัมพันธ์กันจะมี active-low output polarity

PWM output and polarity control

บิต PENxx ในรีจิสเตอร์ PWMCON1 ใช้เพื่อเปิดใช้งาน pwm output pin เมื่อตัว pin เปิดใช้งานร่วมกับเอาต์พุตของ pwm แล้ว รีจิสเตอร์ PORT และ TRIS ที่ควบคุม pwm output pin ก็จะถูกเปิดใช้งาน
นอกจากบิตควบคุม PENxx ยังมีอีก 3 บิตในรีจิสเตอร์ FBORPOR ที่มีไว้สำหรับควบคุม pwm output pin
  • บิต HPOL
  • บิต LPOL
  • บิต PWMPIN
เป็น 3 บิตที่ทำงานประสานกันกับบิตควบคุม pwm (PENxx) ภายในรีจิสเตอร์ PWMCON1 บิตดังกล่าวเป็นตัวยืนยันว่า pwm pin อยู่ในสถาวะที่ถูกต้องหลังจากรีเซตอุปกรณ์

Output override examples

ภาพที่ 15-19 แสดงตัวอย่างรูปคลื่นที่ผลิตได้จาก pwm output override ในภาพแสดงลำดับการสับเปลี่ยนทั้ง 6 ขั้นของ BLDC motor ซึ่งขับผ่านอินเวอร์เตอร์ 3 เฟส ดังแสดงในภาพที่ 15-13 เมื่อตรวจจับตำแหน่งของโรเตอร์ที่จุดเปลี่ยนได้ เอาต์พุตของ pwm จะเปลี่ยนไปเป็นรูปแบบต่อไปตามลำดับขั้น ในตัวอย่างนี้ เอาต์พุตของ pwm จะถูกขับไปที่ logic state ที่ระบุไว้ ค่าในรีจิสเตอร์ OVDCON นำมาใช้ผลิตสัญญาณในภาพที่ 15-19 ที่ได้จากตารางที่ 15-6
รีจิสเตอร์ pwm duty cycle ทำงานเชื่อมต่อกันกับรีจิสเตอร์ OVDCON โดยรีจิสเตอร์ pwm duty cycle ควบคุมกระแสที่ส่งไปที่โหลดและรีจิสเตอร์ OVDCON ควบคุมการสับเปลี่ยน (ภาพที่ 15-20 แสดงตัวอย่าง) ค่าในรีจิสเตอร์ OVDCON ใช้ผลิตสัญญาณในภาพที่ 15-20 ที่ได้จากตารางที่ 15-7

Override synchronization

เมื่อเซตบิต OSYNC (บิตที่ 1 ของรีจิสเตอร์ PWMCON2) เอาต์พุตทั้งหมดที่ override ผ่านรีจิสเตอร์ OVDCON จะถูก synchronize กับ pwm time base เอาต์พุตที่ถูก synchronize และ override จะเกิดขึ้น ณ เวลาต่อไปนี้:
  • edge aligned mode, เมื่อ PTMR เป็น 0
  • center aligned mode, เมื่อ PTMR เป็น 0 หรือ
  • เมื่อค่า PTMR ตรงกับ PTPER
หน้าที่ของ override synchronization คือสามารถหลีกเลี่ยง narrow pulse ใน pwm output pin

Override control for complementary output mode

ตัว pwm module จะไม่ทำ override เมื่อคู่ของ pwm i/o pin กำลังทำงานใน complementary mode (PMODx=0) ตัว module จะไม่ยอม ให้คู่ pwm i/o pin เปลี่ยนสภาวะเป็น active พร้อมกัน และ high-side pin ในแต่ละ pwm i/o pin จะมีความสำคัญลำดับต้นๆ เสมอ
note: การแทรก dead time จะยังทำอยู่ เมื่อ pwm channel ทำ override แบบควบคุมโดยผู้ใช้งาน