-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[enhancement] interfacing Pluto to embedded system e.g. STM32 #49
Comments
This is an interesting idea. I'm not sure I'm currently capable of implementing such a feature though, considering I have zero experience with SPI. Can you share a bit more detail on how you would read the IQ data? I get that you would control things via SPI, but are you wanting IQ data from SPI as well? I have no idea if SPI can do that level of data transfer consider the lowest samplerate is 65ksps on the Pluto... Any details you can find/share would be helpful in at least determining if/how this is possible. |
Very glad to read this. I do have experience with SPI transmissions. I do have used SPI on my embedded systems working with STM32F7 or STM32H7. You do have transfer rates up to 50 MHz and it is a duplex transmission (one line for reading data and one for writing data). I have poked in the Plutos keernel sources and I can state that the kernel is already build with SPI kernel module. So the only things which must be done is:
I think we do have the knowledge together. You are better familar with 1) and I am with 2). I would contribute so that the work can be splitted. But I actually do not have toolchains installed for working on Pluto. I am working with gcc arm toolchains - not with Vivado. Isn't it a pay product (I do not know the price) and can only be used for a small period and then does not work any longer without license? |
Not sure I know much about item 1 but I'm willing to learn - to a degree. :) Vivado is free and it doesn't have an expiration, you just need the basic one. Just have to fill out a couple forms to get the download and free license, if I recall. Here's the download. Start with creating an account and filling the details to download. https://www.xilinx.com/member/forms/download/xef-vivado.html?filename=Xilinx_Vivado_SDK_Web_2018.2_0614_1954_Lin64.bin |
OK :) I am willing to learn, too - that is my philosophy. I will do everything to get a working toolchain (hopefully this weekend), clone your repo and start learning. Background: |
Hi unixpunk,
glad that I have located your GitHub and see how much nice work you already have done. Maybe there is an interesting feature wish which is easily to do by you but not by me... I am working at a SDR standalone TRX project which uses STM32H7 (or F7) MCU. It is working already very nice using Tayloe mixer front for lower frequencies < 50MHz. But with upcoming Es'Hail it would be very nice to do much more than 50MHz.... Here you can find the project: https://github.com/df8oe/UHSDR Pluto has the capability of covering the "missing frequency range". But it does not have a simple possibility to adapt it to an embedded systems MCU with low RAM, low horse power (comparing to PCs or Raspberry Pis). What is needed is a communication via SPI. I am not sure SPI bus is present on the GPIO headers - that would be nice. Then a simple protocol which allows setting of samplerate (which is coming back to outside) and middle frequency via SPI and get out IQ data stream would allow to drive Pluto with our standalone TRX solution ;) Can you imagine to implement such a SPI interface?
EDIT:
I have investigated: we do have SPI1 bus of Zync on external connections! It is PS_MIO10 (MOSI), PS_MIO11 (MISO), PS_MIO12 (CLK) and PS_MIO13 (CS). 12 is named as UART_TX and 13 as UART_RX at the connectors header of Pluto. So everything would be "ready to go" at hardware side...
73
Andreas, DF8OE
The text was updated successfully, but these errors were encountered: