ทดลองควบคุมการทำงานของ IC ADS830 เบื้องต้น

Started by mcupeapp, June 17, 2013, 11:05:18 PM

Previous topic - Next topic

mcupeapp

    ในบทความนี้ผมต้องการทดลองทำเครื่องวิเคราะห์สัญญาณเพื่อ เรียนรู้ ศึกษา ทดลอง โดยช่องของการวัดสัญญาณต้องมากกว่า 5 CH,
Freq Sampling  > 40 MHz(Time Conv = 25nS),วัดสัญญาณทั้งหมดทุกช่องพร้อม ในเวลาเดียวกันจะเห็นได้ว่าลักษณะการวัดแบบนี้จะใช้เทคนิคการ
Multiplex เพื่อ Scan กวาดที่ละช่อง จนถึงการใช้ DMA อาจจะไม่ได้เลยถ้าความเร็วไม่เพียงพอจริงๆ
ผมจึงมีแนวทางที่จะนำ IC ADC เบอร์ ADS830 มาทดลอง
Data Sheet
http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=ads830&fileType=pdf&track=no



ก่อนที่จะใช้งาน ADS830 อย่างแรกควรทดสอบการควบคุมการทำงานของ IC ก่อน โดยการควบคุมการทำงานจะใช้ FPGA ในการควบคุม  สามารถเลือกความถื่ในการสุ่มได้ 10KHz - 60MHz เพื่อ     ความสะดวกรวดเร็วทางด้านเวลาการทดลอง  จะส่งข้อมูล ไปยังคอมพิวเตอร์โดย RS232  ใช้โปรแกรม Labview ในการ Monitor เพื่อการศึกษา เรียนรู้การทำงาน  นอกเหนือจากนี้ถ้าหากต้องการส่งข้อมูลด้วยความเร็วสูงอาจจะใช้ USB , PCI, หรือสร้าง Interface Box ขึ้นเองก็ได้

FPGA Board ที่ใช้ในการทดลอง บอร์ดทดลอง FPGA รุ่น WARRIOR CYCLONE3 - EB01/02
http://www.astronlogic.com/
ลักษณะวงจรที่ต่อทดลอง

จากรูปวงจรที่ต่อใช้งานเมื่อเทียบกับ Data Sheet เนื่องจากใช้ FPGA แรงดัน Logic High ที่ 3.3 V,Pin ที่ 20 ของ ADS830 ต้องรับแรงดัน 3.3V จากบอร์ดFPGA เพื่อให้ Logic Output High ADS830 เป็น 3.3V ไม่เช่นนั้นแล้วอาจจะเสียทรัพยากรอันมีค่าบางอย่างไป :o :o

รูปผลการทดลอง และ การต่อวงจรจริงโดยทดสอบ Fin = 4.7MHz  , Freq Sampling = 60 MHz



จากการทดลองโดยทดสอบ 1CH เป็นที่น่าพอใจ คราวนี้มาทดสอบด้วย ADS830 2CH ดู

รูปภาพแผนฝังการทำงานของ FPGA ในระบบ 2 CH

ผลการทดลองโดย ใช้ MCU STM32F4Discovery generate Signal 2 CH by DAC Sourecode ตัวอย่างใน FwLib ของ ST

VDO YOUTUBE
http://www.youtube.com/watch?v=eyqCavG4zu8&feature=youtu.be

Source Code in attached file








Maxitron

ชอบวิธีประยุกต์ใช้ของท่านมากครับ ไม่ทราบว่า configure baud rate เท่าไหร่ครับ

ผมเองก็พยายามหาวิธีทำ simultaneous sampling ที่รู้ก็เห็นจะมีเพียง dsPIC ที่ทำได้ครับ :-\

ส่วนตัวแล้วยังไม่เคยเล่น FPGA เลยครับ กราฟมุมขวาล่างนั่นใช่ FFT มั้ยครับ :-*

superkai

น่าสนใจดีครับ อ่านจบแล้วร้อง ว้าววว



deejun

อยากทราบผลเปรียบเทียบกับการจับสัญญาณด้วยสโคปครับ  ว่าจะออกมาเหมือนกันหรือเปล่ากับLabview

mcupeapp

Quote from: Maxitron on June 19, 2013, 12:58:32 AM
ชอบวิธีประยุกต์ใช้ของท่านมากครับ ไม่ทราบว่า configure baud rate เท่าไหร่ครับ

ผมเองก็พยายามหาวิธีทำ simultaneous sampling ที่รู้ก็เห็นจะมีเพียง dsPIC ที่ทำได้ครับ :-\

ส่วนตัวแล้วยังไม่เคยเล่น FPGA เลยครับ กราฟมุมขวาล่างนั่นใช่ FFT มั้ยครับ :-*

1.Baud rate ในการส่งข้อมูลครับ ถ้าเปิด Source Code Labview ดู ครับจะได้
  Baud rate : 9600
  databit : 8  bit
  parity :None
  Stop Bits: 1
2.กราฟที่แสดงครับ เป็นกราฟจากผลการ Scan สัญญาณ 128 ครั้ง ที่คาบเวลา Sampling แล้วนำมา Plot เพื่อดูรูปสัญญาณว่าต้องเหมือนกับสัญญาณ Input(ยังไม่ได้ปรับ ปรับ สเกล )
ถ้าดุููเฉพาะรูปร่างของสัญญาณเทียบกับ OSCILLOSCOPE จะเหมือนกัน เฉพาะรูปร่างสัญญาณ ครับ (เนื่องเป็นการทดลอง Interface กับ ADS830 เบื้องต้น)
ถ้าต้องการนำไปประยุกต์  ตอ้งมีเครื่องวัดสัญญาณมาตรฐานผ่านการสอบเทียบแล้ว---->ปรับ สเกล ฟังก์ชัน การ Plot สัญญาณ,FFT,ฯลฯ ใน Labview เทียบกับ เครื่องมือวัดตัวนั้น(ถ้าต้องการให้รูปร่างของสัญญาณเหมือนกันเครื่องมือที่เทียบมากที่สุด : ปรับขนาด Buffer ให้เท่ากัน )
---->วัดสัญญาณเทียบกับเครื่องมือวัดมาตรฐานแล้วสอบเทียบ ( ถ้าต้องการให้สัญญาณนิ่ง เขียนโปรแกรม Tigger เพิ่มเข้าไปก็ได้ครับ แล้ว Tig สัญญาณระดับเดียวกันเลยก็จะเห็นสิ่งที่ได้เองครับ)

ใน Labview มีตัวอย่าง Ref DSP ในโปรแกรมอยู่นะครับ ถ้าต้องการทำวิจัย  FFT ลองศึกษาดูนะครับ ;D ;D...

ถ้าหลักการไม่ถูกต้องอย่างไรก็ยินดีที่จะรับฟังคำแนะนำจากทุกๆท่านครับ :D   ขอบคุณครับ :) :) :)


อันนี้เป็นตัวอย่างที่น่าสนใจครับ
http://www.embedds.com/diy-40msps-avr-oscilloscope-with-graphical-lcd/
       

Maxitron

แปลกใจครับ ทำไมท่านถึงไม่ใช้ baud rate สูงๆไปเลยครับ ผมว่าน่าจะเห็นการแสดงผลมี speed ที่ดีกว่านี้ ใกล้ความเป็น realtime มากขึ้น

ส่วนเรื่อง FFT ผมลองใช้ Matlab Plot สัญญาณดู ณ ตอนนี้สามารถแสดงผลได้เหมือน Scope ทุกประการ คือ มีแอมปลิจูดที่ถูกต้อง ณ ความถี่ของสัญญาณนั้นๆ(ลองแค่ความถี่ต่ำๆ ไม่เกิน 1kHz)

โดยใช้ความเข้าใจเรื่อง FFT เทียบสเกลทางด้าน Amplitude และทางด้าน ความถี่เอาครับ ฮาร์ดแวร์ ผมใช้ Atmega8 วิธีการแตกต่างจากท่านโดยสิ้นเชิง แต่มีวตถุประสงค์เดียวกัน

ยอมรับเลยครับว่า เพิ่งเคยเห็นการเอา FPGA มาใช้กับ LABVIEW เป็นอะไรที่เยี่ยมจริงๆ ;D


Jonathan

อยากทราบว่าท่านได้ IC แต่ใดมาครับซื้อได้ที่ไหนจะได้เอามาลองบ้าง  ;D