• Content Count

  • Joined

  • Last visited

  • Days Won


Notarobot last won the day on June 14 2018

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. Hi zygot, I have to agree with you that lack of full schematic irritates, however, it's still possible to utilize it for one time projects. Besides, they provide a partial schematic covering ADC interfaces. Also, it might be possible to accomplish whatever the poster wants by using available software resources. I am not sure that he needs any HW design but configuration. I have this thing (14 bit version) and use it in my work mostly for measurements and as a signal source. Its ADC and DAC are excellent. My point that making custom hardware will triple the cost and development time.
  2. Hi herve, It is not clear what are you expecting to hear. Are you looking for a commercial module with firmware or just an option for your own design? There are a number of ICs from Analog Devices, TI, Maxim that satisfy your sampling rate requirements and resolution, for a example, ADC chips LTC2313, LTC2314. However, they require high frequency (>=40MHz) clock, thus, high frequency connector to the FPGA board. Personally, I think Avnet MicroZed board would be a good base for your design. Another option is to look at evaluation boards from ADC, DAC chip vendors. Typically, they are very good for learning capabilities of the product and recognizing gap we need to fill. Take a look at the Red Pitaya package. It might be overkill but has everything you might need. Good luck!
  3. Notarobot

    maximum supported size of sd card for zybo

    Arjun, For a standalone mode if you are going to use FatFS file system with Xilinx sdps drivers the limits can be found here Practically 32GB SD card worked perfectly in my experience. Under Linux OS the size could be different depending on version of OS.
  4. Notarobot

    Reading Data From BRAM of Zybo but receiving data is garbage.

    Hi, Abdul, Here are my notes/recommendations: 1. Open your block diagram in Vivado where you created BRAM configuration and then check the address editor. You should see whether the BRAM address was assigned. If you find assigned see axi_bram_ctrl_0 OffsetAdress and the Range then the BRAM was created and mapped to the memory. 2. Writing and reading from BRAM requires a clock signal. Check Xilinx templates for BRAM which you can access inside the Vivado. I am not sure that the code you've used to write into BRAM does anything. 3. You don't use an absolute address in your HDL when BRAM created in Vivado. Vivado maps the address 0x4000_0000 to 0. So you can start from the address 0 and it will be the lowest address of the BRAM. If your don't use Vivado then you will need to define your block in HDL and include addresses, and many other parameters. 4. The C-code in SDK should use BRAM address from the file parameters.h. You just need to use XPAR_AXI_BRAM_CTRL_0_S_AXI_BASEADDR as the begining of the BRAM address space. 5. You can treat BRAM as RAM meaning that all read/write operators are the same. For example you can copy BRAM content into the RAM: for(i = 0 ; i < BRAM_SIZE ; i++) *(destination + i) = *(source + i); where source = XPAR_AXI_BRAM_CTRL_0_S_AXI_BASEADDR Disclaimer: always read documentation, whatever you find on Internet might not be correct. Good luck!
  5. Notarobot

    State machine vs Microblaze MCU

    In my humble opinion, FSM is the best architecture for the supervisory controller regardless of its implementation. Since the poster indicated AVR (C-code) experience I believe that using Microblaze would be easier or less time consuming because pretty much everything can be accomplished in C-code. However, without knowing the requirements specification this is just my opinion based on personal experience. It should be mentioned that Xilinx provides FSM templates for both VHDL and Verilog. Also, it is imperative to simulate FSM to make sure that it doesn't have dead states. Simulink Stateflow is a good tool for designing FSMs. C-code implementations of FSMs could be found in textbooks.
  6. Notarobot

    Reading Data From BRAM of Zybo but receiving data is garbage.

    Dear Abdul, Take a time to describe your project and then you will have better chances to get a useful answer.
  7. Notarobot

    VHDL: Why are those 2 variants not equivalent?

    I don't believe this is a bug but rather a misunderstanding of VHDL. Unfortunately, VHDL process block is very vaguely described in textbooks. In VHDL statements within the process are carried out sequentially. Moving a statement from one position to another can produce a different outcome. However, it depends on a type of statement, for example, values assigned to signals are not carried out immediately but scheduled to occur at the end of the processor or on clock events. I would recommend to check how it works by simulating a piece of code in doubt.
  8. Notarobot

    CAN Data in PL

    Hi CodeMagics, Let me try to answer your questions. 1. Unless you require extremely low latency the PS can be suitable for real time. You just need to operate it in a standalone (or bare metal) mode. 2. To my knowledge CABbus does not have master-slave relationship between nodes. The user can define such by programming the messages' ID. Otherwise all nodes can send messages at any time. 3. Due to its complexity CAN bus requires substantial code overhead. To my knowledge there is no open source VHDL or Verilog library supporting CAN. However, there are plenty of IP for microcontrollers. Xilinx offers free IP for Zynq PS as well. You can find it in Vivado SDK, for example, in the folder Xilinx\SDK\2018.1\data\embeddedsw\XilinxProcessorIPLib\drivers\canps_v2_1 Since Zynq PS is equipped with two CAN controllers the only thing you would need is a PHY module, for example, SN65HVD230 CAN breakout board. Digilent offers CAN Pmod as well, however, it uses a chip with CAN controller which is redundant in that case. It is however, useful when you need to use FPGA board without the ARM core. I would recommend searching Digilent forums.
  9. Notarobot

    Zebo board: one connector missing

    The JF connector is physically connected to MIO ports. These ports allows to connect such peripheral as UART and CAN to PS. Configuration of such connections is done in the processing_system7_0 block in Vivado. In my understanding they are not present in the block design because there is no easy way to utilize it with PL. It is always helpful to check the schematic diagram of the board. Hope I've answered your question.
  10. Notarobot

    Has anyone ported GNU Radio to a zynq development board

    Tom, You can try to build GnuRadio on your board. There is a script that automates building it on ARM processor running Linux. Once I did it on Samsung chromebook running Ubuntu. In my recollections it took 2 to 3 hours for the completion but in the end it was usable. This Cromebook had 2GB of RAM and 4-core processor. I am not sure the it makes sense to build GnuRadio on Zynq 7000 with its limited resources. Also you will probably need to use remote desktop to graphical output.
  11. Notarobot

    Simple Dual Port BRAM

    Hi newkid_old, It is difficult to diagnoze your problem since the diagram is not complete and it is not clear what is the FPGA code. I assume that BRAM is used by both FPGA logic and Microblaze. Anyway, I would make two notes: 1. The signal wea should be either 8-bit or 4-bit depending your your BRAM configuration. 2. If you write to one port and read from the second you don't need to toggle wea or check it when writing. It can be set once only. Both ports A and B are independent. Make sure that in properties you set write_first for port A and read_first for port B. Since you are using Vivado block design no instantiation of BRAM is needed in the HDL code. It is very easy but for the price of very limited configuration options. It works for me though. Highly recommend to create and run workbench BRAM simulation. BTW, Vivado has help with RAM coding examples explaning proper usage.
  12. Notarobot

    How to read from SD card on ZYBO

    Hi shahbaz, I can't help you because information you provided is very sketchy. Did the example work for you? Did you follow the file operations sequence of the TestSD example? I suggest to spend some time learning how to work with the FAT file system. It is very simple.
  13. Mahdi, The idea of using mailbox is interesting but I am not sure that it is helping you to speed up data processing. It definitely adds extra overhead latencies which you wanted to reduce. In similar situations I conducted measurements of latencies using XScuTimer Timer; /* Cortex A9 SCU Private Timer Instance */ Xilinx provides examples of its utilization with Vivado. Obtaining accurate profiling information will make clear where is your bottleneck. Using it with Zybo board I've found that writing to micro SD card can be done at speeds over 10 MB/s, 32-bit RAM operations with AXI at about 30 MB/s. It should be noted that writing to SD card is faster in blocks of 32kB and SD card should be formatted with 32kB sectors aligned. Good luck!
  14. Notarobot

    Fpga XADc

    It is very similar to what you would do using any microprocessor, for example Arduino. The difference is in the hardware. I would recommend seaching this forum for relevant posts.
  15. Notarobot

    How to read from SD card on ZYBO

    shahbaz, Typically src folder contains C-code written by the person who design the project. It should contain the main function. You can try attached Xilinx test code. It's rudimentary but you can change it to your needs. Also you don't need to copy Xilinx files into src folder, they will be added to your project from the BSP. TestSD.c