Search the Community

Showing results for tags 'microzed'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • News
    • New Users Introduction
    • Announcements
  • Digilent Technical Forums
    • FPGA
    • Digilent Microcontroller Boards
    • Non-Digilent Microcontrollers
    • Add-on Boards
    • Scopes & Instruments
    • LabVIEW
    • FRC
    • Other
  • General Discussion
    • Project Vault
    • Learn
    • Suggestions & Feedback
    • Buy, Sell, Trade
    • Sales Questions
    • Off Topic
    • Educators
    • Technical Based Off-Topic Discussions

Calendars

  • Community Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 4 results

  1. Hi all, I'm having an issue with the FPGA SPI interface I programmed onto my microzed. The issue is that the interface cannot read the data sent back from my slave device! I'm using a SAMA5d3-xplained devboard, and an oscilloscope to measure signals. I made the SAMA return the same buffer it received, only with every byte shifted. So it's a semi-loopback routine. The oscilloscope captures both the correct signal back from the SAMA (every byte divided by 2), AND the signal going into it (out of the MicroZed). However, the spidev_test.c (that seemingly famous SPI testing utility on the torvalds repository (https://github.com/torvalds/linux/blob/master/tools/spi/spidev_test.c) program that I'm using shows one of two things: 1. Either the result is always an error of "SPI transfer timed out" 2. or the value in rx is the same as in tx. That is, even though the SAMA slave is demonstrably (via oscilloscope) returning something else, all the RX buffer gets is the same as was sent via the TX buffer. In fact, I can even disconnect the header that plugs the master to the slave, and this behavior becomes no different. The difference between these two results is simply a matter of removing the 1050th line in drivers/spi/spi.c when building the kernel. It's the call to wait_for_completion_timeout() in the function static int spi_transfer_one_message(struct spi_controller *ctlr, struct spi_message *msg). What I get from this is basically that the spi-xilinx.c driver does not know where to look for the output from the slave (MISO), and it either waits eternally for that output (if the call to wait_for_completion is left intact) OR it doesn't care to look for the data and just fills the rx buffer with the tx buffer. Now I have a very limited understanding of hardware and driver programming, so I'm basically like a blind man in the dark here. I'm adding printk() statements to spi-xilinx.c and spi.c everywhere, and checking their results with dmesg and there's just nothing enlightening (I'm using PetaLinux, and the devices all show up correctly in /dev and /sys). I'm hoping someone more experienced can shine a light on what I'm doing wrong here, or at least point me in the right direction. Attached is my device tree file, plus a screenshot of the hardware design. (the relevant node in the DT is highlighted below) amba_pl { #address-cells = <0x1>; #size-cells = <0x1>; compatible = "simple-bus"; ranges; axi_quad_spi@41e00000 { bits-per-word = <0x8>; compatible = "xlnx,xps-spi-2.00.a"; clock-names = "axi_clk", "spi_clk"; clocks = <0x1 0xf>, <0x1 0xf>; fifo-size = <0x10>; interrupt-parent = <0x4>; interrupts = <0x0 0x1d 0x1>; num-cs = <0x1>; reg = <0x41e00000 0x10000>; xlnx,num-ss-bits = <0x1>; xlnx,spi-mode = <0x0>; spidev@0 { compatible = "spidev"; reg = <0x0>; spi-max-frequency = <0x17d7840>; }; }; }; goodVersion1.dts
  2. Hi, I'm kind of new to using external I/O connections on FPGA boards but I'm tasked with a project where I plan to interface a high-speed camera with 6 lvds pairs (4 data + 1 clock + 1 sync) with the clock input reaching up to 360 MHz, translating to a max data flow of 720Mbps through each of the 4 data pairs. Although this is the optimal operating condition, I don't necessarily have to achieve such speeds if I can get something close to that using an inexpensive board as low-cost is an important factor here. I was told to look at the following xilinx fpga boards with the Zynq 7000 series chips: Zybo (~$200): 512 GB DDR3, has VGA and HDMI, only pmod I/O connectors. From what I've read, I understand the high speed pmods are set to 3.3V, but can work at a lower voltage if only used for input, but do I need to physically alter the board for this? What speeds can I actually reach through these connectors? MicroZed (~$200): 1 GB DDR3, no display out, will have to connect through microheaders on the back, but I can control the I/O bank voltages through the inputs from my carrier card for LVDS. MicroZed manual says "Differential LVDS pairs on a -1 speed grade device are capable of 950Mbps of DDR data" but does this mean the microheader connector is also capable of this rate? I ask this because a similar board from MYiR, the Z-turn (~$100), is very similar in design (but includes HDMI and surprisingly much cheaper) and their support says "Z-turn Board expansion connectors are most for PL ports which can support LVDS differential input, the speed is up to 200MHz in theory." which seems too slow. From what I've gathered, the Z7010/20 chips and the DDR3 ram are very capable of handling the speeds necessary for operating the camera sensor and the large ram size is important for storing the large number of frames, but I'm confused whether the board these are on allows these chips to receive the input fast enough to make full use of both these chips and the camera sensor. Are there any other low-end boards with large enough memory and fast I/O that can make full use of this camera sensor? Any help or guidance is much appreciated on where to look and how to design. Thanks.
  3. czajak

    Vmodcam problems

    Hi, I am using vmodcam and have problem with image resolution and bad pixels. I have microZed 7010 board and I/O carrier and try to send image via Ethernet. First problem is, I set all the register values mentioned in the rm (https://reference.digilentinc.com/_media/vmodcam/vmodcam_rm.pdf) to get image with resolution 1600x1200 px. Unfortunately I got image containing 4 frames with resolution 800x600 px (attachment: bad_res_image.jpg). Before logging image I saw values in these registers via I2C and everything in the register is set as in the rm. Do you have any idea what is wrong? Second problem is more serious. In this link I send the results when I show only 800x600 px of the image (https://imgur.com/a/nmviB). - in 70% of cases the image I get is wrong (picture 3, 4 in the link) - in 10% of cases the image I get is shifted in some places and but we can recognize the shape (picture 5 in the link) - in 20% of cases I get image which is OK (picture 1, 2 in the link) But in 100% of cases my image have bad pixels. I would really appreciate any help or even only a hint. Thank you in advance! Best regards czajak
  4. Hi, I'm going to buy Pmod USBUART: USB to UART Interface for MicroZed board I have. Would I need a UART Crossover Cable for it? Also, is there any example I could use to have this PMOD working? Any help is greatly appreciated! Thanks a lot!