In [1]:
# Waveform Calc
dclk_period = 100e-9 # Typ 100ns == 10MHz Max 12MHz
waveform_bits = 4 # bits
waveform_size = 2040*2 # nibbles
# calc
ph_wave_datasize = waveform_size*waveform_bits # bits
ph_wave_speed = waveform_bits/dclk_period # bit/s
ph_download_time = 1/ph_wave_speed*ph_wave_datasize
## SPI Access
spi_clk = 1e-3 # 1us
spi_access_datasize = 32 # bits
spi_access_time = 71e-6 # 71us
# calc
spi_nbrOfAccess = ph_wave_datasize/spi_access_datasize
spi_access_speed = spi_access_datasize/spi_access_time # bit/s
spi_download_time = 1/spi_access_speed*ph_wave_datasize
print("Xaar 1003 PH Waveform")
print("PH Waveform Size = {} bytes".format(ph_wave_datasize/8))
print("PH Waveform Download Speed = {} kBytes/s = {} MBytes/s".format(ph_wave_speed/(8*1024), ph_wave_speed/(8*1024*1024)))
print("PH Waveform Download Time = {} ms".format(ph_download_time*1000))
print("")
print("Xaar 1003 SPI Waveform")
print("Number of SPI Accesses used = {}".format(spi_nbrOfAccess))
print("SPI Speed = {} kBytes/s = {} MBytes/s".format(spi_access_speed/(8*1024),spi_access_speed/(8*1024*1024)))
print("SPI Waveform Download Time = {} ms".format(spi_download_time*1000))