
Trigger ADC โดยใช้เครื่องกำเนิด PWM

เรียนรู้วิธีใช้อุปกรณ์ PWM และ ADC ของอุปกรณ์ DSPIC33C MP, Lab 7: ตัวอย่างรหัสสำหรับอุปกรณ์ DSPIC33CK และ DSPIC33CH ที่แสดงการกำหนดค่าพื้นฐานของเครื่องกำเนิดไฟฟ้า PWM ที่กระตุ้นการป้อนข้อมูล ADC ภายใน ADC Interrupt Service Rountine (ISR) PIN ทดสอบสลับเพื่อให้ผู้ใช้สามารถสังเกตความล่าช้าในการตอบสนองของทริกเกอร์ นอกจากนี้การสร้างการขัดจังหวะในช่วงต้นการลงทะเบียนการทำงานทางเลือกด้วยแอตทริบิวต์คอมไพเลอร์และคุณสมบัติการปรับเวลาการปรับเวลาการสุ่มตัวอย่างใช้เพื่อปรับเวลาตอบสนองทริกเกอร์
โปรดตรวจสอบแผ่นข้อมูลล่าสุดบนเว็บไซต์ผลิตภัณฑ์ที่เกี่ยวข้อง:

หลังจากที่อุปกรณ์ได้รับการตั้งโปรแกรมแล้วและ MCU เริ่มต้นขึ้น PWM1H จะเรียกใช้ ADC Core เฉพาะ 0 หลังจากผ่านการตอบสนองการตอบสนองของทริกเกอร์ประมาณ 277NS, ADC Core O ISR TEST PIN ตัวบ่งชี้การสลับ TP55 ดูการจับภาพหน้าจอด้านล่าง การตอบสนองการตอบสนองของทริกเกอร์ได้รับการปรับให้เหมาะสมเนื่องจากเปิดใช้งานเครื่องกำเนิดไฟฟ้าขัดจังหวะของ ADC Core 0
ด้วยการกดปุ่มกด ปุ่ม บนบอร์ดบนบอร์ดการพัฒนาพลังงานดิจิตอล PWM2H จะกระตุ้น ADC Core เฉพาะ 1 หลังจากผ่านการตอบสนองการตอบสนองของทริกเกอร์ประมาณ 265NS ตัวบ่งชี้ PIN ทดสอบ ADC Core 1 ISR ISR TP53 ความล่าช้าในการตอบสนองของทริกเกอร์จะลดลงอีกเนื่องจากนอกเหนือจากเครื่องกำเนิดไฟฟ้าขัดจังหวะก่อนหน้านี้แล้ว ADC Core 1 ISR ใช้แอตทริบิวต์บริบทของคอมไพเลอร์เพื่อเชื่อมโยง ISR กับชุดการลงทะเบียนสำรอง
ด้วยการกดปุ่มกด On-Board อีกครั้ง PWM3H จะกระตุ้น ADC Core ที่ใช้ร่วมกัน 6 หลังจากประมาณ 335NS ADC Core 6 ISR TEST INDIMATOR TP50 Toggles ดูการจับหน้าจอด้านล่าง การกำหนดค่าของ ADC ที่ใช้ร่วมกันนั้นเหมือนกันกับ ADC Core 1 เฉพาะยกเว้นเวลาการสุ่มตัวอย่าง ADC ที่ใช้ร่วมกันถูกตั้งค่าเป็น 8 tadcore ซึ่งแตกต่างจากคอร์ ADC เฉพาะก่อนหน้านี้ ADC Core 6 ที่ใช้ร่วมกันไม่มีพินอะนาล็อกเฉพาะ สิ่งนี้จำเป็นต้องขยายเวลาการสุ่มตัวอย่างเพื่อให้แน่ใจว่า ADC เชื่อมต่อกับพินอะนาล็อกและสุ่มตัวอย่างสัญญาณอินพุตก่อนการแปลง อย่างไรก็ตามเวลาตัวอย่างนี้เพิ่มความล่าช้าในการตอบสนองของทริกเกอร์
โปรดดู คู่มือการเริ่มต้นอย่างรวดเร็วของเฟิร์มแวร์ ด้านล่างสำหรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการเริ่มต้นและโครงสร้างรหัส

ตัวอย่างรหัสนี้สร้างขึ้นบนตัวอย่างรหัสก่อนหน้านี้แสดงวิธีใช้ Microchip Code Configurator (MCC) เพื่อตั้งค่าโดเมนนาฬิกาอุปกรณ์ แม้ว่า MCC ยังรองรับเครื่องมือกำหนดค่าสำหรับโมดูล PWM และ ADC การกำหนดค่า PWM และ ADC ในตัวอย่างนี้สร้างขึ้นบนไดรเวอร์อุปกรณ์ต่อพ่วงทั่วไปเพื่อช่วยให้ผู้ใช้เข้าใจสถาปัตยกรรมอุปกรณ์ต่อพ่วงและแง่มุมที่สำคัญของการกำหนดค่าและโหมดการทำงานที่เฉพาะเจาะจง ในแต่ละ PWM และ ADC ตัวอย่างรหัสโครงการขั้นตอนการกำหนดค่า PWM และ ADC จะอยู่ในไฟล์ผู้ใช้ PWM.C และ ADC.C ซึ่งแต่ละบิตลงทะเบียนที่จำเป็นเพื่อให้ได้/เปิดใช้งานฟังก์ชั่นเฉพาะหรือโหมดที่น่าสนใจถูกตั้งค่าและฟังก์ชั่นที่อธิบายด้วยความคิดเห็น เมื่อผู้ใช้คุ้นเคยกับสถาปัตยกรรมคุณสมบัติและความสามารถอาจใช้ตัวเลือกการกำหนดค่าทั้งสอง (อาจใช้ไลบรารีอุปกรณ์ต่อพ่วงทั่วไปหรือ MCC)
โครงการมีไดเรกทอรีย่อยสี่เส้น
บนฮาร์ดไดรฟ์ Main.C/H อยู่ในไดเรกทอรีโครงการ MPLAB X ไฟล์ผู้ใช้อื่น ๆ ทั้งหมดรวม ไดรเวอร์อุปกรณ์ต่อพ่วงตั้งอยู่ใน แหล่ง ย่อยไดเรกทอรี ไฟล์ที่สร้างโดย MCC มักจะอยู่ในไดเรกทอรีย่อยของตัวเอง MCC_Generated-Files
ไฟล์ไดรเวอร์อุปกรณ์ต่อพ่วง PWM และ ADC P33C_PWM.C/H และ P33C_ADC.C/H ให้โครงสร้างข้อมูลที่แสดงชุดฟังก์ชันพิเศษ (SFR) ชุดของอินสแตนซ์ PWM และ ADC รวมถึงโมดูลฐาน PWM และ ADC วัตถุ 'เสมือนจริง' เหล่านี้ใช้ในการโหลดอ่านและแก้ไขการกำหนดค่า PWM และ ADC โดยไม่จำเป็นต้องใช้คำแนะนำที่ยากซึ่งจะทำให้รหัสยากที่จะย้ายจากอุปกรณ์ต่อพ่วงไปยังอุปกรณ์อื่นหรือแม้กระทั่งอุปกรณ์ เพื่อลดความซับซ้อนของการกำหนดค่า PWM และ ADC ในตัวอย่างเหล่านี้การลงทะเบียนแต่ละครั้งจะถูกรีเซ็ตเป็นสถานะเริ่มต้นที่รู้จักก่อนที่จะตั้งค่าการกำหนดค่าความสนใจของผู้ใช้ ดังนั้นเฉพาะการตั้งค่าการลงทะเบียนที่สำคัญสำหรับคุณสมบัติ/ฟังก์ชั่นบางอย่างเท่านั้น
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับไดรเวอร์ PWM และ ADC ทั่วไปคุณสมบัติที่รองรับและกรณีการใช้งานที่ตั้งใจไว้โปรดอ่านความคิดเห็นภายใน p33c_pwm.c และ p33c_adc.c
รหัสนี้ถูกเขียนขึ้นเพื่อเริ่มต้นโดยอัตโนมัติและทำหน้าที่ที่น่าสนใจ โปรดอ่านคำแนะนำการสาธิตที่ด้านบนของไฟล์ main.c เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับตัวอย่างรหัสจุดทดสอบสัญญาณที่คาดหวังและการทำงานของโหมดสาธิต
© 2020, Microchip Technology Inc.