ZHCSFY3B November 2016 – February 2019 TAS2559
PRODUCTION DATA.
The TI Smart Amp software is loaded into program ram (PRAM) through writes to mapped memory registers. The encrypted binary software is downloaded and decoded on chip. Therefore read-back of the PRAM is disabled. However an 8-bit CRC checksum is provided to the customer to verify the code was correctly written to PRAM error-free. Once the software download is complete, the calculated 8-bit CRC checksum can be read from register CRC_CHECKSUM. If this value matches the checksum supplied with the program, the load to PRAM was successful. If new PRAM code is loaded the TAS2559 device should first be software or hardware reset to clear the CRC checksum register so that a proper checksum from the new code to be loaded.
The following is an example script used to load the DSP software and verify the CRC checksum.
#############################################################################################
#This script is a demo for downloading the PRAM code and checking CRC checksum
i i2cstd
#mclk expected is 24.576 MHz
#configuring device registers for 8 ohm speaker load
########################### DEVICE INIT SEQ START##############################################
w 98 00 00 #Page-0
w 98 7f 00 #Book-0
w 98 01 01 #Software reset
d 1 # wait 100us time for OTP-One Time Programmable memory values to be transferred to device
##### INIT SECTION START
w 98 7f 64 # book 100
w 98 46 01 # IRAM boot
w 98 7f 00 # book 0
##### INIT SECTION END
##### DSP PROG SETTING START
w 98 7f 64
w 98 00 01
#add writes for download to PRAM here
w 98 00 00
w 98 7f 00
##### DSP PROG SETTING END
########################### DEVICE INIT SEQ END ###############################################
r 98 20 1 # reading the CRC checksum for the PRAM download , if read = CRC checksum provided to customer => PRAM download success
################### CHANNEL POWER UP ####################################################
w 98 05 A3 # Power up Analog Blocks
w 98 04 B8 # Power up DSP and clock dividers
w 98 07 00 # Unmute Analog Blocks
w 98 7f 64 # switch to book100
w 98 07 00 # Soft stepped unmute of audio playback
############################################################################################
##### DSP coeff update START
# d 1
# DSP filter coefficient update if required
##### DSP coeff update END
############device powered up and running##########
################### CHANNEL POWER DOWN ####################################################
w 98 07 01 # Soft stepped mute of audio playback
d 10 # wait for DSP to mute classD after soft step down of audio
# instead of delay alternatively status flag B120_P15_R120_R121_R122_R123 polling can be done and wait till R122_D0 = '1'.
w 98 7f 00 # switch to book0
w 98 07 03 # Mute Analog Blocks
w 98 04 20 # Power down DSP and clock dividers (except Ndivider)
w 98 05 00 # Power down Analog Blocks
w 98 00 00 # NOP
w 98 04 00 # Power down Ndivider
#############################################################################################
#optional(ending the script in B0_P0)
w 98 00 00 # page 0
w 98 7f 00 # book 0
#############################################################################################