Notarobot

Members
  • Content count

    185
  • Joined

  • Last visited

  • Days Won

    12

Notarobot last won the day on June 14

Notarobot had the most liked content!

About Notarobot

  • Rank
    Prolific Poster

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Notarobot

    FPGA for DSP on Adaptive Dynamic Vibration Absorber

    Derry, zygot and all who find this post, Having experience using all the above mentioned computer tools I wanted to share my opinion. Matlab is powerful and very good tool but it is overpriced and I am afraid will loose customers because very few small companies can afford paying license fee + annual maintenance fees. The problem that you never know how many toolboxes will be needed to get the required functionality. Working for a small company we've spent 14k for bare minimum. It was no substitution for Simulink and we bit the bullet. It is indespensible if you need time domain simulation of a system. Today Matlab itself can be completely replaced by Python 3. It has overlapping functionality and examples exist for pretty much everything. In fact processing of large data sets is done mostly in Python. Since everything is open source I can share Jupyter notebooks with others without requiring licenses. It is not difficult to create application distribution with GUI. From contributions from thousands developers Python is getting more powerful every day and its penetration into embedded is probably deeper than Matlab/Simulink which is geared mostly to car manufacturers. At this time I use only Python 3 and Matlb/Simulink. Octave and SCILAB are nice but Python can easilty replace both.
  2. Notarobot

    Pmod Block CAN and SPI

    Dear jackn, Wanting is not enough, you need understanding which is lacking in your posts. Yes, you can use breakout boards from Copper Hill. It is the simplest way to use CAN on Zynq. Sorry, I don't have time to for more, you need to do YOUR homework. Good luck!
  3. Notarobot

    Pmod Block CAN and SPI

    Dear jackn, My teacher used to tell us if you can't explain some topic to a friend you don't know it (own it). It looks to me that your expectations are not based on reality. I would recommend to you getting familiar with CAN hardware and software implementations. CAN is not as simple as, for example, RS232. This will give you some background knowledge guiding you in selection of interface hardware and Zynq software. Matlab HDL Coder is very cool but Xilinx CAN driver is written only for ARM processor. You don't need any PL modules to utilizes Xilinx CAN implementation. You need however, physical interface module. Please, do you homework and search Digilent forum for CAN related posts. You will find answers for you questions. I know, this requires an effort but I don't want to repeat myself.
  4. Notarobot

    FPGA for DSP on Adaptive Dynamic Vibration Absorber

    I think it is important factor but might be not the first priority. However, we can see examples of people choosing careers with earning potential below the cost of college educations as well. In my experience in the EE field the best jobs are in the R&D area. The most valuable skill is creative system design. Knowing FPGA and being able to utilize FPGA multiply your abilities to implement ideas on time and on budget. Companies don't care how you do it, they care for customer to be happy with their product and to come back for more.
  5. Notarobot

    FPGA for DSP on Adaptive Dynamic Vibration Absorber

    Hi Derry, Let me try to answer some of your questions. First of all my personal recommendation is start on Zynq. There are plenty of development boards available either on Digilent or Avnet sites. I've started on Zybo and MicroZed. Zynq boards include ARM CPUs which will cut development time tremendously when you need to implement various communication functionality, use SD card memory, supervisory functions, Linux OS etc. Effort of implementing of all of these and glueing together in one application using just FPGA is probably possible but at significant cost. Personally, I find it unnecessary painful and wasteful. There are a lot of other reasons not to choose this way. However, opinions vary. Since Zynq is more complex it takes more time to get comfortable with it, that is to understand its architecture, learn HDL FPGA programming, learn Vivado development tool, design methodology, etc. Luckily, there are a lot of resources available at this time. I'd recommend watching video tutorials and get into one of online classes. I've started Zynq having VHDL FPGA experience in the past. It took some time for me to make the first demo of my project but the time was well spent. I would never accomplish that much without the Zynq. My personal recommendation is to use VHDL for FPGA programming because it is typed and well structured language. Stupid omissions are typically spotted before they propagate into the design. Noise issues and mitigation measures should be taken seriously. Using 24-bit ADC means that the input signal range floor is at sub uV levels. Obviously at this high sensitivity ADC will be able to pick up voltages induced from any surrounding sources, for example, computer, AC, monitor, DC-DC converters, etc. I recommend to start with materials published by Analog Devices. Good guidance you can get understanding designs of 24-bit evaluation boards from different manufacturers. For the project like yours I would use evaluation boards but add input low pass filters. I like and used Mathworks a lot, especially, Simulink. However, commercial license cost puts it out of reach for many small enterprises. Luckily, these days Python has functionality on par with Matlab (not Simulink). Take a look at the "PYNQ-Z1 Python Productivity for Zynq" on Digilent.
  6. Notarobot

    FPGA for DSP on Adaptive Dynamic Vibration Absorber

    @Derry In my opinion your choices in great extent depend on how much time you have for your project. Learning FPGA on Zynq will take substantial time. I would say 3 months at least. You will need to know architecture, learn VHDL or Verilog and be comfortable with simulation and programming tools. Using FPGA will give you ability to utilize many ADC boards in parallel easily. FMC cards/boards are expemely helpful but still you will need to get on a top of Zynq system development. I would agree with xc6lx45 that to be safe you can try to accomplish your project without FPGA, for example, by using multiple evaluation and processor boards. It should be said that Digilent forum is very helpful (if questions are well defined and demonstrated that the poster did his homework). BTW, consider one of the challenges of 24-bit ADC conversion that is digital noise and parasitic coupling from anywhere. To mitigate it you will need to use galvanic isolation and shielding of various modules.
  7. Notarobot

    Accessinng OCM memory from PL side

    In my opinion the best answer you will find reading Xilinx ug585 document and searching Xilinx knowledge base. In short OCM is intended for fast memory storage used by ARM or Microblaze processors. The fastest and simplest memory storage for PL is BRAM. You can read/write BRAM directly from both PS and PL. You can send blocks of memory from BRAM to OCM. OCM is located on the Zynq chip while DDR is on separate chip. The size of DDR memory depends on the board manufacturer while the OCM memory size is always the same.
  8. Notarobot

    connecting IP blocks for PL side - project includes GPS module, GSM module,Memory, Debug TAP controller

    Hi Sridhar, 1. What gps module do you have in mind? 2. There is no problem to have two UARTs. You can set GPS UART operating with interrupt and use polling of data from the GSM module. You can also have two interrupts with different priorities and the CPU will get data accordingly. 3. Also read a datasheet for any commercial product with similar functionality and try to create similar one for you project/product. Keep it for yourself, don't publish. Creating this datasheet will force you to make several important decisions and better understand scope of the project, its challenges and find solutions. Separate problems and solve them one by one. 4. I suggest to start experimental work with any of selected modules. You will learn a lot and gain confidence.
  9. Notarobot

    connecting IP blocks for PL side - project includes GPS module, GSM module,Memory, Debug TAP controller

    Well, since you are commited to this project I'll give you my recommendations. Start with creating detailed requirements specification of your project: data description, I/O data rates and formats, data sources and consumers, etc. When you reach understanding of resources required for your project create a block diagram and select hardware components. Hopefully requirements are relaxed enough to make it work in a standalone (barebone) mode without running Linux. Read datasheets for Pmods and run example projects for every component you plan to use. Pmod GPS requires RS-232 and GSM might need I2C or SPI or UART. Try to use as much as possible PS side of Zynq because most of IP (for standalone mode) you need is available, check the folder SDK\2018.1\data\embeddedsw\XilinxProcessorIPLib
  10. Notarobot

    connecting IP blocks for PL side - project includes GPS module, GSM module,Memory, Debug TAP controller

    Hi, I am wondering what is the justification for adding FPGA to your project. All tasks can be accomplished using SBC with ARM processors. Adding FPGA into the project will double your effort since you'll need to program and debug PL which is time consuming.
  11. Notarobot

    Debugging a custom ZYNQ PCB without PS UART routed

    Hi @tbrowning, I suggest to take a look at the User guide here and related carrier card hardware guide. It is an example of well thought design and contains answers to you questions. In my opinion I would cut losses and make a new board or just use commercial one like described in the link.
  12. Notarobot

    Measuring time using a Zynq Processor

    Hi @smit, For measurement time intervals with very high precision ARM processor has so called private timer described in the document UG585-Zynq-7000-TRM. Its primary clock frequency is 1/2 of the processor clock frequency. It is possible to add prescalar if this is too high for your application. Xilinx also provides a driver and C-code for the example with Vivado/SDK in the \embeddedsw\XilinxProcessorIPLib\drivers\scutimer It was very useful for benchmarking of my project and some data transfer operations. For real time clock I've tested Pmod-RTC. This one provides timestamps including actual HH:mm:ss, day and year. The problem is the it counts and reports time with 1 sec precision only.
  13. Notarobot

    Missing Pmod Port on Zybo Z7-10

    This port on Zybo makes possible to connect Pmods to peripherals controlled by ARM processor. All configurations of such connections are possible when you click on "ZYNQ7 Processing System" block and select "Peripheral I/O Pins" or "MIO Configuration". This port is easy to use for external UART, CAN or anything else that supposed to be controlled by the CPU. Consult the schematic diagram or manual for Zybo for proper wiring of Pmod I/O connections. Port JF doesn't have direct access to PL, perhaps, this is the reason it is not listed. Hope I've answered your question.
  14. Notarobot

    Zybo Z7 UART0

    Hi, dbkincaid, May be my configuration for Zybo 1st generation will help you. I've used PmodRS232 Rev.A 2004. When I have unresponsive SDK I usually erase .sdk and .cache folders, then restart SDK and recreate the source from backup. In most cases this measure restored SDK sanity.
  15. Notarobot

    Protocol Development

    xc6Ix45 You are absolutely correct, I should have noticed that you are proposing direct connection. Sorry for bringing unrelated issue.