Jump to content

Nico89

Members
  • Posts

    2
  • Joined

  • Last visited

Recent Profile Visitors

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

Nico89's Achievements

Newbie

Newbie (1/4)

0

Reputation

  1. I am trying to use the PmodCAN module together with PetaLinux on the ZedBoard, to display a CAN interface within the OS. So far I can make it show up in the interface overview with the following device tree overlay: /* <petalinux-project-root>/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi */ /include/ "system-conf.dtsi" / { osc: can_osc { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <20000000>; }; }; &gpio0 { #interrupt-cells = <2>; interrupt-controller; }; &spi1 { is-decoded-cs = <0>; num-cs = <1>; status = "okay"; spidev@0x00 { compatible = "microchip,mcp25625"; spi-max-frequency = <10000000>; clocks = <&osc>; interrupt-parent = <&gpio0>; interrupts = <0 0x2>; reg = <0>; } }; I can even send and receive messages using `candump` and `cansend`, but the interface behaves strange together with some CAN libraries. E.g. Messages are sometimes not sent, when the library tries to send multiple messages without any delay between them. On the other hand, when I connect the PmodCAN to a RaspberryPi and use same said libraries, everything works fine. So the only difference I can see between the working Raspberry Pi and the "strange" behaving Zynq setup, is the manually defined device tree overlay you see above. Long story short: Is my device tree overlay for the PmodCAN correct, to use it together with the ZedBoard on the JE Pmod connector? Maybe there is even a template somewhere? Based on the issues I have, I suspect something might be wrong with the clock and frequency definitions ...
  2. Hi, I am currently working with the PmodCAN module and I am trying to make it work inside a bigger design with other AXI IPs. Unfortunately I can not find any documentation about the PmodCAN Vivado IP and the AXI address space. So I have some questions: 1. It is not clear to me, what the use case of the `AXI_LITE_GPIO` interface is. From what I can see, the PMOD interface is pre-defined to be used for the SPI communication with the MCP25625 IC; other SPI PMODS doesn't seem to need it either. I have the suspicion that some of the MCP25625 Pins can be configured as GPIOs in some way, but anything I thought would make sense, does not match with your provided C code examples. Which brings me to my second question. 2. Is there any documentation about the AXI address space and how to use it to configure, send and receive messages? I am currently trying to understand how the IP works by looking at the signals and the VHDL code. Unfortunately this approach is very time consuming and I could get things done much faster, if there is any documentation about the address space. Maybe I am just overlooking something here. To summarize, I would like to ask, if the intention behind the Vivado IP was primarily for demo purposes to use it from C code or not; should I rather implement my own IP to let it directly communicate with other AXI IPs?
×
×
  • Create New...