m-labs / artiq

A leading-edge control system for quantum information experiments
https://m-labs.hk/artiq
GNU Lesser General Public License v3.0
434 stars 201 forks source link

HMC830 fails to lock #860

Closed sbourdeauducq closed 6 years ago

gkasprow commented 6 years ago

I did tests with Tom board where I replaced the HMC chip and now it loks.

śr., 18.04.2018, 05:13 użytkownik Sébastien Bourdeauducq < notifications@github.com> napisał:

@gkasprow https://github.com/gkasprow Any update?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/m-labs/artiq/issues/860#issuecomment-382240341, or mute the thread https://github.com/notifications/unsubscribe-auth/AEH-vsDIYFX8vG4nyLGxk28y9_wwuKXBks5tpq9igaJpZM4QuwuK .

sbourdeauducq commented 6 years ago

So what should we do? Replace HMC830s on all boards? Why did they break in the first place?

hartytp commented 6 years ago

Why did they break in the first place?

This is my big concern as well. If the issue was a dry joint or something then I could understand, but if they're just breaking for no apparent reason then we have a problem.

hartytp commented 6 years ago

I did tests with Tom board

Anyway, that board was missing a 5V supply, wasn't it? So, in at least that one case there is a creditable explanation for why it broke. That doesn't seem to be the case with the other boards as far as I'm aware.

gkasprow commented 6 years ago

Just try my code to check if it works. I can also try to run Artiq code on our boards.

sbourdeauducq commented 6 years ago

Yes, please do.

hartytp commented 6 years ago

@sbourdeauducq Is not having the HMC830 causing you problems right now? Is this something you need fixed asap, or can you wait a bit? I've posted my AMC+RTM to Greg. One thing he will do with it is check that the HMC830 works with his code. Once that's done I'm happy to make sure it works with ARTIQ.

sbourdeauducq commented 6 years ago

OK.

sbourdeauducq commented 6 years ago

Just gave Sayma another dozen restarts with the clock through the HMC830 - no bug.

marmeladapk commented 6 years ago

Setup: AMC + RTM, 100MHz 10 dBm signal supplied to SMA input on RTM. Artiq built against da1a61b, misoc 6d5bacf1

Gateware ident 4.0.dev+922.gda1a61b8
Initializing SDRAM...
(...)
SDRAM initialized
Memory test passed

Booting from flash...
Starting firmware.
[     0.000006s]  INFO(runtime): ARTIQ runtime starting...
[     0.003890s]  INFO(runtime): software version 4.0.dev+922.gda1a61b8
[     0.010153s]  INFO(runtime): gateware version 4.0.dev+922.gda1a61b8
[     0.016434s]  INFO(runtime): log level set to INFO by default
[     0.022141s]  INFO(runtime): UART log level set to INFO by default
[     0.028289s]  INFO(board_artiq::serwb): waiting for AMC/RTM serwb bridge to
be ready...
[     0.467323s]  INFO(board_artiq::serwb): done.
(...)
[     2.581851s]  INFO(board_artiq::serwb): RTM gateware version 4.0.dev+922.gda
1a61b8
[     2.589369s]  INFO(runtime): press 'e' to erase startup and idle kernels...
[     3.589007s]  INFO(runtime): continuing boot
[     3.591976s]  INFO(board_artiq::hmc830_7043::hmc830): HMC830 found
[     3.598123s]  INFO(board_artiq::hmc830_7043::hmc830): HMC830 configuration..
.
[     3.605350s]  INFO(board_artiq::hmc830_7043::hmc830): waiting for lock...
[     5.606007s] ERROR(board_artiq::hmc830_7043::hmc830): HMC830 lock timeout. R
egister dump:
[     5.612902s] ERROR(board_artiq::hmc830_7043::hmc830): [0x00] = 0xa7975
[     5.619412s] ERROR(board_artiq::hmc830_7043::hmc830): [0x01] = 0x0002
[     5.625837s] ERROR(board_artiq::hmc830_7043::hmc830): [0x02] = 0x0002
[     5.632263s] ERROR(board_artiq::hmc830_7043::hmc830): [0x03] = 0x0030
[     5.638688s] ERROR(board_artiq::hmc830_7043::hmc830): [0x04] = 0x0000
[     5.645114s] ERROR(board_artiq::hmc830_7043::hmc830): [0x05] = 0x0000
[     5.651539s] ERROR(board_artiq::hmc830_7043::hmc830): [0x06] = 0x303ca
[     5.658052s] ERROR(board_artiq::hmc830_7043::hmc830): [0x07] = 0x014d
[     5.664477s] ERROR(board_artiq::hmc830_7043::hmc830): [0x08] = 0xc1beff
[     5.671077s] ERROR(board_artiq::hmc830_7043::hmc830): [0x09] = 0x153fff
[     5.677676s] ERROR(board_artiq::hmc830_7043::hmc830): [0x0a] = 0x2046
[     5.684102s] ERROR(board_artiq::hmc830_7043::hmc830): [0x0b] = 0x7c061
[     5.690614s] ERROR(board_artiq::hmc830_7043::hmc830): [0x0c] = 0x0000
[     5.697040s] ERROR(board_artiq::hmc830_7043::hmc830): [0x0f] = 0x0081
[     5.703465s] ERROR(board_artiq::hmc830_7043::hmc830): [0x10] = 0x00f0
[     5.709891s] ERROR(board_artiq::hmc830_7043::hmc830): [0x11] = 0x0a2e
[     5.716316s] ERROR(board_artiq::hmc830_7043::hmc830): [0x12] = 0x0000
[     5.722742s] ERROR(board_artiq::hmc830_7043::hmc830): [0x13] = 0x1259
panic at src/libcore/result.rs:945: cannot initialize HMC830/7043: "HMC830 lock
timeout"
gkasprow commented 6 years ago

@marmeladapk did you use version which @hartytp prepared with settings identical to my FORTH code?

hartytp commented 6 years ago

@marmeladapk I'm seeing the same as you. One thing I don't understand is why 0x04 reads 0x0000...