การออกแบบเทอร์มินัลตรวจสอบคุณภาพกำลังไฟฟ้าที่ใช้ชิป DSP TMS320F2812

อัปเดต: 12 ธันวาคม 2023
DSP (Digital Signal Processor) ถูกใช้บ่อยขึ้นเรื่อยๆ ในแอปพลิเคชันด้านวิศวกรรมในปัจจุบัน มีเหตุผลหลักสามประการ: ประการแรก มีความสามารถในการประมวลผลที่ทรงพลัง มีความสามารถอัลกอริธึมการประมวลผลสัญญาณดิจิทัลต่างๆ เช่น FFT และการกรองดิจิทัล ประการที่สอง ผู้ผลิต DSP รายใหญ่ได้ออกแบบ IDE ที่เกี่ยวข้อง (การพัฒนาแบบบูรณาการ) สำหรับผลิตภัณฑ์ของตน สิ่งแวดล้อม) ซึ่งทำให้การพัฒนาแอปพลิเคชัน DSP มีประสิทธิภาพมากยิ่งขึ้น ประการที่สาม มีประสิทธิภาพด้านต้นทุนสูงและแข่งขันกับประสิทธิภาพอันทรงพลังและราคาต่ำได้อย่างแน่นอน

TI ออกแบบสภาพแวดล้อมการพัฒนาภาพแบบบูรณาการ CCS (CodeComposerStudio) สำหรับ DSP ของบริษัท และ DSP/BIOS เป็นส่วนสำคัญของ CCS โดยพื้นฐานแล้วมันเป็นเคอร์เนลระบบปฏิบัติการแบบเรียลไทม์ที่ใช้แพลตฟอร์ม DSP ซีรีส์ TMS320 และยังเป็นส่วนสำคัญของซอฟต์แวร์แบบเรียลไทม์ของ TI เทคโนโลยี-เทคโนโลยี eXpressDSP DSP/BIOS ส่วนใหญ่ประกอบด้วยสามส่วน ได้แก่ เคอร์เนลแบบมัลติเธรด เครื่องมือวิเคราะห์แบบเรียลไทม์ ไลบรารีการกำหนดค่าอุปกรณ์ต่อพ่วง

1 ข้อกำหนดการทำงานของระบบ

หน้าที่หลักของขั้วตรวจสอบคุณภาพไฟฟ้าคือการตรวจสอบและวิเคราะห์คุณภาพไฟฟ้าของโครงข่ายไฟฟ้า (สามเฟส แรงดันไฟฟ้า และปัจจุบัน) แบบเรียลไทม์ ตัวแปรการตรวจสอบหลักคือ: ค่าประสิทธิผลของแรงดันและกระแสไฟที่ใช้งานและปฏิกิริยา ความถี่ของแรงดันไฟฟ้า ความไม่สมดุลสามเฟส แรงดันฮาร์มอนิกแต่ละตัวและอัตราเนื้อหาปัจจุบัน ตัวประกอบกำลัง ตัวประกอบกำลังการเลื่อนเฟส ความผันผวนของแรงดันไฟฟ้า เวลานาน การสั่นไหวสำหรับ a ระยะเวลาอันสั้น.

ระบบเลือกชิป DSP ประสิทธิภาพสูง TMS320F2812 ของ TI เป็นแกนประมวลผล และความเร็วในการประมวลผล 150MIPS นั้นเพียงพอที่จะตอบสนองความต้องการแบบเรียลไทม์ของระบบ ตามข้อกำหนดของระบบ ระบบจะแบ่งออกเป็นโมดูลการทำงานดังต่อไปนี้: การตรวจสอบตนเองแบบมีคำแนะนำ โมดูล, โมดูลการดำเนินการรวบรวม, โมดูลการประมวลผลข้อมูลคุณภาพไฟฟ้าล่วงหน้า, โมดูลการดำเนินการวิเคราะห์คุณภาพไฟฟ้า, โมดูลจัดเก็บข้อมูล, โมดูลการสื่อสาร และโมดูลปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์

ตามวิธีการเขียนโปรแกรมแบบดั้งเดิม โมดูลการทำงานเหล่านี้จะถูกจัดระเบียบร่วมกันในโครงสร้างตามลำดับ และการเรียกและการสลับระหว่างโมดูลจะเสร็จสมบูรณ์ด้วยรหัสของแต่ละโมดูล เพื่อให้โมดูลของแอปพลิเคชันอยู่ในสถานะคู่กัน หากคุณต้องการเพิ่มโมดูลฟังก์ชันใหม่หรือแก้ไขโมดูลฟังก์ชันที่มีอยู่ ไม่เพียงแต่จะต้องแก้ไขรหัสการเรียกของโมดูลที่เกี่ยวข้องเท่านั้น แต่โมดูลใหม่จะส่งผลต่อลักษณะการตอบสนองเวลาของระบบเดิมอย่างเห็นได้ชัด ทำให้การอัพเกรดและ การบำรุงรักษาค่อนข้างลำบาก

การเกิดขึ้นของ DSP/BIOS เป็นอีกกลไกหนึ่งในการจัดระเบียบโมดูลการทำงานของโปรแกรมแอปพลิเคชัน โดยถือว่าแต่ละโมดูลการทำงานเป็นเธรดงาน ผ่านบริการเคอร์เนลที่กำหนดค่าได้ แต่ละเธรดงานจะมัลติเพล็กซ์ทรัพยากร CPU ตามลำดับความสำคัญของตัวกำหนดเวลาระบบ แต่ละเธรดงานผ่านการซิงโครไนซ์ การสื่อสาร และการแลกเปลี่ยนข้อมูล ฯลฯ ได้รับการประสานงาน กลไกนี้ช่วยปรับปรุงการบำรุงรักษาแอปพลิเคชันและให้วิธีการทดสอบซ้ำที่สะดวกและทันสมัยยิ่งขึ้น ตามคุณลักษณะข้างต้น ระบบนี้ใช้ DSP/BIOS เป็นเคอร์เนลแบบเรียลไทม์ และออกแบบทั้งระบบตามสิ่งนี้

รูปที่ 1 แสดงการจำแนกประเภทของโมดูลการทำงานของระบบภายใต้ DSP/BIOS

2 การออกแบบซอฟต์แวร์ตาม DSP/BIOS

2.1 การวางแผนเธรดการดำเนินการ

ในการทำงานระบบแบบเรียลไทม์ ฟังก์ชันฟังก์ชันบางอย่างจะถูกขับเคลื่อนโดยสัญญาณควบคุมภายนอกหรือทำงานในช่วงเวลาที่กำหนดไว้ ดังนั้นโหมดการขับขี่และระยะเวลาการทำงานของฟังก์ชันจึงมีความสำคัญมากต่อระบบเรียลไทม์ DSP/BIOS รองรับแอพพลิเคชั่นแบบมัลติเธรด และสามารถกำหนดเธรดตามลำดับความสำคัญที่แตกต่างกันได้

เธรดที่มีลำดับความสำคัญสูงสามารถขัดจังหวะเธรดที่มีลำดับความสำคัญต่ำ และการโต้ตอบระหว่างเธรดที่แตกต่างกัน เช่น การบล็อก การสื่อสาร และการซิงโครไนซ์ จะถูกแบ่งออกเป็น 4 ประเภทต่อไปนี้ (ลำดับความสำคัญจากสูงไปต่ำ): การขัดจังหวะฮาร์ดแวร์ (HWI) , การขัดจังหวะซอฟต์แวร์ ( SWI), งาน (TSK), เธรดพื้นหลัง (IDL) ตามความต้องการด้านการทำงานของระบบเทอร์มินัลตรวจสอบคุณภาพไฟฟ้า โมดูลฟังก์ชันย่อยของระบบจะแบ่งออกเป็น 4 ประเภทข้างต้น

ขั้นแรก กำหนดเวลาเธรดขัดจังหวะฮาร์ดแวร์ (HWI) ภายใต้สถานการณ์ปกติ รหัสโปรแกรมหลักของระบบจะอยู่ในซอฟต์แวร์ขัดจังหวะหรืองาน อย่างไรก็ตาม รหัสโปรแกรมของโมดูลการทำงานที่เกี่ยวข้องอย่างใกล้ชิดกับอุปกรณ์ภายนอกและต้องการประสิทธิภาพแบบเรียลไทม์สูงจะต้องถูกวางไว้ในการขัดจังหวะของฮาร์ดแวร์

ตามข้อกำหนดข้างต้น ระบบจะตั้งค่าโมดูลฟังก์ชันย่อยต่อไปนี้เป็นเธรดขัดจังหวะฮาร์ดแวร์: โมดูลงานการรับ A/D และโมดูลการสื่อสาร (รับ) การได้มาซึ่ง A/D เป็นรากฐานที่สำคัญของระบบนี้ และเชื่อมโยงอย่างใกล้ชิดกับฮาร์ดแวร์พื้นฐานของระบบ ดังนั้นจึงถูกตั้งค่าเป็นเธรดการขัดจังหวะฮาร์ดแวร์ (HWI)

กระบวนการหลักคือ: ชิป A/D รวบรวมข้อมูลแบบเรียลไทม์ของโครงข่ายไฟฟ้าที่ความถี่หนึ่ง จากนั้นสื่อสารกับพอร์ต McPSP ของ DSP DSP รับข้อมูลที่รวบรวมโดยชิป A/D และจัดเก็บไว้ในพื้นที่เฉพาะของ RAM บนชิปเพื่อเตรียมพร้อมสำหรับการทำงานของเธรดอื่นๆ โมดูลการสื่อสารใช้ RS485 เพื่อสื่อสารกับคอมพิวเตอร์โฮสต์ซึ่งเกี่ยวข้องอย่างใกล้ชิดกับฮาร์ดแวร์พื้นฐานของระบบ และอินเทอร์เฟซ SCI ของ DSP เองมีเพียง FIFO ที่มีคำสูงสุด 16 คำ หากข้อมูลที่ได้รับไม่ประมวลผลทันเวลา ข้อมูลจะสูญหาย

ข้อมูลต่อไปนี้จะอธิบายการตั้งค่าพารามิเตอร์ของโมดูล HWI ใน DSP/BIOS การขัดจังหวะการรับของพอร์ตอนุกรม McBSP จะถูกวางไว้ในตำแหน่ง HWI_INT6 ของโมดูล HWI และฟังก์ชัน ISR ad_rx_isr() ของการขัดจังหวะการรับจะถูกกรอกในรายการการเรียกใช้ฟังก์ชันของการขัดจังหวะ HWI_INT6 ในเวลาเดียวกันเลือกใช้ฟังก์ชันการตั้งเวลา HWI ของ DSP/RI-OS เมื่อตอบสนองต่อ McBSP เมื่อพอร์ตอนุกรมได้รับการขัดจังหวะ ระบบจะเรียกใช้ฟังก์ชัน ad_rx_isr() โดยอัตโนมัติ การตั้งค่าการขัดจังหวะการรับพอร์ตอนุกรม McBSP จะแสดงในรูปที่ 2

เช่นเดียวกับการตั้งค่าของพอร์ตอนุกรม McBSP ที่ได้รับการขัดจังหวะ SCIA ที่ได้รับการขัดจังหวะจะถูกตั้งค่าเป็นการสื่อสารที่ได้รับการขัดจังหวะ และฟังก์ชัน ISR scia_rx_isr() จะถูกกรอกในรายการการเรียกใช้ฟังก์ชันของการขัดจังหวะ HWI_INT9 เมื่อตอบสนองต่อการขัดจังหวะการรับ ระบบจะเรียกใช้ฟังก์ชัน scia_rx_isr() เพื่อประมวลผล เธรด CLK ยังเป็นหนึ่งในเธรดขัดจังหวะฮาร์ดแวร์ HWI โดยจะให้การอ้างอิงเวลาสำหรับการทำงานของทั้งระบบ จัดเตรียมวิธีการสำหรับผู้ใช้ในการเรียกใช้ฟังก์ชันเป็นระยะ และจัดเตรียมการอ้างอิงเวลาสำหรับเครื่องมือประเมินโค้ดบางตัว โมดูล CLK อาศัยการขัดจังหวะตัวจับเวลาของ DSP อย่างสมบูรณ์ TMS320C2812 มีตัวจับเวลา 2 ตัวสำหรับ DSP/BIOS

ขั้นที่สอง จัดเรียงเธรดขัดจังหวะซอฟต์แวร์ (SWI) การขัดจังหวะซอฟต์แวร์ทั้งหมดเริ่มต้นผ่านการเรียก API ของเคอร์เนล DSP/BIOS เพื่ออำนวยความสะดวกในการควบคุม ระบบจะตั้งค่ากล่องจดหมาย 16 บิต (กล่องจดหมาย) สำหรับแต่ละวัตถุ SWI ซึ่งสามารถใช้เพื่อเริ่มกล่องจดหมายที่เกี่ยวข้องตามเงื่อนไข การหยุดชะงักของซอฟต์แวร์ โมดูลฟังก์ชันย่อยที่มีความสำคัญมากกว่างานทั่วไปและเกิดขึ้นบ่อยครั้งสามารถจัดเรียงได้ในเธรดการขัดจังหวะซอฟต์แวร์ (SWI) โมดูลฟังก์ชันย่อยประกอบด้วย: โมดูลการประมวลผลข้อมูลคุณภาพไฟฟ้าล่วงหน้า โมดูลการสื่อสาร (ส่ง)

โมดูลการประมวลผลข้อมูลคุณภาพกำลังไฟฟ้าล่วงหน้าส่วนใหญ่จะเสร็จสิ้นการประมวลผลผลลัพธ์การแปลง A/D ในภายหลัง จำเป็นต้องประมวลผลผลลัพธ์การแปลง A/D ล่วงหน้า เนื่องจากชิป A/D เลือกความถี่คงที่สำหรับการรับข้อมูล แต่ความถี่สำหรับโครงข่ายไฟฟ้ามีความผันผวน การดำเนินการ FFT โดยตรงกับข้อมูลที่ได้มาจะทำให้เกิดการรั่วไหลของสเปกตรัม ดังนั้นข้อมูลที่ได้มาจะต้องได้รับการประมวลผลล่วงหน้า ตัวอย่างเช่น การดำเนินการ FFT 1024 จุดจะดำเนินการกับข้อมูลทั้งหมด 1024 จุด โดยมี 256 จุดสำหรับแต่ละรอบ 4 รอบ สมมติว่าความถี่เฉลี่ยของ 4 รอบคือ f ความละเอียดของความถี่คือ f/4 และผลการดำเนินการ FFT คือ f/4, 2f/4, 3f/4, f, 5f/4… ความเข้มของความถี่ ดังนั้น เมื่อความถี่ของโครงข่ายไฟฟ้ามีการเปลี่ยนแปลง ความถี่ข้อมูลโครงข่ายไฟฟ้า f สำหรับการคำนวณ FFT ก็เปลี่ยนแปลงตามไปด้วย เพื่อให้ความถี่ข้อมูลโครงข่ายไฟฟ้า f ก่อนการคำนวณ FFT จะสอดคล้องกับความถี่ของโครงข่ายไฟฟ้าในปัจจุบันเสมอ

การดำเนินการเฉพาะของโมดูลการประมวลผลข้อมูลคุณภาพกำลังไฟฟ้าล่วงหน้าคือการประมาณค่าข้อมูลหลังการแปลง A/D และอัลกอริธึมการแก้ไขจะใช้การประมาณค่าเชิงเส้น หลังจากการตรวจสอบ ภายใต้แรงดันไฟฟ้าที่กำหนด ข้อผิดพลาดของการดำเนินการ FFT ที่เกิดจากอัลกอริธึมการแก้ไขเชิงเส้นจะอยู่ภายใน 0 ภายใน 1‰ นอกจากนี้ ฟังก์ชันอื่นของโมดูลคือการคำนวณค่าประสิทธิผลของแรงดันไฟฟ้าภายในหนึ่งรอบ นี่เป็นข้อมูลที่จำเป็นสำหรับการคำนวณความผันผวนของแรงดันไฟฟ้าและการสั่นไหวในระยะยาวและระยะสั้น โมดูลการสื่อสาร (ส่ง) มีหน้าที่ส่งข้อมูลไปยังคอมพิวเตอร์ส่วนบน แม้ว่าความต้องการแบบเรียลไทม์จะไม่สูงนัก แต่ก็มีความเกี่ยวข้องอย่างใกล้ชิดกับชั้นล่างสุดของฮาร์ดแวร์ ดังนั้นจึงถูกตั้งค่าเป็นเธรดขัดจังหวะซอฟต์แวร์

เมื่อเกิดการขัดจังหวะพอร์ตอนุกรม ให้เรียกใช้ฟังก์ชัน scia_rx_isr() เพื่อประมวลผลคำสั่งข้อมูลที่ได้รับ และส่งข้อมูลคุณภาพไฟฟ้าที่สอดคล้องกันตามคำสั่งที่เกี่ยวข้อง DSP/BIOS จัดให้มีลำดับความสำคัญตั้งแต่ 0 ถึง 14 สำหรับวัตถุขัดจังหวะซอฟต์แวร์ ตามความสำคัญของเธรดข้างต้น ลำดับความสำคัญของเธรดการประมวลผลข้อมูลคอลเลกชันถูกตั้งค่าเป็น 14 เธรดการสื่อสารของโฮสต์ถูกตั้งค่าเป็น 8 และลำดับความสำคัญอื่น ๆ จะถูกสงวนไว้สำหรับการอัปเกรดซอฟต์แวร์ในอนาคต

ควรสังเกตว่าเธรดขัดจังหวะ (รวมถึงการขัดจังหวะฮาร์ดแวร์และการขัดจังหวะซอฟต์แวร์) ทั้งหมดทำงานบนสแต็กเดียวกัน เมื่อเกิดการขัดจังหวะที่มีลำดับความสำคัญสูงและทำให้ระบบสลับงาน เธรดขัดจังหวะที่มีลำดับความสำคัญสูงจะขัดจังหวะเธรดขัดจังหวะที่มีลำดับความสำคัญต่ำ ก่อนที่จะรันเธรดขัดจังหวะที่มีลำดับความสำคัญสูง เนื้อหารีจิสเตอร์ที่เกี่ยวข้องของเธรดขัดจังหวะที่มีลำดับความสำคัญต่ำจะถูกบันทึก และการขัดจังหวะที่มีลำดับความสำคัญสูง หลังจากที่เธรดทำงาน การลงทะเบียนจะถูกเรียกคืนไปยังเนื้อหาดั้งเดิมและดำเนินการต่อไปให้เสร็จสิ้นต้นฉบับ เธรดที่มีลำดับความสำคัญต่ำ

ดังนั้น หากมีการตั้งค่าการขัดจังหวะด้วยฮาร์ดแวร์หรือเธรดการขัดจังหวะซอฟต์แวร์มากเกินไป สแตกจะล้น ด้วยเหตุนี้ โมดูลงานส่วนใหญ่จึงต้องอยู่ในเธรดงาน ถัดไป กำหนดเวลาเธรดงาน (TSK) เช่นเดียวกับระบบเรียลไทม์ส่วนใหญ่ เธรดงานเป็นส่วนประกอบหลักของทั้งระบบ ฟังก์ชันในเธรดงานสามารถทำงานได้อย่างอิสระหรือขนานกัน โมดูลการจัดการงาน DSP/BIOS จัดเรียงการทำงานตามลำดับความสำคัญของเธรดงาน และดำเนินการแปลงจากงานหนึ่งไปเป็นงานอื่นผ่านฟังก์ชันการสลับ

แต่ละงานมีสถานะการดำเนินการ 4 สถานะ: รัน พร้อม บล็อค และสิ้นสุด ภารกิจเดือนมกราคมได้ถูกสร้างขึ้น และจะอยู่ในหนึ่งในสี่รัฐเสมอ DSP/BIOS จัดเตรียมลำดับความสำคัญ -l ถึง 15 สำหรับแต่ละอ็อบเจ็กต์งาน งานจะได้รับการดำเนินการตามลำดับความสำคัญที่เข้มงวด งานที่มีลำดับความสำคัญเท่ากันจะถูกจัดเรียงตามลำดับการดำเนินการตามหลักการ "มาก่อนได้ก่อน" ควรสังเกตว่าเมื่อมีการสร้างเธรดงาน จะต้องสร้างสแต็กเฉพาะที่เป็นของงานในเวลาเดียวกัน สแต็กถูกใช้เพื่อจัดเก็บตัวแปรในเครื่องหรือการเรียกใช้ฟังก์ชันเพิ่มเติม

เราตั้งค่าโมดูลการคำนวณการวิเคราะห์คุณภาพไฟฟ้า โมดูลจัดเก็บข้อมูล และโมดูลการโต้ตอบระหว่างมนุษย์กับคอมพิวเตอร์ในเธรดงาน (TSK) โมดูลการคำนวณการวิเคราะห์คุณภาพไฟฟ้าสามารถแบ่งออกเป็นสามส่วน: เธรดงานการคำนวณฮาร์มอนิก เธรดงานคำนวณความผันผวนของแรงดันไฟฟ้า และเธรดงานคำนวณการสั่นไหว

หัวข้องานการคำนวณฮาร์มอนิกมีหน้าที่หลักในการดำเนินการ FFT กับข้อมูลคุณภาพไฟฟ้าที่ประมวลผลล่วงหน้า การดำเนินการ FFT ส่วนใหญ่ประกอบด้วยห้าส่วน: การดำเนินการแปลงบิต การดำเนินการหน้าต่าง การดำเนินการผีเสื้อตาม 2 การดำเนินการแยกฐาน และการดำเนินการผลรวมกำลังสอง เธรดงานการคำนวณความผันผวนของแรงดันไฟฟ้ามีหน้าที่บันทึกความผันผวนของแรงดันไฟฟ้ากริดภายใน 3 นาที โมดูลการประมวลผลข้อมูลคุณภาพกำลังไฟฟ้าก่อนหน้านี้ได้รับค่าประสิทธิผลของแรงดันไฟฟ้าสำหรับแต่ละรอบ

ด้วยวิธีนี้ จำเป็นต้องบันทึกค่าสูงสุดและต่ำสุดของค่าประสิทธิผลของแรงดันไฟฟ้าภายใน 3 นาทีเท่านั้น และความแตกต่างระหว่างค่าทั้งสองคือความผันผวนของแรงดันไฟฟ้า เธรดงานการคำนวณการสั่นไหวประกอบด้วยการคำนวณการสั่นไหวในเวลาสั้นและการสั่นไหวในระยะยาว ปัจจุบันวิธีการออกแบบมิเตอร์วัดการสั่นไหวของ IEC ถูกนำมาใช้โดยทั่วไปแล้ว

สัญญาณการตรวจสอบตัวเองแบบปรับตัวแบบอินพุตจะส่งผ่านตัวถอดรหัสกำลังสอง, การกรองแบบถ่วงน้ำหนักแบบแบนด์พาส, การกรองแบบโลว์พาสลำดับที่หนึ่งแบบกำลังสอง และการประเมินทางสถิติออนไลน์เพื่อให้ได้ค่าการสั่นไหวในที่สุด แต่วิธีนี้ก็เพียงพอแล้ว ซับซ้อนและใช้เวลานาน การลดความซับซ้อนของอัลกอริทึมทำให้ได้วิธีการคำนวณที่ง่ายและเป็นไปได้: การคำนวณ FFT จะดำเนินการกับค่าแรงดันไฟฟ้าที่มีประสิทธิภาพ 256 รอบติดต่อกัน และหลังจากชุดการคำนวณ เช่น การถ่วงน้ำหนัก สามารถรับค่าการสั่นไหวที่ 12.8 วินาที และ ค่าการสั่นไหวคือภายใน 10 นาที

ค่าอาจเกิดการสั่นไหวในระยะสั้นหลังจากการคำนวณสหสัมพันธ์ และการกะพริบในระยะสั้น 12 ครั้งติดต่อกัน (ภายใน 2 ชั่วโมง) อาจเกิดการสั่นไหวในระยะยาวหลังการคำนวณ หลังการตรวจสอบ อัลกอริธึมนี้มีข้อผิดพลาดภายใน 1‰ เมื่อเปรียบเทียบกับอัลกอริธึมมิเตอร์วัดการสั่นไหวของ IEC

โมดูลจัดเก็บข้อมูลยังถูกวางไว้ในเธรดงาน และกระบวนการของมันคือการจัดเก็บผลการวิเคราะห์คุณภาพไฟฟ้า ความผันผวนของแรงดันไฟฟ้า และค่าการสั่นไหวใน FIash โมดูลการโต้ตอบระหว่างมนุษย์กับคอมพิวเตอร์ประกอบด้วยสองส่วน: งานตรวจจับแป้นพิมพ์และงานแสดงผลคริสตัลเหลว เธรดงานการตรวจหาแป้นพิมพ์สามารถดำเนินการให้เสร็จสิ้นโดยฟังก์ชัน PRD เป็นระยะ PRD สามารถกำหนดเวลาการทำงานของฟังก์ชันตามนาฬิกาแบบเรียลไทม์ ที่นี่ ตั้งค่างานการตรวจจับแป้นพิมพ์ให้ทำงานหนึ่งครั้งใน 100 มิลลิวินาทีเพื่อตรวจจับการกดแป้นพิมพ์ ตามเงื่อนไขสำคัญ ผลึกเหลว แสดงผล งานแสดงข้อมูลคุณภาพไฟฟ้าล่าสุดในปัจจุบัน

ในที่สุดก็มีเธรดพื้นหลัง (IDL) เธรดพื้นหลัง (IDL) มีลำดับความสำคัญต่ำสุด โดยทั่วไป โมดูลการวิเคราะห์ตามเวลาจริง (TRA) จะถูกวางไว้ในการเรียกใช้ ซึ่งสามารถดำเนินการโต้ตอบแบบเรียลไทม์และวินิจฉัยแอปพลิเคชัน DSP ระหว่างการดำเนินการของแอปพลิเคชัน CCS มีเครื่องมือวิเคราะห์แบบเรียลไทม์ เช่น แผนภาพการโหลด CPU แผนภาพการดำเนินการ การควบคุมช่องสัญญาณโฮสต์ การบันทึกข้อมูล การสังเกตทางสถิติ แผงควบคุมแบบเรียลไทม์ และการสังเกตเคอร์เนล/วัตถุ ชุดของโมดูลการทำงานนี้สามารถวางไว้ในเธรด IDL ผ่านเครื่องมือเหล่านี้ การทำงานของระบบ DSP ทั้งหมดจะชัดเจนในทันที

2.2 การสื่อสารและการซิงโครไนซ์ระหว่างเธรด

ในระบบมัลติเธรดนี้ การเข้าถึงทรัพยากรที่ใช้ร่วมกันต้องใช้การประสานงานร่วมกันระหว่างเธรดเพื่อแก้ไข

มีวิธีการสื่อสารสามวิธีในสภาพแวดล้อม DSP/BIOS ได้แก่ การสื่อสารแบบใช้ท่อ (PIPE) การสื่อสารตามช่องสัญญาณแบบสตรีม (SIO) และการสื่อสารผ่านช่องสัญญาณโฮสต์ (HST)

ตารางที่ 1 แสดงวิธีที่ 4 เธรดแบ่งปันข้อมูลและบรรลุการซิงโครไนซ์

3 การวิเคราะห์และแก้จุดบกพร่องของระบบแบบเรียลไทม์

โอเวอร์เฮดของเคอร์เนล DSP/BIOS เองจะมีผลกระทบต่อประสิทธิภาพการทำงานของโปรแกรมระบบแบบเรียลไทม์ ด้วยเหตุนี้ เคอร์เนล DSP/BIOS จึงต้องได้รับการปรับให้เหมาะสม คุณสามารถใช้เครื่องมือวิเคราะห์ DSP/BIOS ที่มีให้ใน CCS เพื่อกำหนดโอเวอร์เฮด DSP/BIOS และความสามารถในการคำนวณของระบบแอปพลิเคชันทั้งหมด ตัวอย่างเช่น ไดอะแกรมการโหลด CPU ในเครื่องมือวิเคราะห์แบบเรียลไทม์ที่ DSP/BIOS จัดเตรียมให้เป็นหนึ่งในเครื่องมือที่ใช้กันทั่วไป

ในขั้นตอนการรวมระบบขั้นสุดท้าย เนื่องจากการโต้ตอบแบบเรียลไทม์และสาเหตุอื่นๆ มักจะมีข้อผิดพลาดหรือการตอบสนองที่ไม่เหมาะสม โดยทั่วไป เนื่องจากปรากฏการณ์เหล่านี้ไม่เป็นระยะและมีความถี่ในการเกิดขึ้นต่ำ จึงยากต่อการค้นหาและติดตาม อย่างไรก็ตาม เนื่องจากโมดูล RTA ใน DSP/BIOS ถูกฝังอยู่ในแกนกลาง รวมกับเวกเตอร์การตรวจจับแบบกำหนดเองที่จัดเตรียมโดยนักพัฒนา จึงให้การมองเห็นที่ไม่ซ้ำกันถึงสาเหตุของข้อผิดพลาด ฟังก์ชันการแสดงภาพช่วยแยกแยะและแก้ไขข้อผิดพลาดได้อย่างมาก ซึ่งไม่มีในระบบการพัฒนาแบบฝังตัวทั่วไป

ประสิทธิภาพการทำงานของโปรแกรมแอปพลิเคชันในทั้งระบบสามารถปรับปรุงได้จากสี่ด้านต่อไปนี้: เลือกประเภทเธรดสำหรับฟังก์ชันโปรแกรมที่แตกต่างกันอย่างระมัดระวัง วางสแต็กระบบในหน่วยความจำบนชิป ลดความถี่ขัดจังหวะนาฬิกา เพิ่มขนาดของบัฟเฟอร์อินพุตและเอาต์พุตของสตรีม

4 สรุป

เนื่องจากชุดเครื่องมือที่ CCS จัดเตรียมไว้ให้ DSP/BIOS เองใช้ทรัพยากร CPU เพียงเล็กน้อยเท่านั้น แต่ให้ประสิทธิภาพค่อนข้างสูงและเร่งความคืบหน้าในการพัฒนา การใช้ DSP/BIOS เป็นระบบปฏิบัติการแบบเรียลไทม์ของเทอร์มินัลตรวจสอบคุณภาพไฟฟ้า ทำให้ง่ายต่อการควบคุมทรัพยากรฮาร์ดแวร์เมื่อเขียนโปรแกรม DSP และประสานงานโมดูลซอฟต์แวร์ต่างๆ ได้อย่างยืดหยุ่น ซึ่งช่วยเร่งความก้าวหน้าของการพัฒนาซอฟต์แวร์และการดีบักได้อย่างมาก การทดลองขั้นสุดท้ายพิสูจน์ให้เห็นว่าทั้งระบบมีประสิทธิภาพการทำงานแบบเรียลไทม์ที่ดีและมีการทำงานที่เสถียรและเชื่อถือได้