เหตุใด ADC จึงใช้ 10 บิตมากกว่า 8 หรือ 16


28

ทำไม ADC ส่วนใหญ่เช่นเดียวกับในArduinoให้ความละเอียด 10 บิตมากกว่า 8 หรือ 16 บิต

ดูเหมือนว่าเป็นเรื่องแปลกที่พวกเขาไม่ตรงกับขนาดข้อมูลมาตรฐาน


2
ความกังวลไม่ได้อยู่ในความกว้างของข้อมูล มีแนวโน้มมากขึ้นเกี่ยวกับความละเอียดที่จำเป็นและค่าใช้จ่าย
richieqianle

ทำไมพวกเขาถึงจับคู่ "ขนาดข้อมูลมาตรฐาน"
user253751

คำตอบ:


40

ไม่มีปัญหาทางเทคนิคที่สำคัญในการขยาย SAR (การประมาณต่อเนื่อง) ADC เพื่อแปลง 16 บิต แต่ปัญหาคือคุณเริ่มเห็นพื้นเสียงของส่วนหน้าแบบอะนาล็อก สิ่งนี้มีแนวโน้มที่จะทำให้ลูกค้าตื่นตระหนกเพราะพวกเขาเห็นรหัส ADC กระโดดไปมาและไม่เคยรู้เลยว่าพวกเขากำลังมองหาไมโครโวลต์ที่เบี่ยงเบนเป็นสิบ ๆ

สมมติว่าแรงดันอ้างอิง 5.00 V และ ADC 10 บิต LSB จะแทนแรงดันไฟฟ้าที่ 4.88 mV (5 V × 2 -10 ) สำหรับ ADC แบบ 16 บิตที่มีการอ้างอิง 5.00 V แรงดันไฟฟ้า LSB จะเป็น 76 µV

แต่แหล่งจ่ายไฟในระบบดิจิตอลไม่ตรงกับ 5.00 V โดยปกติแล้วจะระบุไว้ในช่วง 4.75 V ถึง 5.25 V เมื่อใดก็ตามที่มีเหตุการณ์ transient switch ภายในไมโครคอนโทรลเลอร์มีกระแสพัลส์เล็กน้อยที่ทำให้เกิดกระแสไฟฟ้า แรงดันไฟฟ้าไปยัง Twitch หาก LSB อยู่ที่ประมาณ 5 mV คุณอาจแทบจะไม่สามารถมองเห็นได้ แต่ที่ระดับ 76 µV มันไม่ยากเลยที่จะเห็นเสียงรบกวนนี้

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

ถ้าคุณต้องการให้ ADC ขนาด 16 บิตให้การอ่านที่เสถียรดีคุณต้องใช้แรงดันอ้างอิงและการควบคุมความร้อนที่สะอาดมากและให้อยู่ห่างจากสัญญาณดิจิตอลที่สลับสับเปลี่ยนอย่างรวดเร็ว ... ดังนั้นการรวม SAR 16 บิตเข้ากับ ชิปตัวเดียวกับไมโครคอนโทรลเลอร์จริง ๆ แล้วจะเอาชนะวัตถุประสงค์ของการมีบิตพิเศษเหล่านั้น คุณแค่วัดเสียงรบกวนแบบสุ่มบนบิตพิเศษเหล่านั้น

มีแอปพลิเคชันของลูกค้าที่ใช้ความละเอียดสูงกว่า ADC บริษัท ที่ฉันทำงานอยู่มีจำนวนไม่มาก อุปกรณ์ทดสอบอัตโนมัติ (ATE), อัลตร้าซาวด์ทางการแพทย์และลูกค้าประเภทพิเศษอื่น ๆ ใช้ ADC ความละเอียดสูงในบางกรณี 18 หรือ 24 บิต

การทดสอบการผลิต ADC ความละเอียดสูงใช้เวลานาน (และมีราคาแพง) ลูกค้าที่ต้องการประสิทธิภาพเช่นนี้จ่ายเบี้ยประกันภัยสำหรับ ADC แบบสแตนด์อโลนภายนอกไม่ใช่ประเภท SAR ราคาถูกที่สร้างขึ้นในไมโครคอนโทรลเลอร์ที่ทันสมัยจำนวนมาก

จากนั้นมีแอปพลิเคชั่นความเร็วสูงเช่นเรดาร์หรือออสซิลโลสโคปแบบดิจิตอลซึ่งต้องการตัวอย่างที่ 100 MHz หรืออัตราที่เร็วกว่า - ที่ความเร็วเหล่านี้คุณโชคดีที่ได้รับ 8 บิตที่มีความหมาย


1
ประสบการณ์ครั้งแรกของฉันกับ ADCs เป็นสิ่งที่ตรงกันข้าม ฉันประหลาดใจมากที่เห็นบิตต่ำสุดที่ไม่ผันผวนเล็กน้อย
John Dvorak

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

1
ด้วยเทคโนโลยีที่ทันสมัยคุณสามารถซื้อ 8 บิตที่มีความหมายได้หลายอัตรา gsps :)
oakad

12

แลกเปลี่ยนระหว่างความละเอียดและค่าใช้จ่าย

8 บิตให้ 2 8 = 256 ชุดซึ่ง 0 เป็นหนึ่งโดยทิ้ง 0 ถึง 255 เป็นค่าดิจิตอลที่เป็นไปได้ สิ่งนี้ไม่เพียงพอสำหรับแอปพลิเคชันจำนวนมาก ทุกบิตพิเศษเพิ่มความละเอียดเป็นสองเท่าและ 10 บิตให้ 1024 ขั้นตอนซึ่งดีพอสำหรับโครงการส่วนใหญ่ ระบบอุตสาหกรรมอาจใช้ 12 บิตเพื่อให้ได้ความละเอียดที่ดียิ่งขึ้น

ADC ความละเอียดสูงต้องการความคลาดเคลื่อนที่เข้มงวดมากขึ้นและมีราคาแพงกว่าการผลิต


ฉันไม่มี ADC จำนวน 14 ล้านบิตในกล้องของฉันหรือไม่
Hagen von Eitzen

7
@HagenvonEitzen: ไม่กล้องไม่มี ADC หนึ่งตัวต่อพิกเซล แต่อ่านพิกเซลทีละพิกเซล (แม้ว่าอาจจะมีมากกว่าหนึ่ง ADC สำหรับเซ็นเซอร์ทั้งหมดเพื่อเพิ่มความเร็ว)
sweber

1
โดยทั่วไปแล้วกล้องอ่านตามบรรทัดดังนั้นคุณจะมี ADC สองสามพัน ในสถานการณ์ที่มีการขยายเสียงสูง (ISO สูงในสภาพแวดล้อมที่มืด) คุณสามารถเห็นความแตกต่างของแต่ละคู่ในแอมป์ / ADC ในรูปแบบของเส้นที่วิ่งข้ามภาพ
ทำเครื่องหมาย

@ Mark และเป็นผลของการสแกนบรรทัดที่อีกภาพของวัตถุในการเคลื่อนไหวความเร็วสูงสามารถให้ผลชัตเตอร์กลิ้ง
JAB

4

มีการทำคะแนนดีและถูกต้องจำนวนมากแล้ว ฉันใช้ ADC 8, 10, 12 และ 16 บิตอย่างกว้างขวางในช่วงหลายปีที่ผ่านมาและในปัจจุบันค่อนข้างง่ายที่จะได้รับ 16 บิตด้วยเวลาแปลง 4 หรือ 5 ไมโครวินาที (ดีกว่ามีให้ใช้ฉันจะยึดติดกับสิ่งที่อาจปฏิบัติได้ สำหรับคนส่วนใหญ่ที่จะใช้) ในชิปแบบสแตนด์อโลน แต่สิ่งนี้มีเครือข่ายบันไดที่มีความแม่นยำซึ่งมักจะใช้ตัวต้านทานแบบฟิล์มบางและเทคนิคการออกแบบอะนาล็อกที่มีความเชี่ยวชาญสูง (นอกจากนี้ยังมีความต้องการทรานซิสเตอร์แบบไบโพลาร์ประสิทธิภาพสูงบางส่วนในวงจรของ ADC ที่มีความแม่นยำ แต่ไมโครคอนโทรลเลอร์ที่ทันสมัยทั้งหมดคือ CMOS ดังนั้นจึงมีขั้นตอนการประดิษฐ์เพิ่มเติมมากมายที่จะทำให้ทุกสิ่งมีความแม่นยำแบบอะนาล็อกที่ดี ) ADC ที่ดีมีราคาสูงกว่าไมโครคอนโทรลเลอร์ส่วนใหญ่! ไม่ใช่เรื่องง่ายที่จะทำ

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

http://www.ti.com/lit/ds/symlink/ads8509.pdf

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

ปัญหาหลักอย่างน้อยหนึ่งคนได้อธิบายไว้ว่าเสียงบนรางจ่ายไฟแบบดิจิทัลจะส่งผลกระทบโดยตรงต่อ ADC ตอนนี้คุณสามารถแก้ไขได้โดยใช้การอ้างอิงแรงดันไฟฟ้าภายนอกที่ดีซึ่งมีการให้พินไว้ แต่คุณต้องทำแบบเดียวกันกับพื้นด้วย และหมุดเหล่านั้นจะต้องถูก จำกัด อยู่ภายในไม่กี่ร้อย mV ของแหล่งจ่ายไฟดิจิตอลและกราวด์หรือสิ่งที่เกิดขึ้น นอกจากนี้ยังมีข้อต่อเสียงภายในภายในซิลิคอนจากตรรกะการเปลี่ยนสถานะในมารยาทที่ซับซ้อนที่ความถี่สัญญาณนาฬิกาและที่แย่กว่านั้นจากหมุด I / O ซึ่งบางส่วนอาจขับและเปลี่ยน 10 มิลลิแอมป์ของ mA หากคุณ โหลดไปยังขีด จำกัด แล้ว เสียงรบกวนเสียงรบกวนและเสียงรบกวนมากขึ้น ...

ส่วนที่ฉันเสนอ (และ Google ราคาถูกกว่าเร็วกว่าหรือต่างกันแลกกับความยืดหยุ่นต่อราคา) มีส่วนต่อประสาน SPI ดังนั้นจึงง่ายต่อการใช้งานภายนอกกับไมโครคอนโทรลเลอร์ด้วยระนาบกราวน์กรองและอื่น ๆ ด้วยความระมัดระวังจะให้ 16 บิต

มันเคยยากที่จะได้รับมากกว่า 10 บิตปราศจากเสียงรบกวนจาก 12 บิต ADC และยังคงอยู่ในสภาพแวดล้อมที่สกปรกเช่นใกล้กับตรรกะดิจิตอลซึ่งส่วนใหญ่เป็นเหตุผลที่ ADC บนกระดานภายในชิปประมวลผล มากหรือน้อยค้างอยู่ที่ความละเอียดนั้นและอาจจะเป็นตลอดไป แต่ TI มีชิปภายนอก 32 บิต ยังไม่ได้ดูแผ่นข้อมูลหรือค่าใช้จ่าย ...

หากคุณสามารถเสียสละความถูกต้องอย่างสมบูรณ์ (เช่นขนาดตัวประกอบอาจลดลง 5% หรือมากกว่านั้นไม่ต้องพูดถึง DC offset และความเบี่ยงเบนของเวลาและอุณหภูมิ แต่ความเป็นเส้นตรงจะยอดเยี่ยม) ADC ระดับเสียงอาจเหมาะสำหรับคุณ พวกมันมีอย่างน้อย 16 บิตและออกแบบมาเพื่อตลาดมวลชนบ่อยครั้งคุ้มค่า แต่อย่าคาดหวังว่าจะใช้หนึ่งในเครื่องมือที่มีความแม่นยำซึ่งต้องวัดสัญญาณ DC ให้ +/- 0.1%

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

เมื่อเลือก ADC Google คือเพื่อนของคุณเสมอ มีบทความและบันทึกการใช้งานมากมายจาก TI, Linear, National และผู้ผลิตเซมิคอนดักเตอร์อื่น ๆ อีกมากมาย ระวังสิ่งที่แผ่นข้อมูลไม่ได้บอกคุณเสมอและตรวจสอบเพื่อดูว่าคู่แข่งของพวกเขาให้ความสำคัญกับพารามิเตอร์ใด

แต่ถ้าคุณต้องการทั้งหมดบนชิปไมโครคอนโทรลเลอร์ของคุณอย่าวางแผนที่จะใช้มากกว่า 10 บิต (อาจใช้งานได้ 9, LSB ที่มีเสียงดัง) ในโครงการของคุณ และวางแผนสำหรับการอ้างอิงแบบอะนาล็อกแยกต่างหากและกราวด์หากชิปของคุณอนุญาต ด้วยวิธีนี้คุณจะไม่เสียเวลา


3

ADC 8 บิตนั้นน่ากลัวที่จะใช้เพราะมีขั้นตอน 0.49% - ฉันเคยเห็นมาแล้ว Arduino ได้รับการออกแบบมาสำหรับงานอดิเรกอิเล็กทรอนิกส์ใช้ขั้นตอนเป็นจำนวนมากถึง 4 เท่าใกล้ถึง 0.1% ซึ่งใกล้เคียงกับสัญญาณเสียงรบกวน (บวกเสียงหึ่ง) ที่คาดว่าจะเกิดขึ้นจากวงจรเซ็นเซอร์ op-amp หรือ transistor ทั่วไป ดีกว่านั้นเสียกับอุปกรณ์อิเล็กทรอนิกส์ที่ทำเองในบ้านระดับไฮโบสต์

ในขณะที่ ADC ขนาด 16 บิตใช้งานได้ในเชิงพาณิชย์พวกเขาใช้เวลาในการปรับตัวนานขึ้นในระหว่างที่เสียงฮัมหรือเสียงดังขยับดังนั้นคุณจึงไม่ได้การวัดที่ดีขึ้นและช้าลง


2
Arduinos ถูกออกแบบมาสำหรับอุปกรณ์อิเล็กทรอนิกส์งานอดิเรกไม่มีอะไรเกี่ยวข้องกับจำนวนของ adc บิตที่มีอยู่ใน adc ของ adc ของ atmel uC มันอาจเป็นความลึกที่เหมาะสมสำหรับการใช้งานอดิเรก แต่มันถูกออกแบบมาให้มีขนาดที่ดีสำหรับแอปพลิเคชั่นที่ไม่เป็นมืออาชีพจำนวนมาก
Loganf

2

เมื่อ ADC ทำการแปลงจะให้ค่าดิจิตอล (quantized) สำหรับสัญญาณอะนาล็อกต่อเนื่อง เนื่องจากค่าดิจิตอลจะไม่ตรงกับค่าแอนะล็อกในขณะที่การแปลงความแตกต่างสามารถพิจารณาเป็นเสียงรบกวนเพิ่มเติมได้ ยิ่งความละเอียดของ ADC สูงขึ้นเท่าใดค่าดิจิตอลก็จะยิ่งใกล้เคียงมากขึ้นเท่านั้น กล่าวอีกนัยหนึ่งเราปรับปรุงสัญญาณต่ออัตราส่วนสัญญาณรบกวน quanitization (SQNR) โดยการเพิ่มบิตของ ADC ดังนั้น ADC แบบ 10 บิตจะดีกว่าแบบ 8 บิต (ประมาณ 12dB)

การใช้ A-D แบบ 16 บิตจะดีกว่าในแง่ของ SQNR อย่างไรก็ตามมันมีราคาแพงกว่า และในหลาย ๆ แอพพลิเคชั่น ADC 10 บิตให้ SQNR ที่จำเป็นเพียงพอ


1

ตามกฎทั่วไปคุณต้องการให้จำนวนบิตใน coveter ของคุณเป็นไปตามที่ขั้นตอนการควอนตัมของคุณเป็นบิตหรือดังนั้นใต้ชั้นเสียง (อนาล็อก) ของระบบ

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

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

ความแตกต่างระหว่าง 8 บิตและ 16 บิตคือมาก อดีตจบลงด้วยขั้นตอนเชิงปริมาณที่มีขนาดใหญ่เกินไปแม้ในระบบที่มีประสิทธิภาพของสัญญาณรบกวนต่ำ ระบบหลังเสียระบบที่ไม่ได้ออกแบบอะนาล็อกอย่างระมัดระวัง ดังนั้นไมโครคอนโทรลเลอร์ที่น่าแปลกใจก็ปรากฏตัวขึ้นที่ใดที่หนึ่งระหว่างนั้น

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


0

การใช้ ADC ที่ใช้กันมากที่สุดคือเนื้อหาในพื้นที่ประมวลผลเสียง (VoIP, CD เพลง ฯลฯ ) ดนตรีไม่ได้สนใจที่นี่เนื่องจากต้องใช้ 16 บิต แต่ VoIP เป็นสิ่งที่ขับเคลื่อนตลาด ADC ที่ต่ำกว่า VoIP มักจะใช้การคอมไพล์ซึ่งสร้างโค้ด PCM ที่บีบอัด 8 บิตจากสัญญาณอินพุต 12 บิต อินพุตไปยังขั้นตอนการบีบอัดจะต้องมีบิตมากกว่า - โดยปกติคือ 12 หรือบางครั้ง 10 อาจเพียงพอ (คุณสามารถปลอมสองบิตที่ต่ำที่สุด)

เป็นผลให้ความต้องการ ADC แบบ 8 บิตต่ำมาก แต่ ADC แบบบิตที่สูงกว่านั้นเป็นที่ต้องการสูงและมีราคาถูก Arduino อาจใช้ส่วนประกอบที่มีราคาถูกและแพร่หลาย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.