เค้าโครง PCB สัญญาณผสมสำหรับ PSoC


16

ฉันกำลังพัฒนา PCB สำหรับแอปพลิเคชันตรวจจับแบบอะนาล็อก มันใช้ ADC ภายในบน PSoC3 ตามปกติแอปพลิเคชั่นมีพื้นที่ จำกัดมาก (11 มม. x 21 มม.) ดังนั้นฉันต้องประนีประนอมกับเลย์เอาต์ PCB ซึ่งฉันจะไม่ทำบน PCB ที่มีขนาดใหญ่กว่า

PSoC PCB

บอร์ดนี้ได้รับการควบคุมโดย 6v และมีตัวควบคุมเชิงเส้น 5v สองตัว MCP1702สำหรับการจัดหาดิจิตอลและMIC5205สำหรับการจัดหาอะนาล็อก บอร์ดกำลังตรวจจับเซ็นเซอร์เอฟเฟกต์ฮอลล์A1324ห้าตัว สัญญาณเอาต์พุตเอฟเฟกต์ Hall แต่ละตัวจะถูกกรองโดยตัวกรอง RC ขนาด 100nF + 1k เซ็นเซอร์หนึ่งอยู่บน PCB (ด้านล่างขวา) ส่วนปลั๊กอีก 4 ตัวเข้ากับช่องเสียบ 6-pin ทางขวามือ

ชิพทำหน้าที่เป็นทาส SPI แต่มีการสุ่มตัวอย่าง ADC ระหว่างธุรกรรม SPI เสมอดังนั้น SPI จึงไม่ควรรบกวนสัญญาณอะนาล็อก

น่าเศร้าที่ฉันยังคงเห็นสัญญาณรบกวน (ประมาณ 1.5 LSB ที่ 12 บิต) บนสัญญาณอะนาล็อกและฉันสงสัยว่ามีอะไรที่ฉันสามารถทำได้แตกต่างกันในการจัดวางเพื่อปรับปรุง

เค้าโครง PSoC

โปรดเปิดภาพในแท็บใหม่เพื่อดูความละเอียดที่สูงขึ้น


ที่เพิ่ม:

การออกแบบ PCB อื่น ๆ ที่ฉันทำโดยใช้MCP3208และอุปกรณ์คู่ 5v เดียวกันเซ็นเซอร์เดียวกันและตัวกรอง RC เดียวกันไม่ประสบความสำเร็จในระดับ 12 บิต

ADC บน PSoC3 เป็นประเภทเดลต้าซิกมา PSoC รุ่นนี้ถูก จำกัด ไว้ที่ 12 บิต แต่หมายเลขชิ้นส่วนอื่นมี ADC 16 บิต (แม้ว่าจะมีอัตราตัวอย่างต่ำกว่า)

ฉันสนใจเรื่องเสียงรบกวนและอยากจะผลักดันมันไปอีก 12 ENOB เหตุผลนั้นไม่ถูกต้อง แต่เป็นการวัดความเร็ว ปัจจุบันระดับเสียงดังกล่าวทำให้ไม่สามารถควบคุมตำแหน่งและความเร็วของหุ่นยนต์ได้อย่างแม่นยำ


ที่เพิ่ม:

แผนผัง ขออภัยมันแคบไปหน่อย แต่คุณสามารถอ่านค่าได้

PSoC Schematic


1
นอกจากนี้ยังหยุดการใช้ NET-LABELS ด้วย! วงจรของคุณไม่มีที่ซับซ้อนเพียงพอที่จะต้องการและโดยไม่แสดงการเชื่อมต่อจริง ๆ คุณทำให้ยากต่อการติดตามการเชื่อมต่อมากขึ้น อีกครั้งวัตถุประสงค์ของวงจรคือการทำให้ฟังก์ชั่นที่ตั้งใจและการทำงานของวงจรที่ประจักษ์สายตา จากนั้นให้คอมพิวเตอร์แปลการแสดงภาพเป็นรูปแบบทางกายภาพจริงของอุปกรณ์ (ซึ่งเป็นสิ่งที่คอมพิวเตอร์ทำได้ดีมาก)
Connor Wolf

1
@Rocketmagnet - แน่นอนพวกเขาจะเป็นประโยชน์สำหรับคนวาดภาพวงจร พวกเขากำลังที่น่ารังเกียจอย่างเต็มที่สำหรับคนอื่น ๆ
Connor Wolf

1
นอกจากนี้ถ้าคุณมีปัญหาเกี่ยวกับสายไฟที่ต้องไปเส้นทางเนื่องจากพื้นที่ จำกัด คุณหมดความจำเป็นที่จะต้องมองเข้าไปในขาสลับฟังก์ชั่นใน Altium โดยทั่วไปคุณสามารถระบุหมุดที่มีหน้าที่ชนิดถอดเปลี่ยนได้ในความหมายองค์ประกอบ (IE หมุด IO ต่างๆ) และจากนั้นเมื่อคุณกำลังเส้นทาง PCB ที่คุณสามารถเรียกใช้ร่องรอยใด ๆ ของขาที่จะทำงานแทนแล้วเพียงอย่างใดอย่างหนึ่งคุณระบุไว้ในแผนผัง จากนั้นคุณสามารถซิงโครไนซ์การเราต์ที่คุณเลือกใน PCB กับแผนผังได้
Connor Wolf

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

1
@Rocketmagnet การมีพื้นที่ pcb ขนาดเล็กมากไม่ได้หมายความว่าคุณไม่สามารถวาดแผนผังของคุณบนกระดาษขนาด D
โฟตอน

คำตอบ:


13

คุณมักจะมีเสียงรบกวนบ้างใน ADC โดยเฉพาะประเภท SA (ประมาณต่อเนื่อง) บนไมโครคอนโทรลเลอร์ Sigma-delta ทำงานได้ดีขึ้นสำหรับเสียงแบบเกาส์เซียนขณะที่รวมเข้าด้วยกัน อย่าคาดหวัง 12 ENOB จาก ADC 12 บิต

เสียงของคอนโทรลเลอร์เป็นสาเหตุที่ทำให้ไมโครคอนโทรลเลอร์ส่วนใหญ่ไม่ให้ความละเอียดสูงกว่า 10 บิตและ AVR เสนอความเป็นไปได้ที่จะหยุดไมโครคอนโทรลเลอร์ในระหว่างการได้มาซึ่ง ADC ซึ่งควรยืนยันว่าอย่างน้อยเสียงบางส่วนมาจากคอนโทรลเลอร์ .

แต่คำถามคือคุณสนใจหรือไม่ เสียงรบกวน 1.5 บิตบน ADC 12 บิตยังคงทิ้งคุณมากกว่า 10 บิตหรือดีกว่า 0.1% เซ็นเซอร์ Hall ของคุณมีความแม่นยำเพียงใด? ส่วนประกอบอื่น ๆ ในวงจร?

แก้ไข
คุณดูเหมือนจะใช้ oscillator ภายใน PSoC ของตั้งแต่ฉันไม่เห็นใด ๆ เกี่ยวกับคริสตัลวงจร ดูเหมือนว่าคุณมี decoupling ที่เหมาะสม นอกเหนือจากนาฬิกาภายในแล้วชิ้นส่วนความเร็วสูงในวงจรเท่านั้นที่ดูเหมือนจะเป็น SPI แต่คุณบอกว่าสิ่งนี้จะเงียบในระหว่างการวัด ส่วนที่เหลือของคณะกรรมการเป็น DC หรืออาจค่อนข้างต่ำเช่นเซ็นเซอร์ผล Hall และมันก็เป็น Damn Small ™ซึ่งช่วยได้ด้วย: ร่องรอยที่สั้นลงจะช่วยลดเสียงรบกวนได้น้อยลง แน่ใจว่าฉันสามารถ nitpick เกี่ยวกับ MCP1702 ซึ่งฉันจะหมุน 90 ° CCW เพื่อให้ตัวเก็บประจุเอาท์พุทสามารถวางได้ใกล้กับหมุด แต่ไม่สามารถแก้ปัญหาได้

ฉันเห็นการเปลี่ยนแปลงเพียงรูปแบบเดียวซึ่งอาจปรับปรุงอัตราส่วน S / N ของคุณ:

ป้อนคำอธิบายรูปภาพที่นี่

ในแผ่นข้อมูลแบบแยกแผ่นข้อมูลแบบอะนาล็อกและดิจิตอลกราวด์แนะนำให้ใช้สำหรับ "ประสิทธิภาพแบบอะนาล็อกที่เหมาะสมที่สุด" (หน้า 10)

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

ถัดไป ADC ในหน้า 55 ของแผ่นข้อมูลมันบอกว่า 66 dB SINAD นั่นคือ 11 บิตใกล้กับสิ่งที่คุณได้รับตอนนี้ แผ่นข้อมูล A1324 ช่วยให้เรามี 7 mVpp เสียงบนแรงดันนิ่ง 2.5 โวลต์ที่ยังห่างไกลน้อยกว่าอัตราส่วน 72 เดซิเบล S / N ที่ 12 บิตสามารถให้คุณ คุณสามารถปรับปรุงสิ่งนี้ได้เล็กน้อยด้วยการกรองพิเศษ

คุณพูดถึงประสิทธิภาพที่ดีขึ้นของ MCP3208 แต่นั่นคือ ADC ที่อยู่ห่างจากไมโครคอนโทรลเลอร์และนั่นอาจอธิบายได้ว่า SA ADC สามารถทำได้ดีกว่า sigma-delta ที่มีความละเอียดเท่ากัน

ดังนั้นตัวเลือกที่ฉันเห็น: ลดแรงดันไฟฟ้าของแหล่งจ่ายไฟดิจิตอลและแยกสัญญาณอนาล็อกและดิจิตอล


นี่เป็นแนวคิดที่น่าสนใจมากเกี่ยวกับการลดแรงดันไฟฟ้าดิจิตอลของ PSoC VDDA สามารถสูงกว่า VDDD ได้อย่างแน่นอน
Rocketmagnet

ดังนั้นคุณคิดว่าฉันควรถอด VSSA ออกจากแผ่นความร้อนหรือไม่? ผมได้โพสต์จริงนี้เป็นทั้งคำถามใหม่
Rocketmagnet

2

ฉันเห็นด้วยกับข้างต้น เสียงรบกวน 1.5LSB ค่อนข้างสมเหตุสมผล http://www.cypress.com/?docID=39346แสดง SINAD ขั้นต่ำที่ 66 เดซิเบลในโหมด 12 บิตแนะนำ ENOB = 10.7

ฉันรู้ว่านี่ไม่ใช่คำตอบสำหรับคำถามของคุณโดยตรง แต่ฉันจะตีความคำถามว่า "ฉันจะแก้ไขปัญหาด้วยการควบคุมความเร็วได้อย่างไร" และไม่ใช่ "ฉันจะรับมากกว่า 10.5 ENOB ได้อย่างไร"

คุณแตกต่างอย่างไร คุณมีนาฬิกาสำรองเพียงพอที่จะทำบางสิ่งบางอย่างกับผมที่นุ่มนวลกว่าจุดแตกต่างกลางสองจุดหรือไม่? บางทีผลงานออกมากว้าง 5 ตัวอย่างบางอย่างปรับให้เหมาะสมใน Matlab?

นอกจากนี้อาจฟังดูตลกเล็กน้อย แต่เสียงความเร็วจะแย่ลงเมื่อคุณสุ่มตัวอย่างเร็วขึ้น

1LSBΔเสื้อ

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

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


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

คุณจะบอกว่าไม่มีการปรับปรุงที่ฉันสามารถทำได้กับรูปแบบ?
Rocketmagnet

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

1
แต่! ข้อดีอีกอย่างของโหมดดิฟเฟอเรนเชียลคือมันช่วยให้ฉันเพิ่มอัตราการสุ่มตัวอย่าง 4x เพื่อให้ฉันสามารถทำการสุ่มตัวอย่างได้ ควรลดเสียงรบกวนลงเล็กน้อย
Rocketmagnet

1
อาจเป็นตัวบายพาส Cap บน Vref (ไม่แน่ใจว่าจะทำเช่นนั้นได้อย่างไรในแผ่นข้อมูล) นอกจากนั้นฉันคิดว่าคุณสนิทกับ ENOB อย่างมากสำหรับ PSOC 3 ADC ที่ 12 บิตดังนั้นคุณทำได้ดีเท่าที่คุณจะทำได้!
Scott Seidman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.