-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
SPI Engine: add control for SDO idle state #1320
Conversation
Hi, I tested this and the current HDL version works for AD4000 series. |
Hi @machschmitt, What's happened is that I had introduced a SPI Engine parameter in the last commit to control whether this feature is available on the hdl at compile time, but didn't add it to the pulsar_adc project, so it didn't happen correctly. Can you try with this new commit? To activate the new feature, you have to build the hdl with:
|
Does this actually need to be a compile option? It seems like it would be OK to always enable this and have the SDO line(s) go low when there is no TX data unless the new bit is set. I think usually it is expected for this line to be low when there is no TX data (i.e. a read-only transfer) on other SPI controllers. |
I've changed it so that by default the feature is active. If testing on other projects shows they are not affected, the parameter will be completely removed before merging. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test results showed this version to be good by exhibiting expected SPI line signals on vivado HW monitor and by consistently carrying correct data up to software layers.
Makes bit [3] of the SPI Configuration Register select the value of SDO when CS is inactive or during read-only transfers. Signed-off-by: Laez Barbosa <[email protected]>
Signed-off-by: Laez Barbosa <[email protected]>
Signed-off-by: Laez Barbosa <[email protected]>
Signed-off-by: Laez Barbosa <[email protected]>
Signed-off-by: Laez Barbosa <[email protected]>
Signed-off-by: Laez Barbosa <[email protected]>
Signed-off-by: Laez Barbosa <[email protected]>
Remove deleted parameter, fix spi engine version Signed-off-by: Laez Barbosa <[email protected]>
library/spi_engine/spi_engine_execution/spi_engine_execution_ip.tcl
Outdated
Show resolved
Hide resolved
Signed-off-by: Laez Barbosa <[email protected]>
Tested in hardware AD4630 and CN0561 |
Signed-off-by: Laez Barbosa <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Signed-off-by: Laez Barbosa <[email protected]>
Signed-off-by: Laez Barbosa <[email protected]>
@machschmitt can you test the final version on hw? |
Project continues to work as expected with the BOOT.BIN @LBFFilho sent me yesterday. |
Makes bit [3] of the SPI Configuration Register select the value of SDO when CS is inactive or during read-only transfers.
This is useful for parts such as the AD4000 series, where we want to keep the ADC's SDI line high during conversion, but still want to be able to write to the ADC SPI registers when needed.
PR Type
PR Checklist