element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Embedded and Microcontrollers
  • Technologies
  • More
Embedded and Microcontrollers
Embedded Forum Fast modulation based on analog signal: FPGA worth it?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Embedded and Microcontrollers to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 12 replies
  • Subscribers 461 subscribers
  • Views 992 views
  • Users 0 members are here
  • fmc
  • cpld
  • dac
  • mezzanine
  • fpgafeatured
  • fpga
  • galvanometer
  • embedded
  • shutter
  • aom
  • card
  • adc
  • laser
  • mirror
Related

Fast modulation based on analog signal: FPGA worth it?

palle93
palle93 over 7 years ago

Hello everyone,

 

I'm currently planning a setup where (among other things) a galvanometer mirror helps a laser scan a certain area. For different mirror positions the laser should be on and for others off. You could imagine a shutter controlling the beam here.

 

I would like to open and close this shutter (acousto-optic modulator) really fast. Really fast in this case means 2 MHz. However, the shutter should not be modulated periodically, e.g. with constant frequency. The shutter shall open, when an analog input signal Uin is above a certain threshold U1 and close again above another threshold U2.

Furthermore, the voltages U1 and U2 are provided digitally as 16 bit numbers. Both are not static, however. They will change in the worst case with a frequency of 1 MHz.

An added bonus would be, if the actual level of Uout does not have to be binary but could also be modulated with 1 MHz.

 

I tried to sketch a schematic for this and attached it to this posting.

 

I thought about solving this problem using an FPGA with really fast ADCs and DACs on a Mezzanine Card, which is connected via FMC to the FPGA board. This would fulfill my specifications, however I get the constant feeling that I'm overshooting my specifications here. Is a FPGA really suited for this application or am I overlooking an obvious implementation with a cheaper system?

 

Thank you!

Attachments:
image
  • Sign in to reply
  • Cancel

Top Replies

  • michaelkellett
    michaelkellett over 7 years ago +3
    There are quite a few things you have not specified that might affect your choice, but I suspect than an FPGA will be the best way to do it. How does the analogue signal vary, if you want to detect small…
  • michaelkellett
    michaelkellett over 7 years ago in reply to palle93 +2
    I'm not sure what resources you have available but designing a system that can sample 16 bits at as high as 50MHz with 20ns latency is a big undertaking, I'm currently working on a system that will sample…
  • DAB
    DAB over 7 years ago +2
    You first have to decide what "worth it" means to you. Are you looking to build a one of device or a product. What are the other options you could use? Once you define your end goals, then you can do a…
  • michaelkellett
    michaelkellett over 7 years ago

    There are quite a few things you have not specified that might affect your choice, but I suspect than an FPGA will be the best way to do it.

     

    How does the analogue signal vary, if you want to detect small changes in amplitude of a 1MHz signal you will need to sample very fast, if the signal is non repetitive you will need to use a non pipelined ADC so you can respond to the change of input quickly enough.

     

    So it would help to have a  diagram of the extreme case of signal and U1 and U2.

     

    From an FPGA point of view, it's all easy - the hard part will be the ADC and DAC - do you have to have 16 bit resolution, and have you ever designed with a 10MHz+ 16Bit ADC ?

     

    If you could get away with 12 bit ADCs running at effective rate of 7.2MHz you can do it using a micro processor (STM32F767), the built in DAC may not be fast enough. It will be hard to write the code to deall with the data fast enough.

     

    MK

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • genebren
    genebren over 7 years ago

    Pascal,

     

    Where I think that Michael's approach makes sense, I think I would turn the problem around and do it more in the analog domain.  I would use a pair of voltage comparitors to generate the shutter signals.  You could use a pair of DACs to set the thresholds for the high and low values of the window.  Computationally, this would greatly reduce the complexity of your design.

     

    Good luck!

    Gene

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • palle93
    palle93 over 7 years ago in reply to michaelkellett

    Thank you for your answer Michael!

     

    The analogue signal is not repetitive. The change is in voltage and between -10 V and 10 V. I already found some ADCs which can sample with several 100 MS/s.

     

    Regarding the U1 and U2 digital signal: You can imagine them to be the lower and upper barrier of an interval. When the analogue voltage is above U1 the shutter will be opened, and as soon as the analogue voltage is above U2 the shutter will be closed. The array of U1s and U2s will be provided by the computer which is connected to the FPGA. This array is user defined and arbitrary.

     

    Unfortunately I have to have at least 14 bit and since the effective number of bits seems to be a bit lower in reality and we don't want to run into boundaries we thought that 16 bit should be suitable for our specifications. Sadly, I have never worked with an FPGA or ADC, this is my first time.

     

    If there is still something unclear, please contact me.

     

    PK

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • palle93
    palle93 over 7 years ago in reply to genebren

    Hey Gene,

     

    we also thought about working more in the analog domain. The problem I saw with that solution was the sheer amount of data, which the voltage comparator has to process. In extreme cases only the U1 and U2 data from the computer can be up to 1 TB.

     

    For the setup 2 galvanometer mirrors will be used. So the shutter signal should only be open if both mirrors are in the given range. Wouldn't the design of such an analogue processing unit be pretty complex?

     

    However, I understand your argument regarding the computationally complexity. I will once again think about the analog solution.

     

    Thank you very much for your help!

     

    Pascal

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 7 years ago in reply to palle93

    I'm not sure what resources you have available but designing a system that can sample 16 bits at as high as 50MHz with 20ns latency is a big undertaking, I'm currently working on a system that will sample 8 channels at 10MHz and stream data to Gb Ethernet, it will take about 4000 hours of experienced hardware, software and FPGA engineers' time to develop.

     

    What is the shortest time the shutter will be open or closed ?

     

    How quickly are U1 and U2 updated.

     

    MK

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • DAB
    DAB over 7 years ago

    You first have to decide what "worth it" means to you.

    Are you looking to build a one of device or a product.

    What are the other options you could use?

     

    Once you define your end goals, then you can do a sensible cost/benefit analysis to decide if the project has a reasonable solution space.

     

    DAB

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • palle93
    palle93 over 7 years ago in reply to michaelkellett

    Hi Michael,

     

    I was looking at FPGA Mezzanine Cards (FMC) which can be added on a FPGA board and offer efficient ADCs. One producer that could offer this would be from ABACO (https://www.abaco.com/products/fmc144-fpga-mezzanine-card). This comes at the cost of a lot of money which has to be spent on the hardware. The budged would allow this, however I don't want to just throw money at a problem which could be solved more efficiently.

     

    The shortest time for the shutter to be open or closed would be around 0,5 µs.

     

    In the worst case this would also be the update time for U1 and U2. These voltages have to be updated as soon as the galvanometer is at a given position (i.e. has a certain voltage on its output).

     

    Thank you once again for your time!

     

    PK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 7 years ago in reply to palle93

    Are you able to tell us which galvanometer you will use - I couldn't find one that was anything like that fast.

     

    MK

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • palle93
    palle93 over 7 years ago in reply to michaelkellett

    Sorry, I think we have a misunderstanding here: The voltages U1 and U2 will be provided by the computer for the comparison. The voltage coming from the galvanometer is U_in (analog). The galvanometer just scans the object and meanwhile the FPGA (or whatever will be used) checks if the voltage, which translates to the galvanometer position, is in the voltage range which will be given by the computer.

     

    Just because the voltages U1 and U2 could possibly change really fast does not mean that the galvanometer has to be incredibly fast because we could also chose really small voltage differences between U1 and U2. However, we want the Galvo to be as fast as possible, of course.

     

    Does that make it clear or did I possibly misunderstand your question?

     

    PK

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 7 years ago in reply to palle93

    I'm trying to understand your system because I think you are going up a blind alley.

     

    No mechanical device can output meaningful position data with anything like the bandwidth of the data conversion board you quoted (370Msamples at 11 ENOB). The best galvo I could find claims to settle (for small step change) in 100us.

     

    I don't think I can offer any very useful advice without a much better understanding of the system.

     

    I can tell you that if you really do need 300Mhz+ rate ADC then an FPGA is the only way you could possibly control this system, no micro is anything like fast enough and trying to process 16 bit data paths at this speed with small scale logic wouldn't be practical or cost effective.

     

    MK

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube