DA14531 Crystal Trimming Using SmartSnippets Toolbox

Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at https://www.dialog-semiconductor.com/support . We’ll be fixing bugs / optimising the searching and tagging over the coming days.
2 posts / 0 new
Last post
Last seen: 1 year 6 months ago
Joined: 2015-11-05 18:33
DA14531 Crystal Trimming Using SmartSnippets Toolbox


I am using the SmartSnippets Toolbox to perform RF testing. I can read and write the XTAL Trim value from RF Master and see the improvements in offset error in my BLE transmissions with my spectrum analyzer.

What is the correct method to program this trim value into the OTP? In the configuration script, I have tried setting the Trim/Calibration value: GP_CLK_TRIM to my desired value (0x8B). I burned this to the OTP and can read it back correctly. However, it does not affect the trim value of my crystal on boot. I do not wish to use the production line testing tool and its crystal trimming method at this time.



Last seen: 5 months 2 weeks ago
Joined: 2018-02-08 11:03
Hi mbwjr12,

Hi mbwjr12,

Thanks for your question. You are partially correct. The calculated trim value should be writte  into the OTP Configuration Scrip but not in the GP_CLK_TRIM. The CLK_FREQ_TRIM_REG should be configured with the trim value. Please check the otp_cs.c file from the SDK and line 224. This piece of code copies the trim value if  it  is written to the OTP CS to . In order to burn the trim value in the OTP CS, you should do the following steps.

  1. Open SS Toolbox (through JTAG or through UART) and go to the OTP Header.
  2. Open the Configuration Script (CS) and change the “Add command type” field to “Register Configuration”.
  3. The “Manage Configuration Script” pop-up window will be appeared. Press “Select”.
  4. Search for the CLK_FREQ_TRIM_REG and press “OK”.
  5. Set the register value (in hex) with you calculated trim value and press “ OK” .
  6. Then burn the OTP Header and the correct trim value should be applied on boot.

Thanks, PM_Dialog