521
© SCILLC, 2017 Previous Edition © 2016 “All Rights Reserved” RSL10 Hardware Reference M-20829-008 October 2017

RSL10 Hardware Reference - Mouser Electronics · RSL10 Hardware Reference M-20829-008 October 2017. RSL10 Hardware Reference Sections of this manual relating to the ARM Cortex-M3

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

  • © SCILLC, 2017Previous Edition © 2016“All Rights Reserved”

    RSL10 Hardware Reference

    M-20829-008October 2017

  • RSL10 Hardware Reference

    Sections of this manual relating to the ARM Cortex-M3 processor have been republished from the Cortex-M3 Technical Reference (version r2p1) with permission.

    ON Semiconductor and are registered trademarks of Semiconductor Components Industries, LLC (SCILLC). ARM, the ARM logo and Cortex are trademarks or registered trademarks of ARM Ltd. Bluetooth is a registered trademark of Bluetooth SIG, Inc. SCILLC owns the rights to a number of patents, trademarks, copyrights, trade secrets, and other intellectual property. A listing of SCILLC’s product/patent coverage may be accessed at www.onsemi.com/site/pdf/Patent-Marking.pdf. SCILLC reserves the right to make changes without further notice to any products herein. SCILLC makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does SCILLC assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation special, consequential or incidental damages. “Typical” parameters which may be provided in SCILLC data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including “Typicals” must be validated for each customer application by customer’s technical experts. SCILLC does not convey any license under its patent rights nor the rights of others. SCILLC products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the SCILLC product could create a situation where personal injury or death may occur. Should Buyer purchase or use SCILLC products for any such unintended or unauthorized application, Buyer shall indemnify and hold SCILLC and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that SCILLC was negligent regarding the design or manufacture of the part. SCILLC is an Equal Opportunity/Affirmative Action Employer. This literature is subject to all applicable copyright laws and is not for resale in any manner.

    PUBLICATION ORDERING INFORMATION

    LITERATURE FULFILLMENT:Literature Distribution Center for ON SemiconductorP.O. Box 5163, Denver, Colorado 80217 USAPhone: 303-675-2175 or 800-344-3860 Toll Free USA/CanadaFax: 303-675-2176 or 800-344-3867 Toll Free USA/CanadaEmail: [email protected]

    N. American Technical Support: 800-282-9855 Toll Free USA/Canada

    Europe, Middle East and Africa Technical Support: Phone: 421 33 790 2910

    Japan Customer Focus Center: Phone: 81-3-5817-1050

    ON Semiconductor Website: www.onsemi.com

    Order Literature: http://www.onsemi.com/orderlit

    For additional information, please contact your local Sales Representative

  • ON Semiconductor

    www.onsemi.com3

    Page1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

    1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181.2 Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . .181.3 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181.4 Manual Organization . . . . . . . . . . . . . . . . . . . . . . . . . .181.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

    2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . .202.2 Radio System Architecture . . . . . . . . . . . . . . . . . . . . . . . .212.3 Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222.4 Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232.5 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232.6 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242.7 Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252.8 Audio Components . . . . . . . . . . . . . . . . . . . . . . . . . . .252.9 SoC Identification . . . . . . . . . . . . . . . . . . . . . . . . . . .25

    2.9.1 Device Identification Register . . . . . . . . . . . . . . . . . . . . . 262.9.1.1 AHBREGS_CHIP_ID_NUM . . . . . . . . . . . . . . . . . . . 26

    3. ARM Cortex-M3 Processor . . . . . . . . . . . . . . . . . . . . . . . . . . .283.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

    3.1.1 ARM Cortex-M3 Processor Loop Cache Register . . . . . . . . . . . . . . . 283.1.1.1 SYSCTRL_CSS_LOOP_CACHE_CFG . . . . . . . . . . . . . . . . 29

    3.2 Debug Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293.2.1 Debug Port Register. . . . . . . . . . . . . . . . . . . . . . . . . 30

    3.2.1.1 DBG_LOCK . . . . . . . . . . . . . . . . . . . . . . . . . 303.3 IP Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

    3.3.1 IP Protection Registers . . . . . . . . . . . . . . . . . . . . . . . . 313.3.1.1 SYSCTRL_DBG_LOCK . . . . . . . . . . . . . . . . . . . . . 313.3.1.2 SYSCTRL_DBG_LOCK_KEY . . . . . . . . . . . . . . . . . . . 32

    3.4 Activity Counters . . . . . . . . . . . . . . . . . . . . . . . . . . .323.4.1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    3.4.1.1 SYSCTRL_CNT_CTRL . . . . . . . . . . . . . . . . . . . . . 333.4.1.2 SYSCTRL_SYSCLK_CNT . . . . . . . . . . . . . . . . . . . . 333.4.1.3 SYSCTRL_CM3_CNT . . . . . . . . . . . . . . . . . . . . . 333.4.1.4 SYSCTRL_LPDSP32_CNT . . . . . . . . . . . . . . . . . . . . 333.4.1.5 SYSCTRL_FLASH_READ_CNT . . . . . . . . . . . . . . . . . . 33

    4. LPDSP32 Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .344.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .344.2 System Integration . . . . . . . . . . . . . . . . . . . . . . . . . . .344.3 Memory Support . . . . . . . . . . . . . . . . . . . . . . . . . . . .344.4 Interrupt Handling . . . . . . . . . . . . . . . . . . . . . . . . . . .354.5 LPDSP32 Debug Port . . . . . . . . . . . . . . . . . . . . . . . . . 354.6 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

    4.6.1 SYSCTRL_DSS_CTRL . . . . . . . . . . . . . . . . . . . . . . . 36

    Table of Contents

  • RSL10 Hardware Reference

    www.onsemi.com4

    4.6.2 SYSCTRL_DSS_CMD . . . . . . . . . . . . . . . . . . . . . . . . 364.6.3 SYSCTRL_DSS_LOOP_CACHE_CFG . . . . . . . . . . . . . . . . . . 374.6.4 SYSCTRL_LPDSP32_DEBUG_CFG . . . . . . . . . . . . . . . . . . . 37

    5. Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.1 Power Supply Overview . . . . . . . . . . . . . . . . . . . . . . . . . 38

    5.1.1 Power Management Unit . . . . . . . . . . . . . . . . . . . . . . . 395.2 Power Supply Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    5.2.1 Battery Supply Voltage (VBAT) . . . . . . . . . . . . . . . . . . . . . 395.2.2 Digital Output Supply Voltage (VDDO) . . . . . . . . . . . . . . . . . . 40

    5.3 Internal Power Supply Voltages . . . . . . . . . . . . . . . . . . . . . . 405.3.1 System Supply Voltage (VCC) . . . . . . . . . . . . . . . . . . . . . 40

    5.3.1.1 VCC and DC-DC Converter Registers . . . . . . . . . . . . . . . . . 425.3.1.1.1 ACS_VCC_CTRL . . . . . . . . . . . . . . . . . . . . . 42

    5.3.2 Internal Band Gap Reference Voltage . . . . . . . . . . . . . . . . . . . 435.3.2.1 Bandgap Converter Registers . . . . . . . . . . . . . . . . . . . . 43

    5.3.2.1.1 ACS_BG_CTRL . . . . . . . . . . . . . . . . . . . . . . 445.3.3 RF Supply Voltage . . . . . . . . . . . . . . . . . . . . . . . . . 44

    5.3.3.1 RF Block Configuration and Control Registers . . . . . . . . . . . . . . 455.3.3.1.1 ACS_VDDRF_CTRL . . . . . . . . . . . . . . . . . . . . 455.3.3.1.2 ACS_VDDPA_CTRL . . . . . . . . . . . . . . . . . . . . 46

    5.3.4 Digital Supply Voltages . . . . . . . . . . . . . . . . . . . . . . . . 465.3.4.1 Digital Supply Configuration / Control Registers. . . . . . . . . . . . . . 47

    5.3.4.1.1 ACS_VDDC_CTRL. . . . . . . . . . . . . . . . . . . . . 485.3.4.1.2 ACS_VDDM_CTRL . . . . . . . . . . . . . . . . . . . . 485.3.4.1.3 ACS_VDDRET_CTRL. . . . . . . . . . . . . . . . . . . . 49

    5.3.5 Analog Supply Voltage (VDDA) . . . . . . . . . . . . . . . . . . . . . 505.3.5.1 Analog Voltage Configuration and Control Registers . . . . . . . . . . . . 51

    5.3.5.1.1 ACS_VDDA_CP_CTRL . . . . . . . . . . . . . . . . . . . 515.4 Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    5.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.4.2 Measuring Power Mode Current Consumption . . . . . . . . . . . . . . . . 515.4.3 Run Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.4.4 Standby Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    5.4.4.1 Wakeup Sources . . . . . . . . . . . . . . . . . . . . . . . . 525.4.4.2 ACS_PWR_MODES_CTRL . . . . . . . . . . . . . . . . . . . . 535.4.4.3 ACS_WAKEUP_CFG . . . . . . . . . . . . . . . . . . . . . . 535.4.4.4 ACS_WAKEUP_STATE . . . . . . . . . . . . . . . . . . . . . 55

    5.4.5 Sleep Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.4.5.1 Wakeup from Retention Memory in Sleep Mode . . . . . . . . . . . . . . 57

    5.4.6 ACS_WAKEUP_CTRL. . . . . . . . . . . . . . . . . . . . . . . . 595.4.7 SYSCTRL_MEM_ACCESS_CFG . . . . . . . . . . . . . . . . . . . . 615.4.8 SYSCTRL_WAKEUP_ADDR . . . . . . . . . . . . . . . . . . . . . 635.4.9 SYSCTRL_WAKEUP_PAD . . . . . . . . . . . . . . . . . . . . . . 63

  • ON Semiconductor

    www.onsemi.com5

    5.4.10 ACS_WAKEUP_GP_DATA . . . . . . . . . . . . . . . . . . . . . . 635.5 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    5.5.1 Reset Status Register . . . . . . . . . . . . . . . . . . . . . . . . 655.5.1.1 DIG_RESET_STATUS . . . . . . . . . . . . . . . . . . . . . . 66

    5.5.2 ACS_RESET_STATUS. . . . . . . . . . . . . . . . . . . . . . . . 675.6 Analog Test Signals . . . . . . . . . . . . . . . . . . . . . . . . . . 68

    5.6.1 Analog Output Configuration Register . . . . . . . . . . . . . . . . . . . 695.6.2 ACS_AOUT_CTRL . . . . . . . . . . . . . . . . . . . . . . . . . 69

    6. Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736.2 Clock Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    6.2.1 RC Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . 756.2.2 48 MHz Crystal Oscillator . . . . . . . . . . . . . . . . . . . . . . . 756.2.3 Standby RC Oscillator . . . . . . . . . . . . . . . . . . . . . . . . 756.2.4 32 kHz Crystal Oscillator . . . . . . . . . . . . . . . . . . . . . . . 766.2.5 External Clock Input (EXTCLK) . . . . . . . . . . . . . . . . . . . . 766.2.6 Debug Port Clock . . . . . . . . . . . . . . . . . . . . . . . . . 776.2.7 Clock Generation Registers . . . . . . . . . . . . . . . . . . . . . . 77

    6.2.7.1 ACS_RCOSC_CTRL . . . . . . . . . . . . . . . . . . . . . . 776.2.7.2 ACS_XTAL32K_CTRL . . . . . . . . . . . . . . . . . . . . . 78

    6.3 Clock Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . 796.3.1 System Clock (SYSCLK) . . . . . . . . . . . . . . . . . . . . . . . 796.3.2 Standby Clock (STANDBYCLK) . . . . . . . . . . . . . . . . . . . . 806.3.3 Slow Clock (SLOWCLK) . . . . . . . . . . . . . . . . . . . . . . . 806.3.4 Baseband Clock (BBCLK) and Other Clocks for the Bluetooth Low Energy Baseband . . . . 816.3.5 Real-Time Clock (RTC). . . . . . . . . . . . . . . . . . . . . . . . 816.3.6 User Clock (USRCLK) . . . . . . . . . . . . . . . . . . . . . . . . 826.3.7 Power Supply Clocks . . . . . . . . . . . . . . . . . . . . . . . . 826.3.8 Interface Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . 826.3.9 Clock Distribution Registers . . . . . . . . . . . . . . . . . . . . . . 84

    6.3.9.1 CLK_SYS_CFG . . . . . . . . . . . . . . . . . . . . . . . . 846.3.9.2 CLK_DIV_CFG0 . . . . . . . . . . . . . . . . . . . . . . . 856.3.9.3 CLK_DIV_CFG1 . . . . . . . . . . . . . . . . . . . . . . . 856.3.9.4 CLK_DIV_CFG2 . . . . . . . . . . . . . . . . . . . . . . . 876.3.9.5 ACS_RTC_CFG . . . . . . . . . . . . . . . . . . . . . . . . 886.3.9.6 ACS_RTC_COUNT. . . . . . . . . . . . . . . . . . . . . . . 886.3.9.7 ACS_RTC_CTRL . . . . . . . . . . . . . . . . . . . . . . . 88

    6.4 Clock Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . 896.4.1 Clock Detector and System Monitor . . . . . . . . . . . . . . . . . . . . 896.4.2 External Clock Detector . . . . . . . . . . . . . . . . . . . . . . . 906.4.3 Clock Detector Registers . . . . . . . . . . . . . . . . . . . . . . . 91

    6.4.3.1 CLK_DET_CFG . . . . . . . . . . . . . . . . . . . . . . . . 916.4.3.2 CLK_DET_STATUS . . . . . . . . . . . . . . . . . . . . . . 926.4.3.3 ACS_CLK_DET_CTRL . . . . . . . . . . . . . . . . . . . . . 92

  • RSL10 Hardware Reference

    www.onsemi.com6

    7. Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947.1 Memory Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 94

    7.1.1 Memory Instances . . . . . . . . . . . . . . . . . . . . . . . . . 947.1.2 Memory Buses . . . . . . . . . . . . . . . . . . . . . . . . . . 957.1.3 Memory Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . 95

    7.2 Memory Map and Usage . . . . . . . . . . . . . . . . . . . . . . . . 967.2.1 ARM Cortex-M3 Processor Memory Usage . . . . . . . . . . . . . . . . . 967.2.2 Flash Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . 98

    7.2.2.1 Non-Volatile Record (NVR) Sectors . . . . . . . . . . . . . . . . . . 987.2.2.2 Redundancy Sectors . . . . . . . . . . . . . . . . . . . . . . . 997.2.2.3 Error — Correction Coding . . . . . . . . . . . . . . . . . . . . 997.2.2.4 Flash Delay Timings. . . . . . . . . . . . . . . . . . . . . . . 100

    7.2.3 RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1007.2.3.1 Program RAM . . . . . . . . . . . . . . . . . . . . . . . . 1007.2.3.2 Data RAM . . . . . . . . . . . . . . . . . . . . . . . . . . 1017.2.3.3 Shared RAM Instances . . . . . . . . . . . . . . . . . . . . . . 101

    7.2.4 Other Memory Mapped Areas . . . . . . . . . . . . . . . . . . . . . . 1027.2.4.1 Peripherals and Interfaces . . . . . . . . . . . . . . . . . . . . . 1027.2.4.2 Private Peripherals . . . . . . . . . . . . . . . . . . . . . . . 102

    7.2.5 LPDSP32 DSP Memory Usage . . . . . . . . . . . . . . . . . . . . . 1027.2.5.1 Program Memory . . . . . . . . . . . . . . . . . . . . . . . 1027.2.5.2 Data Memory . . . . . . . . . . . . . . . . . . . . . . . . . 103

    7.2.6 Bluetooth Low Energy Baseband (BB) Memory Usage . . . . . . . . . . . . . . 1057.2.6.1 Exchange Memory . . . . . . . . . . . . . . . . . . . . . . . 105

    7.3 Flash Memory Operations . . . . . . . . . . . . . . . . . . . . . . . . 1057.3.1 Reading and Writing Flash Memory . . . . . . . . . . . . . . . . . . . . 1057.3.2 Low Power Read Mode . . . . . . . . . . . . . . . . . . . . . . . . 1077.3.3 Sequential / Non-Sequential Writing. . . . . . . . . . . . . . . . . . . . 107

    7.3.3.1 Non-Sequential Write . . . . . . . . . . . . . . . . . . . . . . 1077.3.3.2 Sequential Write . . . . . . . . . . . . . . . . . . . . . . . . 107

    7.3.4 Locking / Unlocking Mechanism . . . . . . . . . . . . . . . . . . . . . 1087.3.4.1 Locking Mechanism. . . . . . . . . . . . . . . . . . . . . . . 1087.3.4.2 Unlocking Mechanism . . . . . . . . . . . . . . . . . . . . . . 108

    7.4 Flash Copier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087.4.1 Block Characteristics . . . . . . . . . . . . . . . . . . . . . . . . 108

    7.5 Memory Registers . . . . . . . . . . . . . . . . . . . . . . . . . . 1107.5.1 SYSCTRL_FLASH_OVERLAY_CFG . . . . . . . . . . . . . . . . . . . 1107.5.2 SYSCTRL_FLASH_READ_CNT . . . . . . . . . . . . . . . . . . . . 1117.5.3 SYSCTRL_MEM_ERROR . . . . . . . . . . . . . . . . . . . . . . 1117.5.4 SYSCTRL_MEM_POWER_CFG . . . . . . . . . . . . . . . . . . . . 1127.5.5 SYSCTRL_MEM_ACCESS_CFG . . . . . . . . . . . . . . . . . . . . 1147.5.6 SYSCTRL_MEM_RETENTION_CFG. . . . . . . . . . . . . . . . . . . 1167.5.7 SYSCTRL_MEM_ARBITER_CFG . . . . . . . . . . . . . . . . . . . . 1177.5.8 SYSCTRL_MEM_TIMING_CFG . . . . . . . . . . . . . . . . . . . . 120

  • ON Semiconductor

    www.onsemi.com7

    7.6 Flash Memory Registers . . . . . . . . . . . . . . . . . . . . . . . . . 1217.6.1 FLASH_IF_CTRL . . . . . . . . . . . . . . . . . . . . . . . . . 1217.6.2 FLASH_MAIN_WRITE_UNLOCK. . . . . . . . . . . . . . . . . . . . 1227.6.3 FLASH_MAIN_CTRL . . . . . . . . . . . . . . . . . . . . . . . . 1237.6.4 FLASH_DELAY_CTRL . . . . . . . . . . . . . . . . . . . . . . . 1237.6.5 FLASH_CMD_CTRL . . . . . . . . . . . . . . . . . . . . . . . . 1247.6.6 FLASH_IF_STATUS . . . . . . . . . . . . . . . . . . . . . . . . 1257.6.7 FLASH_ADDR . . . . . . . . . . . . . . . . . . . . . . . . . . 1277.6.8 FLASH_DATA . . . . . . . . . . . . . . . . . . . . . . . . . . 1277.6.9 FLASH_NVR_WRITE_UNLOCK . . . . . . . . . . . . . . . . . . . . 1277.6.10 FLASH_NVR_CTRL . . . . . . . . . . . . . . . . . . . . . . . . 1277.6.11 FLASH_PATCH_ADDR . . . . . . . . . . . . . . . . . . . . . . . 1287.6.12 FLASH_COPY_CFG . . . . . . . . . . . . . . . . . . . . . . . . 1287.6.13 FLASH_COPY_CTRL . . . . . . . . . . . . . . . . . . . . . . . 1297.6.14 FLASH_COPY_SRC_ADDR_PTR . . . . . . . . . . . . . . . . . . . 1297.6.15 FLASH_COPY_DST_ADDR_PTR . . . . . . . . . . . . . . . . . . . 1297.6.16 FLASH_COPY_WORD_CNT . . . . . . . . . . . . . . . . . . . . . 1307.6.17 FLASH_ECC_CTRL . . . . . . . . . . . . . . . . . . . . . . . . 1307.6.18 FLASH_ECC_STATUS . . . . . . . . . . . . . . . . . . . . . . . 1307.6.19 FLASH_ECC_ERROR_ADDR . . . . . . . . . . . . . . . . . . . . . 1317.6.20 FLASH_ECC_UNCOR_ERROR_CNT . . . . . . . . . . . . . . . . . . 1317.6.21 FLASH_ECC_COR_ERROR_CNT . . . . . . . . . . . . . . . . . . . 131

    8. RF Front-End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1338.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

    8.1.1 SYSCTRL_RF_POWER_CFG . . . . . . . . . . . . . . . . . . . . . 1358.1.2 SYSCTRL_RF_ACCESS_CFG . . . . . . . . . . . . . . . . . . . . . 135

    8.2 System Integration . . . . . . . . . . . . . . . . . . . . . . . . . . 1358.2.1 48 MHz Crystal Oscillator . . . . . . . . . . . . . . . . . . . . . . . 136

    8.3 Packet Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . 1368.3.1 Packet Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

    8.3.1.1 Preamble . . . . . . . . . . . . . . . . . . . . . . . . . . 1388.3.1.2 Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . 1388.3.1.3 Packet Length. . . . . . . . . . . . . . . . . . . . . . . . . 1398.3.1.4 Address. . . . . . . . . . . . . . . . . . . . . . . . . . . 1398.3.1.5 Multi-Frame . . . . . . . . . . . . . . . . . . . . . . . . . 140

    8.3.2 CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1408.3.3 Accessing the FIFOs. . . . . . . . . . . . . . . . . . . . . . . . . 1418.3.4 FIFO Status . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

    8.4 Modulator and Radio Configuration . . . . . . . . . . . . . . . . . . . . . 1428.4.1 Radio Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 143

    8.4.1.1 Data Rate . . . . . . . . . . . . . . . . . . . . . . . . . . 1438.4.1.1.1 Fractional Data Rate. . . . . . . . . . . . . . . . . . . . . 143

    8.4.1.2 Central Frequency . . . . . . . . . . . . . . . . . . . . . . . 143

  • RSL10 Hardware Reference

    www.onsemi.com8

    8.4.1.3 Channels . . . . . . . . . . . . . . . . . . . . . . . . . . 1448.4.2 Tx Specific Configuration . . . . . . . . . . . . . . . . . . . . . . . 144

    8.4.2.1 Pulse Shape . . . . . . . . . . . . . . . . . . . . . . . . . 1448.4.2.2 Modulation Index . . . . . . . . . . . . . . . . . . . . . . . 1458.4.2.3 Interpolator . . . . . . . . . . . . . . . . . . . . . . . . . 1468.4.2.4 Power Amplifier (PA) Source . . . . . . . . . . . . . . . . . . . . 146

    8.4.3 Rx Specific Configuration . . . . . . . . . . . . . . . . . . . . . . . 1478.4.3.1 Channel Filter Configuration . . . . . . . . . . . . . . . . . . . . 1478.4.3.2 Phase and RSSI Fractional Decimation . . . . . . . . . . . . . . . . . 1478.4.3.3 Carrier Recovery . . . . . . . . . . . . . . . . . . . . . . . . 149

    8.4.3.3.1 Rough Carrier Recovery . . . . . . . . . . . . . . . . . . . 1498.4.3.3.2 Fine Carrier Recovery . . . . . . . . . . . . . . . . . . . . 1498.4.3.3.3 Carrier Recovery Boundaries . . . . . . . . . . . . . . . . . . 1508.4.3.3.4 RSSI Detection . . . . . . . . . . . . . . . . . . . . . . 1518.4.3.3.5 Delay Line Synchronization . . . . . . . . . . . . . . . . . . 153

    8.4.3.4 Matched Filtering . . . . . . . . . . . . . . . . . . . . . . . 1538.4.3.5 Clock and Data-Rate Recovery . . . . . . . . . . . . . . . . . . . 1548.4.3.6 Decision . . . . . . . . . . . . . . . . . . . . . . . . . . 156

    8.4.3.6.1 Viterbi Algorithm . . . . . . . . . . . . . . . . . . . . . 1568.4.3.7 RSSI Filtering and AGC . . . . . . . . . . . . . . . . . . . . . 156

    8.4.3.7.1 Peak Detector . . . . . . . . . . . . . . . . . . . . . . . 1578.4.3.7.2 RSSI and Peak-Detector Combined AGC Strategy . . . . . . . . . . . 158

    8.4.4 Continuous Wave (CW) Configuration . . . . . . . . . . . . . . . . . . . 1588.5 RF Front-End Registers . . . . . . . . . . . . . . . . . . . . . . . . . 159

    8.5.1 RF_REG00 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1608.5.2 RF_REG01 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1618.5.3 RF_REG02 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1628.5.4 RF_REG03 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1638.5.5 RF_REG04 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1648.5.6 RF_REG05 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1658.5.7 RF_CENTER_FREQ . . . . . . . . . . . . . . . . . . . . . . . . 1668.5.8 RF_REG07 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1668.5.9 RF_REG08 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1678.5.10 RF_REG09 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1688.5.11 RF_REG0A . . . . . . . . . . . . . . . . . . . . . . . . . . . 1698.5.12 RF_SYNC_PATTERN. . . . . . . . . . . . . . . . . . . . . . . . 1708.5.13 RF_REG0C . . . . . . . . . . . . . . . . . . . . . . . . . . . 1708.5.14 RF_CRC_POLYNOMIAL . . . . . . . . . . . . . . . . . . . . . . 1718.5.15 RF_CRC_RST . . . . . . . . . . . . . . . . . . . . . . . . . . 1718.5.16 RF_REG0F . . . . . . . . . . . . . . . . . . . . . . . . . . . 1718.5.17 RF_REG10 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1728.5.18 RF_TX_PULSE0 . . . . . . . . . . . . . . . . . . . . . . . . . 1738.5.19 RF_TX_PULSE1 . . . . . . . . . . . . . . . . . . . . . . . . . 173

  • ON Semiconductor

    www.onsemi.com9

    8.5.20 RF_TX_PULSE2 . . . . . . . . . . . . . . . . . . . . . . . . . 1748.5.21 RF_TX_PULSE3 . . . . . . . . . . . . . . . . . . . . . . . . . 1748.5.22 RF_RX_PULSE. . . . . . . . . . . . . . . . . . . . . . . . . . 1758.5.23 RF_REG16 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1758.5.24 RF_REG17 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1768.5.25 RF_REG18 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1778.5.26 RF_REG19 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1788.5.27 RF_REG1A . . . . . . . . . . . . . . . . . . . . . . . . . . . 1798.5.28 RF_REG1B . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808.5.29 RF_AGC_LUT1 . . . . . . . . . . . . . . . . . . . . . . . . . 1818.5.30 RF_AGC_LUT2 . . . . . . . . . . . . . . . . . . . . . . . . . 1818.5.31 RF_AGC_LUT3 . . . . . . . . . . . . . . . . . . . . . . . . . 1818.5.32 RF_AGC_LUT4 . . . . . . . . . . . . . . . . . . . . . . . . . 1828.5.33 RF_REG20 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1828.5.34 RF_AGC_ATT1. . . . . . . . . . . . . . . . . . . . . . . . . . 1838.5.35 RF_REG22 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1848.5.36 RF_REG23 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1848.5.37 RF_REG24 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1858.5.38 RF_REG25 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1868.5.39 RF_REG26 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1868.5.40 RF_REG27 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1878.5.41 RF_REG28 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1888.5.42 RF_PLL_CTRL . . . . . . . . . . . . . . . . . . . . . . . . . . 1898.5.43 RF_REG2A . . . . . . . . . . . . . . . . . . . . . . . . . . . 1918.5.44 RF_XTAL_CTRL . . . . . . . . . . . . . . . . . . . . . . . . . 1918.5.45 RF_REG2C . . . . . . . . . . . . . . . . . . . . . . . . . . . 1938.5.46 RF_REG2D . . . . . . . . . . . . . . . . . . . . . . . . . . . 1948.5.47 RF_REG2E . . . . . . . . . . . . . . . . . . . . . . . . . . . 1958.5.48 RF_REG2F . . . . . . . . . . . . . . . . . . . . . . . . . . . 1968.5.49 RF_REG30 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988.5.50 RF_REG31 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1998.5.51 RF_REG32 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1998.5.52 RF_TXFIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . 1998.5.53 RF_RXFIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . 1998.5.54 RF_DESER_STATUS . . . . . . . . . . . . . . . . . . . . . . . . 1998.5.55 RF_IRQ_STATUS . . . . . . . . . . . . . . . . . . . . . . . . . 2008.5.56 RF_REG37 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008.5.57 RF_REG38 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008.5.58 RF_REG39 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008.5.59 RF_REVISION . . . . . . . . . . . . . . . . . . . . . . . . . . 201

    9. Bluetooth Low Energy Baseband . . . . . . . . . . . . . . . . . . . . . . . . . 2039.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

  • RSL10 Hardware Reference

    www.onsemi.com10

    9.1.1 Bluetooth Baseband Error Handling . . . . . . . . . . . . . . . . . . . . 2049.1.2 Support Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . 206

    9.2 Baseband Registers and Memory Usage . . . . . . . . . . . . . . . . . . . . 2069.2.1 Baseband Abstraction Layer Primitives . . . . . . . . . . . . . . . . . . . 2079.2.2 Control Structures . . . . . . . . . . . . . . . . . . . . . . . . . 207

    9.3 Baseband Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . 2089.3.1 Clock Structures . . . . . . . . . . . . . . . . . . . . . . . . . . 208

    9.3.1.1 ACS_BB_TIMER_CTRL . . . . . . . . . . . . . . . . . . . . . 2099.3.2 Slot Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099.3.3 Timing and Event-Related Interrupts . . . . . . . . . . . . . . . . . . . 210

    9.3.3.1 Schedule Interrupt . . . . . . . . . . . . . . . . . . . . . . . 2109.3.3.2 End of Event Interrupt . . . . . . . . . . . . . . . . . . . . . . 2129.3.3.3 Reception Interrupt . . . . . . . . . . . . . . . . . . . . . . . 2129.3.3.4 Wakeup Interrupt . . . . . . . . . . . . . . . . . . . . . . . . 2139.3.3.5 Software Interrupt . . . . . . . . . . . . . . . . . . . . . . . 2149.3.3.6 Encryption Interrupt . . . . . . . . . . . . . . . . . . . . . . . 214

    9.4 Baseband Registers . . . . . . . . . . . . . . . . . . . . . . . . . . 2149.4.1 BBIF_CTRL . . . . . . . . . . . . . . . . . . . . . . . . . . . 2179.4.2 BBIF_STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . 2179.4.3 BBIF_COEX_CTRL . . . . . . . . . . . . . . . . . . . . . . . . 2189.4.4 BBIF_COEX_STATUS . . . . . . . . . . . . . . . . . . . . . . . . 2199.4.5 BBIF_COEX_INT_CFG . . . . . . . . . . . . . . . . . . . . . . . 2199.4.6 BBIF_COEX_INT_STATUS . . . . . . . . . . . . . . . . . . . . . . 2209.4.7 BBIF_SYNC_CFG . . . . . . . . . . . . . . . . . . . . . . . . . 2209.4.8 BB_RWBBCNTL . . . . . . . . . . . . . . . . . . . . . . . . . 2219.4.9 BB_VERSION . . . . . . . . . . . . . . . . . . . . . . . . . . 2239.4.10 BB_RWBLEBCONF . . . . . . . . . . . . . . . . . . . . . . . . 2239.4.11 BB_INTCNTL . . . . . . . . . . . . . . . . . . . . . . . . . . 2249.4.12 BB_INTSTAT . . . . . . . . . . . . . . . . . . . . . . . . . . 2269.4.13 BB_INTRAWSTAT . . . . . . . . . . . . . . . . . . . . . . . . 2279.4.14 BB_INTACK . . . . . . . . . . . . . . . . . . . . . . . . . . 2289.4.15 BB_BASETIMECNT . . . . . . . . . . . . . . . . . . . . . . . . 2309.4.16 BB_FINETIMECNT . . . . . . . . . . . . . . . . . . . . . . . . 2309.4.17 BB_BDADDRL. . . . . . . . . . . . . . . . . . . . . . . . . . 2309.4.18 BB_BDADDRU . . . . . . . . . . . . . . . . . . . . . . . . . 2319.4.19 BB_ET_CURRENTRXDESCPTR . . . . . . . . . . . . . . . . . . . . 2319.4.20 BB_DEEPSLCNTL . . . . . . . . . . . . . . . . . . . . . . . . 2319.4.21 BB_DEEPSLWKUP . . . . . . . . . . . . . . . . . . . . . . . . 2329.4.22 BB_DEEPSLSTAT . . . . . . . . . . . . . . . . . . . . . . . . . 2329.4.23 BB_ENBPRESET . . . . . . . . . . . . . . . . . . . . . . . . . 2339.4.24 BB_FINECNTCORR . . . . . . . . . . . . . . . . . . . . . . . . 2339.4.25 BB_BASETIMECNTCORR . . . . . . . . . . . . . . . . . . . . . . 2339.4.26 BB_DIAGCNTL . . . . . . . . . . . . . . . . . . . . . . . . . 233

  • ON Semiconductor

    www.onsemi.com11

    9.4.27 BB_DIAGSTAT. . . . . . . . . . . . . . . . . . . . . . . . . . 2349.4.28 BB_DEBUGADDMAX . . . . . . . . . . . . . . . . . . . . . . . 2349.4.29 BB_DEBUGADDMIN . . . . . . . . . . . . . . . . . . . . . . . 2359.4.30 BB_ERRORTYPESTAT . . . . . . . . . . . . . . . . . . . . . . . 2359.4.31 BB_SWPROFILING . . . . . . . . . . . . . . . . . . . . . . . . 2379.4.32 BB_RADIOCNTL0 . . . . . . . . . . . . . . . . . . . . . . . . 2379.4.33 BB_RADIOCNTL1 . . . . . . . . . . . . . . . . . . . . . . . . 2389.4.34 BB_RADIOCNTL2 . . . . . . . . . . . . . . . . . . . . . . . . 2399.4.35 BB_RADIOPWRUPDN0. . . . . . . . . . . . . . . . . . . . . . . 2399.4.36 BB_RADIOPWRUPDN1. . . . . . . . . . . . . . . . . . . . . . . 2399.4.37 BB_RADIOTXRXTIM0 . . . . . . . . . . . . . . . . . . . . . . . 2409.4.38 BB_RADIOTXRXTIM1 . . . . . . . . . . . . . . . . . . . . . . . 2409.4.39 BB_SPIPTRCNTL0 . . . . . . . . . . . . . . . . . . . . . . . . 2409.4.40 BB_SPIPTRCNTL1 . . . . . . . . . . . . . . . . . . . . . . . . 2419.4.41 BB_SPIPTRCNTL2 . . . . . . . . . . . . . . . . . . . . . . . . 2419.4.42 BB_ADVCHMAP . . . . . . . . . . . . . . . . . . . . . . . . . 2419.4.43 BB_ADVTIM . . . . . . . . . . . . . . . . . . . . . . . . . . 2419.4.44 BB_ACTSCANSTAT . . . . . . . . . . . . . . . . . . . . . . . . 2429.4.45 BB_WLPUBADDPTR . . . . . . . . . . . . . . . . . . . . . . . 2429.4.46 BB_WLPRIVADDPTR . . . . . . . . . . . . . . . . . . . . . . . 2429.4.47 BB_WLNBDEV . . . . . . . . . . . . . . . . . . . . . . . . . 2429.4.48 BB_AESCNTL . . . . . . . . . . . . . . . . . . . . . . . . . . 2439.4.49 BB_AESKEY31_0 . . . . . . . . . . . . . . . . . . . . . . . . . 2439.4.50 BB_AESKEY63_32 . . . . . . . . . . . . . . . . . . . . . . . . 2439.4.51 BB_AESKEY95_64 . . . . . . . . . . . . . . . . . . . . . . . . 2439.4.52 BB_AESKEY127_96 . . . . . . . . . . . . . . . . . . . . . . . . 2449.4.53 BB_AESPTR . . . . . . . . . . . . . . . . . . . . . . . . . . 2449.4.54 BB_TXMICVAL . . . . . . . . . . . . . . . . . . . . . . . . . 2449.4.55 BB_RXMICVAL . . . . . . . . . . . . . . . . . . . . . . . . . 2449.4.56 BB_RFTESTCNTL . . . . . . . . . . . . . . . . . . . . . . . . 2449.4.57 BB_RFTESTTXSTAT. . . . . . . . . . . . . . . . . . . . . . . . 2459.4.58 BB_RFTESTRXSTAT. . . . . . . . . . . . . . . . . . . . . . . . 2469.4.59 BB_TIMGENCNTL . . . . . . . . . . . . . . . . . . . . . . . . 2469.4.60 BB_GROSSTIMTGT . . . . . . . . . . . . . . . . . . . . . . . . 2469.4.61 BB_FINETIMTGT. . . . . . . . . . . . . . . . . . . . . . . . . 2469.4.62 BB_COEXIFCNTL0 . . . . . . . . . . . . . . . . . . . . . . . . 2479.4.63 BB_COEXIFCNTL1 . . . . . . . . . . . . . . . . . . . . . . . . 2499.4.64 BB_COEXIFCNTL2 . . . . . . . . . . . . . . . . . . . . . . . . 2509.4.65 BB_BBMPRIO0 . . . . . . . . . . . . . . . . . . . . . . . . . 2509.4.66 BB_BBMPRIO1 . . . . . . . . . . . . . . . . . . . . . . . . . 2519.4.67 BB_RALPTR . . . . . . . . . . . . . . . . . . . . . . . . . . 2519.4.68 BB_RALNBDEV . . . . . . . . . . . . . . . . . . . . . . . . . 251

  • RSL10 Hardware Reference

    www.onsemi.com12

    9.4.69 BB_RAL_LOCAL_RND . . . . . . . . . . . . . . . . . . . . . . . 2529.4.70 BB_RAL_PEER_RND . . . . . . . . . . . . . . . . . . . . . . . 2529.4.71 BB_ISOCHANCNTL0 . . . . . . . . . . . . . . . . . . . . . . . 2529.4.72 BB_ISOMUTECNTL0 . . . . . . . . . . . . . . . . . . . . . . . 2539.4.73 BB_ISOCURRENTTXPTR0 . . . . . . . . . . . . . . . . . . . . . 2539.4.74 BB_ISOCURRENTRXPTR0 . . . . . . . . . . . . . . . . . . . . . 2549.4.75 BB_ISOTRCNL0 . . . . . . . . . . . . . . . . . . . . . . . . . 2549.4.76 BB_ISOEVTCNTLOFFSETL0 . . . . . . . . . . . . . . . . . . . . . 2549.4.77 BB_ISOEVTCNTLOFFSETU0. . . . . . . . . . . . . . . . . . . . . 2549.4.78 BB_ISOCHANCNTL1 . . . . . . . . . . . . . . . . . . . . . . . 2559.4.79 BB_ISOMUTECNTL1 . . . . . . . . . . . . . . . . . . . . . . . 2559.4.80 BB_ISOCURRENTTXPTR1 . . . . . . . . . . . . . . . . . . . . . 2569.4.81 BB_ISOCURRENTRXPTR1 . . . . . . . . . . . . . . . . . . . . . 2569.4.82 BB_ISOTRCNL1 . . . . . . . . . . . . . . . . . . . . . . . . . 2579.4.83 BB_ISOEVTCNTLOFFSETL1 . . . . . . . . . . . . . . . . . . . . . 2579.4.84 BB_ISOEVTCNTLOFFSETU1. . . . . . . . . . . . . . . . . . . . . 2579.4.85 BB_ISOCHANCNTL2 . . . . . . . . . . . . . . . . . . . . . . . 2579.4.86 BB_ISOMUTECNTL2 . . . . . . . . . . . . . . . . . . . . . . . 2589.4.87 BB_ISOCURRENTTXPTR2 . . . . . . . . . . . . . . . . . . . . . 2599.4.88 BB_ISOCURRENTRXPTR2 . . . . . . . . . . . . . . . . . . . . . 2599.4.89 BB_ISOTRCNL2 . . . . . . . . . . . . . . . . . . . . . . . . . 2599.4.90 BB_ISOEVTCNTLOFFSETL2 . . . . . . . . . . . . . . . . . . . . . 2599.4.91 BB_ISOEVTCNTLOFFSETU2. . . . . . . . . . . . . . . . . . . . . 2609.4.92 BB_BBPRIOSCHARB . . . . . . . . . . . . . . . . . . . . . . . 260

    10. Digital Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26110.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26110.2 Functional Configuration . . . . . . . . . . . . . . . . . . . . . . . . 261

    10.2.1 Special Functional Configurations . . . . . . . . . . . . . . . . . . . . 26410.3 Physical Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 26510.4 DIO Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

    10.4.1 DIO_CFG . . . . . . . . . . . . . . . . . . . . . . . . . . . 26610.4.2 DIO_DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . 26910.4.3 DIO_DIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27210.4.4 DIO_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . 27510.4.5 DIO_INT_CFG . . . . . . . . . . . . . . . . . . . . . . . . . . 27610.4.6 DIO_INT_DEBOUNCE . . . . . . . . . . . . . . . . . . . . . . . 27710.4.7 DIO_PCM_SRC . . . . . . . . . . . . . . . . . . . . . . . . . 27810.4.8 DIO_SPI_SRC . . . . . . . . . . . . . . . . . . . . . . . . . . 28010.4.9 DIO_UART_SRC . . . . . . . . . . . . . . . . . . . . . . . . . 28210.4.10 DIO_I2C_SRC. . . . . . . . . . . . . . . . . . . . . . . . . . 28210.4.11 DIO_AUDIOSINK_SRC . . . . . . . . . . . . . . . . . . . . . . 28410.4.12 DIO_NMI_SRC . . . . . . . . . . . . . . . . . . . . . . . . . 28410.4.13 DIO_BB_RX_SRC . . . . . . . . . . . . . . . . . . . . . . . . 285

  • ON Semiconductor

    www.onsemi.com13

    10.4.14 DIO_BB_SPI_SRC . . . . . . . . . . . . . . . . . . . . . . . . 28810.4.15 DIO_RF_SPI_SRC . . . . . . . . . . . . . . . . . . . . . . . . 28910.4.16 DIO_RF_GPIO03_SRC . . . . . . . . . . . . . . . . . . . . . . . 29210.4.17 DIO_RF_GPIO47_SRC . . . . . . . . . . . . . . . . . . . . . . . 29510.4.18 DIO_RF_GPIO89_SRC . . . . . . . . . . . . . . . . . . . . . . . 29810.4.19 DIO_DMIC_SRC . . . . . . . . . . . . . . . . . . . . . . . . . 29910.4.20 DIO_LPDSP32_JTAG_SRC . . . . . . . . . . . . . . . . . . . . . 30110.4.21 DIO_JTAG_SW_PAD_CFG . . . . . . . . . . . . . . . . . . . . . 30310.4.22 DIO_EXTCLK_CFG. . . . . . . . . . . . . . . . . . . . . . . . 30310.4.23 DIO_PAD_CFG . . . . . . . . . . . . . . . . . . . . . . . . . 304

    11. Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30511.1 Analog-to-Digital Converters (ADCs) . . . . . . . . . . . . . . . . . . . . 305

    11.1.1 ADC Input Configuration . . . . . . . . . . . . . . . . . . . . . . . 30511.1.2 ADC Sampling Configuration . . . . . . . . . . . . . . . . . . . . . 30511.1.3 ADC Output Data . . . . . . . . . . . . . . . . . . . . . . . . . 30711.1.4 Power Supply Monitoring. . . . . . . . . . . . . . . . . . . . . . . 30711.1.5 ADC and Power Supply Monitoring Interrupt . . . . . . . . . . . . . . . . 30811.1.6 ADC Registers . . . . . . . . . . . . . . . . . . . . . . . . . . 308

    11.1.6.1 ADC_DATA_TRIM_CH . . . . . . . . . . . . . . . . . . . . . 30811.1.6.2 ADC_DATA_AUDIO_CH . . . . . . . . . . . . . . . . . . . . 30811.1.6.3 ADC_INPUT_SEL. . . . . . . . . . . . . . . . . . . . . . . 30911.1.6.4 ADC_CFG . . . . . . . . . . . . . . . . . . . . . . . . . 30911.1.6.5 ADC_OFFSET . . . . . . . . . . . . . . . . . . . . . . . . 31011.1.6.6 ADC_BATMON_CFG . . . . . . . . . . . . . . . . . . . . . 31011.1.6.7 ADC_BATMON_INT_ENABLE . . . . . . . . . . . . . . . . . . 31111.1.6.8 ADC_BATMON_COUNT_VAL . . . . . . . . . . . . . . . . . . 31211.1.6.9 ADC_BATMON_STATUS . . . . . . . . . . . . . . . . . . . . 312

    11.2 General-Purpose I/O (GPIO) Interface . . . . . . . . . . . . . . . . . . . . 31211.2.1 GPIO Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . 313

    11.3 I2C Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31311.3.1 Slave Mode Specific Configuration. . . . . . . . . . . . . . . . . . . . 31711.3.2 Master Mode Specific Configuration . . . . . . . . . . . . . . . . . . . 31811.3.3 I2C Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . 319

    11.3.3.1 Operation Using Manual Acknowledgement . . . . . . . . . . . . . . . 31911.3.3.2 Operation Using Auto Acknowledgement . . . . . . . . . . . . . . . 320

    11.3.4 I2C Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . 32011.3.4.1 I2C_CTRL0 . . . . . . . . . . . . . . . . . . . . . . . . . 32011.3.4.2 I2C_CTRL1 . . . . . . . . . . . . . . . . . . . . . . . . . 32211.3.4.3 I2C_DATA . . . . . . . . . . . . . . . . . . . . . . . . . 32211.3.4.4 I2C_DATA_M . . . . . . . . . . . . . . . . . . . . . . . . 32211.3.4.5 I2C_ADDR_START . . . . . . . . . . . . . . . . . . . . . . 32311.3.4.6 I2C_STATUS . . . . . . . . . . . . . . . . . . . . . . . . 323

    11.4 Pulse Code Modulation (PCM) Interface . . . . . . . . . . . . . . . . . . . 32511.4.1 PCM Signal Configuration . . . . . . . . . . . . . . . . . . . . . . 326

  • RSL10 Hardware Reference

    www.onsemi.com14

    11.4.1.1 Frame Signal Configuration and Timing . . . . . . . . . . . . . . . . 32611.4.1.2 Data Serial Input and Output Configuration . . . . . . . . . . . . . . . 329

    11.4.2 PCM Interrupt Configuration. . . . . . . . . . . . . . . . . . . . . . 32911.4.3 I2S Configuration and Usage. . . . . . . . . . . . . . . . . . . . . . 32911.4.4 PCM Registers . . . . . . . . . . . . . . . . . . . . . . . . . . 332

    11.4.4.1 PCM_CTRL . . . . . . . . . . . . . . . . . . . . . . . . . 33211.4.4.2 PCM_TX_DATA . . . . . . . . . . . . . . . . . . . . . . . 33311.4.4.3 PCM_RX_DATA . . . . . . . . . . . . . . . . . . . . . . . 33311.4.4.4 PCM_STATUS . . . . . . . . . . . . . . . . . . . . . . . . 333

    11.5 Pulse Width Modulation (PWM) . . . . . . . . . . . . . . . . . . . . . . 33411.5.1 PWM Registers . . . . . . . . . . . . . . . . . . . . . . . . . . 335

    11.5.1.1 PWM_CFG . . . . . . . . . . . . . . . . . . . . . . . . . 33511.5.1.2 PWM_CTRL . . . . . . . . . . . . . . . . . . . . . . . . 336

    11.6 Serial Peripheral Interfaces (SPI) . . . . . . . . . . . . . . . . . . . . . 33611.6.1 SPI Data Transfers . . . . . . . . . . . . . . . . . . . . . . . . . 33611.6.2 SPI Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . 33811.6.3 SPI DMA Control . . . . . . . . . . . . . . . . . . . . . . . . . 33911.6.4 SPI Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . 339

    11.6.4.1 SPI0_CTRL0 . . . . . . . . . . . . . . . . . . . . . . . . 33911.6.4.2 SPI0_CTRL1 . . . . . . . . . . . . . . . . . . . . . . . . 34111.6.4.3 SPI0_TX_DATA . . . . . . . . . . . . . . . . . . . . . . . 34211.6.4.4 SPI0_RX_DATA . . . . . . . . . . . . . . . . . . . . . . . 34211.6.4.5 SPI0_STATUS . . . . . . . . . . . . . . . . . . . . . . . . 34211.6.4.6 SPI1_CTRL0 . . . . . . . . . . . . . . . . . . . . . . . . 34311.6.4.7 SPI1_CTRL1 . . . . . . . . . . . . . . . . . . . . . . . . 34411.6.4.8 SPI1_TX_DATA . . . . . . . . . . . . . . . . . . . . . . . 34511.6.4.9 SPI1_RX_DATA . . . . . . . . . . . . . . . . . . . . . . . 34511.6.4.10 SPI1_STATUS. . . . . . . . . . . . . . . . . . . . . . . . 345

    11.7 Universal Asynchronous Receiver-Transmitter (UART) Interfaces . . . . . . . . . . . 34511.7.1 UART Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . 34711.7.2 UART Interface Registers. . . . . . . . . . . . . . . . . . . . . . . 347

    11.7.2.1 UART_CFG . . . . . . . . . . . . . . . . . . . . . . . . . 34711.7.2.2 UART_TX_DATA . . . . . . . . . . . . . . . . . . . . . . . 34811.7.2.3 UART_RX_DATA . . . . . . . . . . . . . . . . . . . . . . . 34811.7.2.4 UART_STATUS . . . . . . . . . . . . . . . . . . . . . . . 348

    11.8 Support Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 34812. Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

    12.1 Cyclic Redundancy Check (CRC) Generator . . . . . . . . . . . . . . . . . . 35112.1.1 CRC Registers . . . . . . . . . . . . . . . . . . . . . . . . . . 352

    12.1.1.1 CRC_CTRL . . . . . . . . . . . . . . . . . . . . . . . . . 35212.1.1.2 CRC_VALUE . . . . . . . . . . . . . . . . . . . . . . . . 35312.1.1.3 CRC_ADD_1 . . . . . . . . . . . . . . . . . . . . . . . . 35312.1.1.4 CRC_ADD_8 . . . . . . . . . . . . . . . . . . . . . . . . 35312.1.1.5 CRC_ADD_16 . . . . . . . . . . . . . . . . . . . . . . . . 35412.1.1.6 CRC_ADD_24 . . . . . . . . . . . . . . . . . . . . . . . . 354

  • ON Semiconductor

    www.onsemi.com15

    12.1.1.7 CRC_ADD_32 . . . . . . . . . . . . . . . . . . . . . . . . 35412.1.1.8 CRC_FINAL . . . . . . . . . . . . . . . . . . . . . . . . 354

    12.2 Direct Memory Access (DMA) Controller . . . . . . . . . . . . . . . . . . 35412.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 35412.2.2 DMA Channel Configuration . . . . . . . . . . . . . . . . . . . . . 35512.2.3 Word Size, Data Packing and Transfer Length . . . . . . . . . . . . . . . . 357

    12.2.3.1 Word Size . . . . . . . . . . . . . . . . . . . . . . . . . 35712.2.3.2 Data Packing . . . . . . . . . . . . . . . . . . . . . . . . 35712.2.3.3 Transfer Length . . . . . . . . . . . . . . . . . . . . . . . . 360

    12.2.4 DMA Transfer Types . . . . . . . . . . . . . . . . . . . . . . . . 36012.2.4.1 Memory-to-Memory (MM) . . . . . . . . . . . . . . . . . . . . 36212.2.4.2 Memory-to-Peripheral . . . . . . . . . . . . . . . . . . . . . . 36212.2.4.3 Peripheral-to-Memory (PM) . . . . . . . . . . . . . . . . . . . . 36312.2.4.4 Peripheral-to-Peripheral (PP) . . . . . . . . . . . . . . . . . . . 363

    12.2.5 DMA Interrupt Configuration . . . . . . . . . . . . . . . . . . . . . 36412.2.6 Channel Priority. . . . . . . . . . . . . . . . . . . . . . . . . . 36512.2.7 Data Memory Usage by the DMA and ARM Cortex-M3 Processor. . . . . . . . . . 36512.2.8 DMA Registers . . . . . . . . . . . . . . . . . . . . . . . . . . 366

    12.2.8.1 DMA_CTRL0 . . . . . . . . . . . . . . . . . . . . . . . . 36812.2.8.2 DMA_SRC_BASE_ADDR . . . . . . . . . . . . . . . . . . . . 37112.2.8.3 DMA_DEST_BASE_ADDR . . . . . . . . . . . . . . . . . . . 37112.2.8.4 DMA_CTRL1 . . . . . . . . . . . . . . . . . . . . . . . . 37112.2.8.5 DMA_NEXT_SRC_ADDR . . . . . . . . . . . . . . . . . . . . 37212.2.8.6 DMA_NEXT_DEST_ADDR . . . . . . . . . . . . . . . . . . . 37212.2.8.7 DMA_WORD_CNT . . . . . . . . . . . . . . . . . . . . . . 37212.2.8.8 DMA_STATUS . . . . . . . . . . . . . . . . . . . . . . . . 372

    12.3 Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37312.3.1 Starting or Stopping Timers . . . . . . . . . . . . . . . . . . . . . . 37412.3.2 Mode Selection . . . . . . . . . . . . . . . . . . . . . . . . . . 37412.3.3 Timer Registers . . . . . . . . . . . . . . . . . . . . . . . . . . 374

    12.3.3.1 TIMER_CFG . . . . . . . . . . . . . . . . . . . . . . . . 37512.3.3.2 TIMER_CTRL . . . . . . . . . . . . . . . . . . . . . . . . 37612.3.3.3 TIMER_VAL . . . . . . . . . . . . . . . . . . . . . . . . 376

    12.4 Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . 37612.4.1 Watchdog Registers . . . . . . . . . . . . . . . . . . . . . . . . 377

    12.4.1.1 WATCHDOG_CFG . . . . . . . . . . . . . . . . . . . . . . 37712.4.1.2 WATCHDOG_CTRL . . . . . . . . . . . . . . . . . . . . . . 378

    13. Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37913.1 Digital Microphone (DMIC) Inputs . . . . . . . . . . . . . . . . . . . . . 379

    13.1.1 Digital Microphone and Shared Digital Microphone/Output Driver Registers . . . . . . 38113.1.1.1 AUDIO_CFG . . . . . . . . . . . . . . . . . . . . . . . . 38113.1.1.2 AUDIO_STATUS . . . . . . . . . . . . . . . . . . . . . . . 38313.1.1.3 AUDIO_DMIC_CFG . . . . . . . . . . . . . . . . . . . . . . 38413.1.1.4 AUDIO_DMIC0_GAIN . . . . . . . . . . . . . . . . . . . . . 38613.1.1.5 AUDIO_DMIC1_GAIN . . . . . . . . . . . . . . . . . . . . . 386

  • RSL10 Hardware Reference

    www.onsemi.com16

    13.1.1.6 AUDIO_DMIC_DATA . . . . . . . . . . . . . . . . . . . . . 38713.1.1.7 AUDIO_DMIC0_DATA . . . . . . . . . . . . . . . . . . . . . 38713.1.1.8 AUDIO_DMIC1_DATA . . . . . . . . . . . . . . . . . . . . . 387

    13.2 Output Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . 38713.2.1 Output Driver Registers . . . . . . . . . . . . . . . . . . . . . . . 389

    13.2.1.1 AUDIO_OD_CFG . . . . . . . . . . . . . . . . . . . . . . . 38913.2.1.2 AUDIO_OD_GAIN . . . . . . . . . . . . . . . . . . . . . . 39013.2.1.3 AUDIO_OD_DATA . . . . . . . . . . . . . . . . . . . . . . 39113.2.1.4 AUDIO_SDM_CFG . . . . . . . . . . . . . . . . . . . . . . 391

    13.3 Audio Sink Clock Counters . . . . . . . . . . . . . . . . . . . . . . . 39113.3.1 Audio Sink Registers . . . . . . . . . . . . . . . . . . . . . . . . 393

    13.3.1.1 AUDIOSINK_CTRL . . . . . . . . . . . . . . . . . . . . . . 39313.3.1.2 AUDIOSINK_CFG . . . . . . . . . . . . . . . . . . . . . . 39513.3.1.3 AUDIOSINK_CNT . . . . . . . . . . . . . . . . . . . . . . 39513.3.1.4 AUDIOSINK_PHASE_CNT . .