Hi!
This summer I will be working as an summer intern. I study cybernetics and robotics. I know C/C++, python, a bit basic electrical engineering, a bit digital design and embedded software development(i have worked quite a bit with AVR chips) , and I am also familiar with ROS(Robot Operating System). I am obviously far from an expert in any of these areas, but I would say I have a solid foundation in them.
Anyways, enough about myself. I am writing to this forum because I seek advice. The task handed to me is quite open, and the whole project is really in the start phase. Let my briefly explain what it is I am working on.
The goal of the project (not to be completed by the end of my internship) is to develop a prototype sensor for measuring PD(partial discharge in high voltage cables). I do not think I need to spend more time explaining the details about the measuring technique or the physical phenomenon as it is irrelevant for my task. What you need to know is that I will me measuring voltages in the range ca. -1,1 V. The bandwidth that I am interested in is between 1 and 100 MHz. Therefore we need a quick ADVC. It has also been discussed to used an mixer together with a slower ADC, but in the end the choice fell on the Eclypse Z7 because of its fast ADCs( Digilent ADC1410). My task is therefore to somehow use this board for detection of abovementioned PDs and sending information to a host PC (the information could be peak voltage detected, frequency, count of PDs so far, just the fact that the voltage crossed the threshold value, or a combination of these). I have discussed extensively with several employees here about potential solutions, but the more input the better, therefore I would love to hear your opinion on this. Options we have discussed include:
1. coding bare bone, maybe as a start just send a message if a voltage above some threshold value in the abovementioned range have been detected (I implemented a start of this but stopped when I realized how slow UART is - looked at using the Ethernet but that was no fun)
2. Using RTOS with for example LwIP for ethernet communication, sockets. Also this probably makes life a bit easier( I have no experience with RTOS, but I have used ROS - which I naively imagine being somewhat similar)
3. Using Linux(petalinux). This probably makes interfacing with the board the easiest, but I am unsure if it is even possible to manage so much data from Linux, and even if I don't know how(embedded Linux is something I have no experience at all, but I do have experience with both Linux and embedded software). It has also been mentioned that it should be possible to run Linux on one of the arm cores on the Zynq chip and running barebone on the other. This could make it possible to have the best from both worlds - the speed of running barebone and the ease of use that comes with using an OS.
4. Creating an IP block that somehow filters out the voltage measurements that probably belongs to a PD. This idea is pretty open and I haven't spent much time fleshing out how this would work. I would love to learn some FPGA, DPS and VHDL, but this seems like a little ambitious for a summer job(after all its just about 6 weeks).
So far, apart from thinking hard, researching and drinking coffee, I have created an vivado project with ZMOD ADC controllers, LP and HP filters. I have written a standalone application that verified that it was all set up correctly. I used a signal generator and printed the output from the filtering over UART and plotted in python.
I would love to learn during this summer, but I also would love to have something somewhat finished to show to. It is obviously not expected from me to finish the sensor this summer. As I mentioned I am also a bit time constrained in what I can archive. Based on my experience and available tools what would you guys recommend me spending my time on.
Sorry for such a long question. I hope it doesn't scare to many people away. Thanks in advance.
-Markus