-
Notifications
You must be signed in to change notification settings - Fork 41
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
Low voltage SPI bus compatability #10
Comments
If you remove RV3, and put 3 pin jumper on J5 - you can easy switch left side Voltage from 3.3V to 2.5V I need to ask emard if 1.8V can be used ... |
You can connect 1.8V on middle pin if J5 that will give you 1.8V on left side of the board. Or you can use 1N914 diode on RV2 position (you would need to remove resistor from RV1) |
Remove RV3 jumper first! Connecting both RV2 and RV3 will overvoltage the FPGA. Solder 2.54 mm 90 deg 3-pin angled headers It is probably not possible to switch GPIO bitstream voltage setting some hi speed signal timings should be not optimal in such case, |
There might be an even easier hack to get the right voltage on the SPI bus outputs - if I remove RV3 and solder a header to connect to the mainboard's SPI Vcc, then the left IO bank will be correctly powered for whatever the board expects. Are there any problems if the J5 center pin is floating or grounded some of the time? |
This hardware mod seems to work. The lack of LEDs is a minor problem, although once the mainboard comes online they are fine. I've only tested on a 3.3v mainboard; the 1.8v one went away while I was soldering. |
HI I was testing boards with voltage selection pin floating (no RV2 no RV3). external power can be weak or current limited. To save few mA ULX3S has some C at this RV2/RV3 I think around 30uF, so at powerup |
Re-opening since this seems to be problematic with starting the user bitstream. With no voltage on the bank, the user bitstream resets to the bootloader almost instantly. Perhaps the pullup for BTN0 is wired to this rail, so the bitstream thinks that the user is pressing the reset button. |
I have few theories:
1. If you have added ESP32 module and loaded it with firmware
then BTN0 will appear as constantly pressed and usually
passthru bitstream has wifi_gpio0 <= btn(0) and that would
make board constantly reset. It's fixable by recompiling
2. Also, some bitstreams have BTN0 wired to user_programn
this also would have similar effect with unpowered bank
user_programn <= btn(0);
its fixable by recompiling
3. If there's D28 mounted then it will hardwire BTN0 to programn,
it's fixable by removing D28
But strange, if there's no ESP32 module and no D28
and programn <= btn(0) is not compiled, then the board should not
reboot from unpowered RV2/RV3
…On 8/30/19, Trammell Hudson ***@***.***> wrote:
Re-opening since this seems to be problematic with starting the user
bitstream.
With no voltage on the bank, the user bitstream resets to the bootloader
almost instantly. Perhaps the pullup for BTN0 is wired to this rail or
perhaps the WIFI gpio needs voltage to prevent the reboot?
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#10 (comment)
|
odgovorio sam mu slično ko i tebi tak da ako je sjelo
na git issues nemoraš mu forwardirat
hmmm
…On 8/30/19, D EMARD ***@***.***> wrote:
I have few theories:
1. If you have added ESP32 module and loaded it with firmware
then BTN0 will appear as constantly pressed and usually
passthru bitstream has wifi_gpio0 <= btn(0) and that would
make board constantly reset. It's fixable by recompiling
2. Also, some bitstreams have BTN0 wired to user_programn
this also would have similar effect with unpowered bank
user_programn <= btn(0);
its fixable by recompiling
3. If there's D28 mounted then it will hardwire BTN0 to programn,
it's fixable by removing D28
But strange, if there's no ESP32 module and no D28
and programn <= btn(0) is not compiled, then the board should not
reboot from unpowered RV2/RV3
On 8/30/19, Trammell Hudson ***@***.***> wrote:
> Re-opening since this seems to be problematic with starting the user
> bitstream.
>
> With no voltage on the bank, the user bitstream resets to the bootloader
> almost instantly. Perhaps the pullup for BTN0 is wired to this rail or
> perhaps the WIFI gpio needs voltage to prevent the reboot?
>
> --
> You are receiving this because you commented.
> Reply to this email directly or view it on GitHub:
> #10 (comment)
|
As of yesterday I added a power button to It looks like the other buttons are wired to 3.3v on a different bank, so I can move the "reboot" function to those instead. |
that explains everyhting :)
programn is useful to reload the bitstream or jump
to next multiboot image.
for programn you can use BTN1 with some debouncing or delay
counter,
do not use simple
programn <= not btn(1);
but something similar with the counter
if btn(1) then counter++ else counter = 0
programn <= counter(counter'high);
…On 8/30/19, Trammell Hudson ***@***.***> wrote:
As of yesterday I added a power button to `user_program` connection...
851c737
It looks like the other buttons are wired to 3.3v on a different bank, so I
can move the "reboot" function to those instead.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#10 (comment)
|
Thanks for the advice! Remapped to button RIGHT and it seems to work fine 64f41b6...37beda0 |
This modification worked on an ASUS x370-pro board with AMD CPU running the flash at 1.8v via the programming header.
|
Eeehheheheee wonderful example of advanced
usage of ULX3S
Maybe it's off topic, but I heard you also like some
fast upload to SDRAM. I have usb-cdc ethernet core
but it's not fully stable. Few errors on usb bus and my
latest linux debian 5.2.0 will freeze :).
Other option is 100Mbit RMII ethernet module pin compatible
for our boards, get it cheap 2.2$ from here
https://www.ebay.com/itm/1pcs-Smart-Electronics-LAN8720-network-module-Ethernet-transceiver-for-arduino/183479331440?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649
…On 9/3/19, Trammell Hudson ***@***.***> wrote:
![IMG_20190902_094739](https://user-images.githubusercontent.com/3068843/64147973-557d5d80-ce22-11e9-8b5f-f8d8f7e645b3.jpg)
This modification worked on an ASUS x370-pro board with AMD CPU running the
flash at 1.8v (via the programming header, although the board had no flash
chip installed so TOCTOU/override mode was not tested).
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#10 (comment)
|
With the pullups enabled the AST2400 won't make it past DRAM training, likely due to bad reads. The I/O pins were moved as part of the variable voltage support (#10), but the LPF was not updated.
The GPIO pins are set at the 3.3v signalling right now. Can the bitstream select 2.5v or 1.8v at runtime?
The text was updated successfully, but these errors were encountered: