0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
ISM14585-L35-P8

ISM14585-L35-P8

  • 厂商:

    INVENTEKSYSTEMS

  • 封装:

    SMD35

  • 描述:

    ISM14585-L35-P8

  • 数据手册
  • 价格&库存
ISM14585-L35-P8 数据手册
ISM14585-L35 Specification ISM14585-L35 BLE 5.0 SiP Preliminary Data Sheet 5.0 BLE + Cortex M0 + PMU + PA + RTC + Flash DOC-DS-14585-201807-1.0 Confidential Page 1 Inventek Systems ISM14585-L35 Specification Table of Contents 1 PART NUMBER DETAIL DESCRIPTION .......................................................................................................4 1.1 Ordering Information ..................................................................................................................................4 1.2 For additional configuration options please contact Inventek Systems: .....................................................4 2 OVERVIEW ........................................................................................................................................................5 3 FEATURES .........................................................................................................................................................6 3.1 Feature Highlights: .....................................................................................................................................6 3.2 Application Examples.................................................................................................................................8 3.3 Key Benefits ...............................................................................................................................................9 3.4 Limitations ..................................................................................................................................................9 3.5 Regulatory Compliance .............................................................................................................................. 9 4 COMPLEMENTARY DOCUMENTATION .................................................................................................... 10 4.1 EVB .......................................................................................................................................................... 10 5 ISM14585-L35 SoC & SiP BLOCK DIAGRAMS ............................................................................................ 10 6 Electrical Specification ...................................................................................................................................... 12 6.1 Absolute Maximum Rating ...................................................................................................................... 12 6.2 Recommendable Operation Condition ..................................................................................................... 12 6.2.1 Temperature, Humidity ........................................................................................................................ 12 6.2.2 Voltage................................................................................................................................................. 12 6.3 Current Consumption ............................................................................................................................... 13 6.3.1 BLUETOOTH LOW ENERGY .......................................................................................................... 13 7 RF Specification ................................................................................................................................................. 13 7.1 RF Transmitter Specification .................................................................................................................... 13 7.1.1 BLE RF SPECIFICATION ................................................................................................................. 13 8 Pin Definition ..................................................................................................................................................... 14 8.1 Detail pin definition information .............................................................................................................. 14 8.2 Development Mode Peripheral Pin Mapping ........................................................................................... 16 9 Addition Information ......................................................................................................................................... 16 9.1 Microcontroller Unit ................................................................................................................................. 16 9.2 External Reset ........................................................................................................................................... 17 9.2.1 POR, HW AND SW RESET ............................................................................................................... 17 9.2.2 POWER-ON RESET FUNCTIONALITY .......................................................................................... 19 9.3 DMA Controller ....................................................................................................................................... 21 Figure 7 DMA Controller Block Diagram ................................................................................................................... 22 9.3.1 DMA PERIPHERALS ......................................................................................................................... 22 The list of peripherals that can request for a DMA service is presented in below table .............................................. 22 9.3.2 INPUT/OUTPUT MULTIPLEXER .................................................................................................... 23 9.3.3 DMA CHANNEL OPERATION ........................................................................................................ 23 9.3.4 DMA ARBITRATION ........................................................................................................................ 24 9.3.5 FREEZING DMA CHANNELS .......................................................................................................... 25 9.4 I2C Interface ............................................................................................................................................. 25 9.5 I2C BUS TERMS ..................................................................................................................................... 27 9.5.2 I2C BEHAVIOR .................................................................................................................................. 29 9.5.3 I2C PROTOCOLS ............................................................................................................................... 31 9.5.4 MULTIPLE MASTER ARBITRATION............................................................................................. 36 9.5.5 CLOCK SYNCHRONIZATION ......................................................................................................... 37 9.5.6 OPERATION MODES ........................................................................................................................ 38 9.5.7 DISABLING THE I2C CONTROLLER ............................................................................................. 44 9.6 UART ....................................................................................................................................................... 45 9.6.1 UART (RS232) SERIAL PROTOCOL ............................................................................................... 46 9.6.2 IRDA 1.0 SIR PROTOCOL ................................................................................................................ 47 DOC-DS-14585-201807-1.0 Confidential Page 2 Inventek Systems ISM14585-L35 Specification 9.6.3 CLOCK SUPPORT ............................................................................................................................. 49 9.6.4 CLOCK SUPPORT ............................................................................................................................. 49 9.6.5 PROGRAMMABLE THRE INTERRUPT ......................................................................................... 50 9.6.6 SHADOW REGISTERS ...................................................................................................................... 52 9.6.7 DIRECT TEST MODE ........................................................................................................................ 53 9.7 SPI+ Interface ........................................................................................................................................... 53 9.7.1 OPERATION WITHOUT FIFOS ....................................................................................................... 54 9.8 Wake-Up Timer ........................................................................................................................................ 58 9.9 General Purpose Timers ........................................................................................................................... 60 9.9.1 TIMER 0 .............................................................................................................................................. 60 9.9.2 TIMER 2 .............................................................................................................................................. 63 9.10 Watchdog Timer ....................................................................................................................................... 66 9.11 Input/Output Ports .................................................................................................................................... 68 9.11.1 PROGRAMMABLE PIN ASSIGNMENT ..................................................................................... 69 9.11.2 GENERAL PURPOSE PORT REGISTERS .................................................................................. 69 9.12 General Purpose ADC .............................................................................................................................. 71 9.12.1 INPUT CHANNELS AND INPUT SCALE ................................................................................... 72 9.12.2 STARTING THE ADC AND SAMPLING RATE ........................................................................ 72 9.12.3 NON-IDEAL EFFECTS ................................................................................................................. 73 9.12.4 CHOPPING..................................................................................................................................... 73 9.12.5 OFFSET CALIBRATION .............................................................................................................. 74 9.12.6 ZERO-SCALE ADJUSTMENT ..................................................................................................... 75 9.12.7 COMMON MODE ADJUSTMENT .............................................................................................. 75 9.12.8 INPUT IMPEDANCE, INDUCTANCE, AND INPUT SETTLING .............................................. 75 9.12.9 COMMON MODE ADJUSTMENT .............................................................................................. 76 9.12.10 Sample Rate Converter (SRC) ........................................................................................................ 77 9.12.11 SRC ARCHITECTURE .................................................................................................................. 78 9.13 PDM Interface .......................................................................................................................................... 80 9.14 PCM Controller ........................................................................................................................................ 82 9.14.1 PCM ARCHITECTURE ................................................................................................................. 83 10 MECHANICAL SPECIFICATION ................................................................................................................... 90 10.1 Size of the Module .................................................................................................................................... 90 10.2 Mechanical Dimension ............................................................................................................................. 90 11 Recommend Footprint (Board Design) .............................................................................................................. 91 11.1 Module Dimension Measurement ............................................................................................................. 91 11.2 The X-Y Central Location Coordinates .................................................................................................... 92 12 Recommend Stencil ........................................................................................................................................... 94 13 Recommended Reflow Profile ........................................................................................................................... 95 14 Package and Storage Condition ......................................................................................................................... 95 14.1 Package Dimension .................................................................................................................................. 95 15 REVISION CONTROL ..................................................................................................................................... 96 16 CONTACT INFORMATION ............................................................................................................................ 96 DOC-DS-14585-201807-1.0 Confidential Page 3 Inventek Systems ISM14585-L35 Specification 1 PART NUMBER DETAIL DESCRIPTION 1.1 Ordering Information Device ISM14585 ISM14585-EVB Description BLE 5.0 + Cortex M0 Module with integrated PMU, RTC, PA, 8Mb of Flash and internal antenna BLE 5.0 + Cortex M0 Module with integrated PMU, RTC, PA, 8Mb of Flash and internal antenna EVB (Evaluation Board) Standard Ordering Number ISM14585-L35-P8 ISM14585-L35-P8-EVB 1.2 For additional configuration options please contact Inventek Systems: DOC-DS-14585-201807-1.0 Confidential Page 4 Inventek Systems ISM14585-L35 Specification 2 OVERVIEW The Inventek Systems ISM14585-L35 SiP (System in Package), is the smallest, lowest power and most integrated Bluetooth® 5.0 solution available. The ISM14585-L35 platform is the first BLE module from Inventek's FLEXiBLE product family. The ISM14585-L35 SiP is an embedded wireless Bluetooth Low Energy (BLE) IoT radio, based on the Dialog Semiconductor DA14585 radio SoC (System on Chip). The ISM14585-L35 offers designers all the benefits of the industry-leading DA14580 technology but with even greater flexibility to create more advanced applications from the smallest footprints and power budgets. The ISM14585-L35 is ideal for applications such as remote controls, beacons, connected sensors and innovative medical devices. Among the new features, the ISM14585-L35 supports Data Packet Length Extension, Link Layer Privacy v1.2, Secure Connections, Bluetooth low energy Mesh and Efficient connectable Advertising. The ISM14585-L35 integrated Audio Unit (AU) is equipped with a Pulse-Density Modulation (PDM) interface that can be connected to up to 2 input devices (e.g. MEMS microphones) or output devices, a PulseCode modulation (PCM) controller which provides an up to 192 kHz synchronous interface to external audio devices, ISDN circuits and serial data interfaces (I2S) and a 24-bit Sample Rate Converting unit (SRC) used to convert the sampling rate of audio samples between the various interfaces. PDM and PCM functionality can be mapped to any GPIO through the user programmable pin logic. An integrated DMA controller handles all data transfers between the AU and the RAM providing the CPU with the freedom to cope with other tasks. The ISM14585-L35 SiP provide smarter, more flexible, and even lower power BLE connectivity with an integrated 32bit CortexTM-M0 (16MHz), processor, an integrated PMU (Power Management Unit), an integrated PA (Power Amplifier), an integrated RTC, 128kB of ROM, 64KB OTP, 1MB SPI Flash as well as a foot print compatible options for an additional integrated 4Mb, 8Mb, or 16Mb of Flash. The ISM14585-L35 SiP provides a number of features and standard peripheral interfaces (see “Features” below), enabling a seamless connection to an embedded design. The ISM14585-L35 is a very versatile SoC and is ideal for adding Bluetooth low energy to products like remote controls, proximity tags, beacons, connected medical devices and smart home nodes. The ISM14585-L35 supports all Bluetooth developments up to and including Bluetooth 5.0. The ISM14585-L35 also includes 96KB of RAM, the ISM14585-L35 has double the memory for User applications of its predecessor to take full advantage of the standard’s features. The ISM14585-L35 also includes an integrated microphone interface for voice support at no additional cost. The wide supply voltage range (0.9 –3.6 V) covering a larger choice of energy sources also enables full design flexibility. DOC-DS-14585-201807-1.0 Confidential Page 5 Inventek Systems ISM14585-L35 Specification The ISM14585-L35 is easy to design-in and supports standalone as well as hosted applications. The ISM14585-L35 is supported by a complete development environment with Dialog’s SmartSnippets™ software that helps customers optimize software for power consumption. The ISM14585-L35 supports several fully qualified profiles embedded in ROM (see “Typical Applications” below), and the option of loading additional profiles into RAM. The low cost, small foot print (6.0mm x 8.6mm x 1.2mm), LGA 35 pin package and ease of design-in make the ISM14585-L35 ideal for a wide range of embedded applications. The ISM14585-L35 enables wireless connectivity to the simplest existing sensor products with minimal engineering effort. ISM14585-L35 reduces development time, lowers manufacturing costs, saves board space, simplifies certification compliance, and minimizes customer RF expertise required during development of target applications. The ISM14585-L35 provides the highest level of integration for a wireless system, with market leading and integrated BLE 5.0 technology based on Dialog’s DA14585 SoC. The ISM14585-L35 is also fully supported by Dialog’s Smartbond product family Development Kit-Pro evaluation board and Dialog SmartSnippets Studio SDK. 3 FEATURES The ISM14585-L35 provides a reduced boot time and supports up to 8 connections. It has a fully integrated radio transceiver and baseband processor for Bluetooth® Low Energy. It can be used as a standalone application processor or as a data pump in hosted systems. The ISM14585-L35 is optimized for remote control units (RCU) requiring support for voice commands and motion/gesture recognition. Its integrated Audio Unit (AU) offers easy interface for MEMS microphones over PDM, external codecs over PCM/I2S and a Sample Rate Converter unit. The ISM14585-L35 Bluetooth Low Energy firmware includes the L2CAP service layer protocols, Security Manager (SM), Attribute Protocol (ATT), the Generic Attribute Profile (GATT) and the Generic Access Profile (GAP). All profiles published by the Bluetooth SIG as well as custom profiles are supported. The transceiver interfaces directly to the antenna and is fully compliant with the Bluetooth 5.0 standard. The ISM14585-L35 has dedicated hardware for the Link Layer implementation of Bluetooth Low Energy and interface controllers for enhanced connectivity capabilities. 3.1 Feature Highlights: DOC-DS-14585-201807-1.0 Confidential Page 6 Inventek Systems ISM14585-L35 Specification • • • • • • • Frequency Band: 2.4GHz Complies to the Bluetooth 5 core specification Suitable for Bluetooth Mesh Supports up to 8 Bluetooth LE connections Network Standard: Bluetooth Low Energy Longest battery life Low operating voltage (1.8 V to 3.6 V) • • • Operating Temperature: -40℃ to 85℃ MSL level 3 Low system Bill of Materials • • FCC, CE, IE and Japan certification in-process Certifications will comply with Bluetooth V5.0, ETSI EN 300, 328 and EN 300 440 Class 2 (Europe), FCC CFR47 Part 15 (US) and ARIB STD-T66 (Japan) • Processing power o 16 MHz 32 bit ARM Cortex-M0 with SWD o interface o Dedicated Link Layer Processor o AES-128 bit encryption Processor • Memory Resources o Large memory to build complex applications o Integrated One-Time-Programmable memory 64 kB (OTP) o 96 kB Data/Retention SRAM o 128 kB ROM o Option for 4Mb or 8Mb integrated Flash • Power Management o Integrated Buck/Boost DCDC converter o P0, P1 and P2 ports with 3.3 V tolerance o Easy decoupling of only 4 supply pins o Supports Coin (typ. 3.0 V) and Alkaline (typ. 1.5 V) battery cells o 1.8 V cold boot support o 10-bit ADC for battery voltage measurement o Integrated Power Amplifier for maximum radio performance DOC-DS-14585-201807-1.0 Confidential Page 7 Inventek Systems ISM14585-L35 Specification • Digital controlled oscillators o 16 MHz crystal (±20 ppm max) and RC oscillator o 32 kHz crystal (±50 ppm, ±500 ppm max) and RCX oscillator • Flexible Reset Circuitry o System & Power-On Reset in a single pin • Fast cold boot in less than 50ms • General-purpose, Capture and Sleep timers • Digital interfaces o Gen. Purpose I/Os: 14 o 2 x UARTs with hardware flow control up to 1 MBd o SPI+™ interface o I2C bus at 100 kHz, 400 kHz o 3-axes capable Quadrature Decoder o I2S and PDM audio interface • Analog interfaces o 4-channel 10-bit ADC • Radio transceiver o Fully integrated 2.4 GHz CMOS transceiver o Single wire antenna: no RF matching, or RX/TX switching required o Supply current at VBAT3V: ▪ TX: 3.4 mA ▪ RX: 3.7 mA (with ideal DCDC) o 0 dBm transmit output power to 10dBm with integrated PA o -20 dBm output power in “Near Field Mode” o -93 dBm receiver sensitivity • Package: o LGA 35, 6.0mm x 8.6mm x 1.2mm 3.2 Application Examples DOC-DS-14585-201807-1.0 Confidential Page 8 Inventek Systems ISM14585-L35 Specification • • • • • • • Voice-controlled remote controls Beacons (Multi-sensor) Wearable devices o Fitness trackers o Consumer health Smartwatches Human interface devices o Keyboard o Mouse Toys Consumer appliances 3.3 Key Benefits • • • Lowest power consumption Smallest system size Lowest system cost 3.4 Limitations Inventek Systems products are not authorized for use in safety-critical applications (such as life support) where a failure of the Inventek Systems product would reasonably be expected to cause severe personal injury or death. 3.5 Regulatory Compliance CE Regulator Status DOC-DS-14585-201807-1.0 Confidential Page 9 Inventek Systems ISM14585-L35 Specification FCC IC RoHS Pending Pending Compliant Inventek Systems FCC, IC, and CE modular transmitter certifications for the ISM14585-L35 SiP is pending completion. These certifications can be used to the advantage of any manufacturer developing a product using these devices. In order to take full advantage of the certifications and remain in compliance, Developers may not interfere, modify, replace and/or enhance the SiP antenna design, layout and power settings. For FCC compliance, End Customer finished products will still need to meet the Declaration of Conformity (SDoC) requirements according to 47 CFR Chapter 1, part 15, subpart B. The testing required for the Declaration of Conformity (SDoC) requirements is specified in sections 15.107 and 15.109. The official documents can be oained from the U.S Government Printing Office online. U.S. Government Printing Office CFR 47. If it is desired to add a connector or U.FL connector in the RF path or change the antenna to one of the same type (chip) with equal or less gain, customers can do so without refiling. Other changes such as a different antenna or adding an antenna diversity switch will require filing for a Class 2 permissive change. Any Class 2 permissive changes must be performed under Inventek’s grant, and therefore must be done in cooperation with Inventek. In addition to this document, Inventek recommends verifying the schematic board design with Inventek Engineering once the schematic is complete for further review and validation. Inventek also provides customers additional certifications for specific countries upon request and an agreed upon service fee. 4 COMPLEMENTARY DOCUMENTATION 4.1 EVB ➢ The Inventek ISM14585-L35 Evaluation Board is the ISM14585-L35-EVB ➢ Please reference the ISM14585-L35-EVB User’s Manual o Evaluation Board Specification o EVB User’s Guide o Design Guidelines 5 ISM14585-L35 SoC & SiP BLOCK DIAGRAMS DIALOG DA14585 Radio w/Audio I/F SoC: DOC-DS-14585-201807-1.0 Confidential Page 10 Inventek Systems ISM14585-L35 Specification Figure 1 Dialog DA14585 SoC Block Diagram INVENTEK ISM14585-L35 SiP: Figure 2 Inventek ISM14585-L35 SiP Block Diagram DOC-DS-14585-201807-1.0 Confidential Page 11 Inventek Systems ISM14585-L35 Specification • • • • • UART SPI I2C GPIO SWD Universal synchronous/asynchronous receiver transmitters Serial Peripheral Interface Inter-Integrated Circuit General-purpose input/output Serial Wire Debug 6 Electrical Specification 6.1 Absolute Maximum Rating Supply Power Storage Temperature Voltage ripple Max +4 Volt - 40° to 125° Celsius +/- 2% Max. Values not exceeding Operating voltage min Max 3.6 Power BT_VBAT Power Supply Absolute Maximum Ratings VDD_PA - 3.6 VDD_FLASH - 3.6 VSS-0.3 VBAT+0.3 Voltage on input or output pin 6.2 Recommendable Operation Condition 6.2.1 Temperature, Humidity The ISM14585-L35 will withstand the operational requirements as listed in the table below. Operating Temperature Humidity range -30° to 85° Celsius Max 95% Non condensing, relative humidity 6.2.2 Voltage The Power supply for the ISM14585-L35 will be provided by the host via the power pins DOC-DS-14585-201807-1.0 Confidential Page 12 Inventek Systems ISM14585-L35 Specification Symbol BT_VBAT VDD_PA VDD_Flash Parameter Min 3 3 3 Typ 3.3 3.3 3.3 Max 3.6 3.6 3.6 Unit V V V 6.3 Current Consumption 6.3.1 BLUETOOTH LOW ENERGY Condition: Condition: 25deg.C Item Condition Tx Mode Transmitter and baseband are both operating, 100% Receiver and baseband are both operating, 100% RX Mode Min Nom TBD Max Unit mA mA TBD 7 RF Specification 7.1 RF Transmitter Specification 7.1.1 BLE RF SPECIFICATION Parameter Frequency Range RX sensea TX Power Mod char: delta f1 average Mod char: delta f2 maxc Mod char: ratio • • • Mode and Condition LE GFSK, 0.1% BER, 1 Mbps N/A Min. Typ. Max. 2402 2480 Unit MHz TBD -80 dBm TBD 225 TBD 275 dBm kHz % % 225 99.9 0.8 0.95 Dirty TX is Off. Up to 1dB of variation may potentially be seen from typical sensitivity specs due to the chip, board, and associated variations. At least 99.9% of all delta F2 max frequency values recorded over 10 packets must be greater than 185 kHz. DOC-DS-14585-201807-1.0 Confidential Page 13 Inventek Systems ISM14585-L35 Specification • Additional specifications to reference is SIG 8 Pin Definition Figure 3. TOP VIEW 8.1 Detail pin definition information Pin Name Pin Number I/O Type Description Radio BT_RF 34 I/O RF I/O antenna port ANT 35 I/O Embedded Antenna Port. Enable: tie to BT_RF pin Disable: tie to GND when not use. NC 27 NA let it not connected. BT_VBAT 25 AI VBAT input pin VDD_PA 32 AI Digital I/O supply voltage VDD_FLASH 19 AI Flash VDD input pin VDCDC 12 AO Output of the DC-DC converter SWITCH 9 AIO VBAT1V 7 AI Antenna Voltage Regulators INPUT/OUTPUT. Connection for the external DC-DC converter inductor. INPUT. Battery connection. Used for an alkaline or a NiMh battery (1.5 V). If a single coin battery (3 V) is attached to pin VBAT3V,this pin must be connected to GND. Straps DOC-DS-14585-201807-1.0 Confidential Page 14 Inventek Systems ISM14585-L35 Specification Pin Name Pin Number I/O Type Description Digital I/O P0_0 18 DIO P0_1 29 DIO P0_2 30 DIO P0_3 17 DIO 23 DIO INPUT/OUTPUT with selectable pull up/down resistor. Pulldown enabled during and after reset. General purpose I/O port bit or alternate function nodes. Contains state retention mechanism during power down. Drive current is 3.5mA P0_4 Note1: P0_1 & P0_2 is connected to control pin of internal PA. 22 DIO P0_6 20 DIO P0_7 16 DIO P1_0 (Note1) 5 DIO P1_1 (Note 1) 4 DIO P1_2 (Note 2) 13 DIO P1_3 (Note 2) 14 DIO SWCLK 2 DIO This signal is the JTAG clock by default SWDIO 3 DIO This signal is the JTAG data I/O by default 29,30 NA 1,6,8,10,12,24, 28,31,33 NA P0_5 Note 2: An increased Packet Error rate might occur if GPIO P1-2 and P1-3 is toggling. The root cause of this problem is the close location of a few GPIO pins to the on-chip 16 MHz XTAL oscillator circuitry. Toggling of these GPIOs might corrupt the clock, which will be visible in the Packet Error Rate. Debug Interface Supplies NC GND RST_N 15 DI Ground INPUT. Reset signal (active high). Must be connected to GND if not used. Note 1 An increased Packet Error rate might occur if GPIO P1-2 and P1-3 is toggling. The root cause of this problem is the close location of a few GPIO pins to the on-chip 16 DOC-DS-14585-201807-1.0 Confidential Page 15 Inventek Systems ISM14585-L35 Specification MHz XTAL oscillator circuitry. Toggling of these GPIOs might corrupt the clock, which will be visible in the Packet Error Rate. 8.2 Development Mode Peripheral Pin Mapping Interface SPI Master UART SPI Slave I2C 9 Signal SCK Step A P0_0 Step B P0_0 CS P0_3 P0_1 MISO P0_6 P0_2 MOSI TX RX Baud Rate SCK P0_5 P0_3 P0_0 P0_1 57600 / 8-N-1 P0_0 P0_2 P0_3 115200 / 8-N-1 P0_4 P0_5 57600 / 8-N-1 P0_6 P0_7 9600 / 8-N-1 CS P0_3 MISO P0_6 MOSI SCL SDA P0_5 P0_2 P0_3 P0_4 P0_5 P0_6 P0_7 P0_0 P0_1 Step C Step D Addition Information 9.1 Microcontroller Unit The ISM14585-L35 includes a Cortex-M0 32-bit Reduced Instruction Set Computing (RISC) processor with a von Neumann architecture (single bus interface). It uses an instruction set called Thumb, which was first supported in the ARM7TDMI processor. However, several newer instructions from the ARMv6 architecture and a few instructions from the Thumb-2 technology are also included. Thumb-2 technology extends the previous Thumb instruction set to allow all operations to be carried out in one CPU state. The instruction set in Thumb-2 includes both 16-bit and 32-bit instructions. Most instructions generated by the C compiler use the 16-bit instructions, and the 32-bit instructions are used when the 16-bit version cannot carry out the required operations. This results in high code density and avoids the overhead of switching between two instruction sets. In total, the Cortex-M0 processor supports 56 base instructions, although some instructions can have more than one form. Although the instruction set is small, the Cortex-M0 processor is highly capable because the Thumb instruction set is highly optimized. Academically, the Cortex-M0 processor is classified as load-store architecture, as it has separate instructions for reading and writing to memory, and instructions for arithmetic or logical operations that use registers. DOC-DS-14585-201807-1.0 Confidential Page 16 Inventek Systems ISM14585-L35 Specification 9.2 External Reset The ISM14585-L35 comprises an RST pad which is active high. It contains an RC filter for spikes suppression with 400kΩ and 2.8pF for the resistor and the capacitor respectively. It also contains a 25kΩ pull-down resistor. This pad should be connected to ground if not needed by the application. The response is illustrated in the Figure 4 which displays the voltage (V) on the vertical axis and the time (μs) on the horizontal axis:. Figure 4. RST Pad Latency The typical latency of the RST pad is in the range of 2us. 9.2.1 POR, HW AND SW RESET The Power-On Reset (POR) signal is generated: ● Internally and will release the system’s flip flops as soon as the VDD voltage crosses the minimum threshold value. ● Externally by a Power-On Reset source (RST pad or GPIO). There are three main reset signals in the ISM14585-L35: 1. The PWR-On reset which is triggered by a GPIO set as POR source with selectable polarity and/or the RST pad after a programmable time delay. DOC-DS-14585-201807-1.0 Confidential Page 17 Inventek Systems ISM14585-L35 Specification 2. The HW reset which is basically triggered by the RST pad when it becomes active for a short period of time (less than the programmable delay for POR). 3. The SW reset which is triggered by writing the SYS_CTRL_REG[SW_RESET] bit. • The HW reset can also be automatically activated upon waking up of the system from the Extended or Deep Sleep mode by programming bit PMU_CTRL_REG [RESET_ON_WAKEUP]. • The PWR-On reset as well as the HW reset will basically run the cold start-up sequence and the BootROM code will be executed. The SW reset is the logical OR of a signal from the ARM CPU (triggered by writing SCB->AIRCR = 0x05FA0004) and the SYS_CTRL_REG[SW_RESET] bit. This is mainly used to reboot the system after the base address has been remapped. The block diagram of the reset block is depicted in Figure 5. Figure 5. Reset Block Diagram Certain registers are reset by POR only or by POR and the HW reset signal, but not by the SW reset. These registers are listed in below table. DOC-DS-14585-201807-1.0 Confidential Page 18 Inventek Systems ISM14585-L35 Specification Reset by POR Only Reset by POR or HW Reset BANDGAP_REG POR_PIN_REG POR_TIMER_REG RF registers containing the trimming values for the VCO, the LNA and the I/O capacitance OTPC_NWORDS_REG CLK_FREQ_TRIM_REG CLK_RADIO_REG All RF calibration registers BLE_CNTL2_REG CLK_CTRL_REG PMU_CTRL_REG SYS_CTRL_REG CLK_32K_REG_I CLK_16M_REG_I CLK_RCX32K_REG TRIM_CTRL_REG DEBUG_REG[DEBUGS_FREEZE_EN] GP_CONTROL_REG[EM_MAP] Reset by POR, HW or SW Reset The rest of the Register File 9.2.2 POWER-ON RESET FUNCTIONALITY Power-On Reset functionality is available by two sources: ● Reset Pad: Reset pad is always capable of producing a Power-On Reset. ● GPIO Pin: A GPIO can be selected by the user application to act as POR source. The time needed for the POReset pin to be active is stored in the POR_TIMER_REG. The register field POR_TIME is a 7-bits field which holds time factor that the total time for POR is calculated. The maximum value of the field is 0x7F. The total time for POR is calculated by the following formula: Total time = POR_TIME x 4096 x RC32k clock period where RC32k clock period = 31.25μs at 25oC . The maximum time that a POR can be performed is ~16.2 seconds at 25oC. The RC32k clock is temperature dependent so based on the temperature span of -10oC to 50oC, clock frequency range is calculated to be 25kHz to 39kHz. Then, TPORcold = 13s TPORhot = 20.8s 9.2.2.1 POR TIMER CLOCK The Power-On Reset timer is clocked by the RC32k clock. If the application disables the RC32k, then the hardware takes care of enabling the RC32k clock when the POR DOC-DS-14585-201807-1.0 Confidential Page 19 Inventek Systems ISM14585-L35 Specification source (Reset pad or GPIO) is asserted. It should be noted that if POR is generated from the Reset pad the RC32 will operate with the reset trimming value. If a GPIO is used as POR source, the RC32 clock will be trimmed. The deviation between both cases in terms of timing is expected to be minor. 9.2.2.2 RESET PAD The Reset pad will produce a HW Reset if the pin active time is less than the programmed value in the POR_TIMER_REG register and a Power-On Reset if it is greater or equal the value. Reset pad is always Active High. 9.2.2.3 POR FROM GPIO When a GPIO is used as a Power-on Reset source, the selected pin retains its capability to act as GPIO. The POR_PIN_REG[PIN_SELECT] field holds the required GPIO pin number. If the value of the PIN_SELECT field equals to 0 the POR over GPIO functionality is disabled. The polarity of the pin can be configured by the POR_PIN_REG [POR_POLARITY] bit where 0 means Active Low and 1 Active High. 9.2.2.4 POWER-ON RESET TIMING DIAGRAM The operation of the Power-On Reset for both Reset pad and GPIO is depicted in Figure 6. Figure 6 Power-On Reset Timing Diagram DOC-DS-14585-201807-1.0 Confidential Page 20 Inventek Systems ISM14585-L35 Specification 9.2.2.5 POWER-ON RESET CONSIDERATIONS If any of the POR sources is asserted then the POR timer starts to count. When a POR source is released before the timer has expired, POR timer will reset to 0. If a second source is asserted while the first is already asserted and the first is released after that point, POR will occur; assuming that the total time of both sources kept asserted is larger or equal than the POR_TIME. The POR_PIN_REG[PIN_SELECT] field cannot survive any Reset (POR, HW, SW) and as such the user must take special care on setting up the GPIO POR source right after a reset. This also applies for the POR_TIMER_REG[POR_TIME] field after a Power-On Reset. The user must also take into account that if a GPIO is used as POR source, the dynamic current of the system increases due to the dynamic current consumed by the RC32k oscillator. This increase is calculated to be 100nA to 120nA and it is also present during sleep time period. POR from Reset pin does not add this dynamic current consumption. 9.3 DMA Controller The DMA controller has 4 Direct Memory Access (DMA) channels for fast data transfers from/to SPI, UART, I2C, PDM and PCM to/from any on-chip RAM. The DMA controller off-loads the ARM interrupt rate if an interrupts is given after a number of transfers. More peripherals DMA requests are multiplexed on the 4 available channels, to increase utilization of the DMA. The block diagram of the DMA controller is depicted in Figure 7. Features: • • • • • • • 4 channels with optional peripheral trigger Full 32 bit source and destination pointers. Flexible interrupt generation. Programmable length. Flexible peripheral request per channel. Option to initialize memory. Programmable Edge-Sensitive request support(suggested for UART and I2C service) DOC-DS-14585-201807-1.0 Confidential Page 21 Inventek Systems ISM14585-L35 Specification Figure 7 DMA Controller Block Diagram 9.3.1 DMA PERIPHERALS The list of peripherals that can request for a DMA service is presented in below table Name SPI SPI UART UART UART2 UART2 I2C I2C PCM PCM SRC SRC Direction RX TX RX TX RX TX RX TX RX TX RX TX DOC-DS-14585-201807-1.0 Confidential Page 22 Inventek Systems ISM14585-L35 Specification 9.3.2 INPUT/OUTPUT MULTIPLEXER The multiplexing of peripheral requests is controlled by DMA_REQ_MUX_REG. Thus, if DMA_REQ_MUX_REG [DMAxy_SEL] is set to a certain (non-reserved) value, the TX/RX request from the corresponding peripheral will be routed to DMA channels y (TX request) and x (RX request) respectively. Similarly, an acknowledging de-multiplexing mechanism is applied. However, when two or more bit-fields (peripheral selectors) of DMA_REQ_MUX_REG have the same value, the lesser significant selector will be given priority (see also the register's description). 9.3.3 DMA CHANNEL OPERATION A DMA channel is switched on with bit DMA_ON. This bit is automatically reset if the dma transfer is finished. The DMA channels can either be triggered by software or by a peripheral DMA request. If DREQ_MODE is 0, then a DMA channel is immediately triggered. If DREQ_MODE is 1 the DMA channel can be triggered by a Hardware interrupt. If DMA starts, data is transferred from address DMAx_A_START_REG to address DMAx_B_START_REG for a length of DMAx_LEN_REG, which can be 8, 16 or 32 bits wide. The address increment is realized with an internal 13 bits counter DMAx_IDX_REG, which is set to 0 if the DMA transfer starts and is compared with the DMA_LEN_REG after each transfer. The register value is multiplied according to the AINC and BINC and BW values before it is added to DMA_B_START_REG and DMA_B_START_REG. AINC or BINC must be 0 for register access. DOC-DS-14585-201807-1.0 Confidential Page 23 Inventek Systems ISM14585-L35 Specification Figure 8 DMA Channel Diagram If at the end of a DMA cycle, the DMA start condition is still true, the DMA continues. The DMA stops if DREQ_MODE is low or if DMAx_LEN_REG is equal to the internal index register. This condition also clears the DMA_ON bit. If bit CIRCULAR is set to 1, the DMA controller automatically resets the internal index registers and continues from its starting address without intervention of the ARM CortexTM M0. If the DMA controller is started with DREQ_MODE =0, the DMA will always stop, regardless of the state of CIRCULAR. Each DMA channel can generate an interrupt if DMAx_INT_REG if equal to DMAx_IDX_REG. After the transfer and before DMAx_IDX_REG is incremented, the interrupt is generated. Example: if DMA_x_INT_REG=0 and DMA_x_LEN_REG=0, there will be one transfer and an interrupt. 9.3.4 DMA ARBITRATION The priority level of a DMA channel can be set with bits DMA_PRIO[2-0]. These bits determine which DMA channel will be activated in case more than one DMA channel requests DMA. If two or more channels have the same priority, an inherent priority applies, (see register description). DOC-DS-14585-201807-1.0 Confidential Page 24 Inventek Systems ISM14585-L35 Specification With DREQ_MODE = 0, a DMA can be interrupted by a channel with a higher priority if the DMA_IDLE bit is set. When DMA_INIT is set, however, the DMA channel currently performing the transfer locks the bus and cannot be interrupted by any other channel, until the transfer is completed, regardless if DMA_IDLE is set. The purpose of DMA_INIT is to initialize a specific memory block with a certain value, fetched also from memory, without any interruption from other active DMA channels that may request the bus at the same time. Consequently, it should be used only for memory initialization, while when the DMA transfers data to/ from peripherals, it should be set to '0'. Note that AINC must be set to '0' and BINC to '1', when DMA_INIT is enabled. It should be noted that memory initialization could also be performed without having the DMA_INIT enabled and by simply setting AINC to '0' and BINC to '1', provided that the source address memory value will not change during the transfer. However, it is not guaranteed that the DMA transfer will not be interrupted by other channels of higher priority, when these request access to the bus at the same time. 9.3.5 FREEZING DMA CHANNELS Each channel of the DMA controller can be temporarily disabled by writing a 1 to freeze all channels at SET_FREEZE_REG. To enable the channels again, a 1 to bits at the RESET_FREEZE_REG must be written. There is no hardware protection from erroneous programming of the DMA registers. It is noted that the on-going Memory-to-Memory transfers (DREQ_MODE='0') cannot be interrupted. Thus, in that case, the corresponding DMA channels will be frozen after any on-going Memory-to memory transfer is completed. 9.4 I2C Interface The I2C Interface is a programmable control bus that provides support for the communications link between Integrated Circuits in a system. It is a simple two-wire bus with a software-defined protocol for system control, which is used in temperature sensors and voltage level translators to EEPROMs, general-purpose I/O, A/D and D/A converters. Features • Two-wire I2C serial interface consists of a serial data line (SDA) and a serial clock (SCL) • Two speeds are supported: DOC-DS-14585-201807-1.0 Confidential Page 25 Inventek Systems ISM14585-L35 Specification • • • • • • • • • • • o Standard mode (0 to 100kbit/s) o Fast mode (= MAX_T_POLL_COUNT, exit with the relevant error code. DOC-DS-14585-201807-1.0 Confidential Page 44 Inventek Systems ISM14585-L35 Specification 7. If I2C_ENABLE_STATUS[0] is 1, then sleep for ti2c_poll and proceed to the previous step. Otherwise, exit with a relevant success code. 9.6 UART The ISM14585-L35 contains two identical instances of this block, i.e. UART and UART2. The UART is compliant to the industry-standard 16550 and is used for serial communication with a peripheral. Data is written from a master (CPU) over the APB bus to the UART and it is converted to serial form and transmitted to the destination device. Serial data is also received by the UART and stored for the master (CPU) to read back. There is also DMA support on the UART block thus the internal FIFOs can be used. Both UARTs support hardware flow control signals (RTS, CTS). Features: • 16 bytes Transmit and receive FIFOs • Hardware flow control support (CTS/RTS) • Shadow registers to reduce software overhead and also include a software programmable reset • Transmitter Holding Register Empty (THRE) interrupt mode • IrDA 1.0 SIR mode supporting low power mode. • Functionality based on the 16550 industry standard: • Programmable character properties, such as number of data bits per character (5-8), optional parity bit (with odd or even select) and number of stop bits (1, 1.5 or 2) • Line break generation and detection • Prioritized interrupt identification • Programmable serial data baud rate as calculated by the following: baud rate = (serial clock frequency)/(divisor). DOC-DS-14585-201807-1.0 Confidential Page 45 Inventek Systems ISM14585-L35 Specification Figure 20 UART Block Diagram 9.6.1 UART (RS232) SERIAL PROTOCOL Because the serial communication between the UART and the selected device is asynchronous, additional bits (start and stop) are added to the serial data to indicate the beginning and end. Utilizing these bits allows two devices to be synchronized. This structure of serial data accompanied by start and stop bits is referred to as a character, as shown in Figure 21. Figure 21 Serial Data Format An additional parity bit may be added to the serial character. This bit appears after the last data bit and before the stop bit(s) in the character structure to provide the UART with the ability to perform simple error checking on the received data. DOC-DS-14585-201807-1.0 Confidential Page 46 Inventek Systems ISM14585-L35 Specification The UART Line Control Register (UART_LCR_REG) is used to control the serial character characteristics. The individual bits of the data word are sent after the start bit, starting with the least significant bit (LSB). These are followed by the optional parity bit, followed by the stop bit(s), which can be 1, 1.5 or 2. All the bits in the transmission (with exception to the half stop bit when 1.5 stop bits are used) are transmitted for exactly the same time duration. This is referred to as a Bit Period or Bit Time. One BitTime equals 16 baud clocks. To ensure stability on the line the receiver samples the serial input data at approximately the mid-point of the Bit Time once the start bit has been detected. As the exact number of baud clocks that each bit was transmitted for is known, calculating the mid-point for sampling is not difficult, that is every 16 baud clocks after the mid-point sample of the start bit. Figure 22 shows the sampling points of the first couple of bits in a serial character. Figure 22 Receiver Serial Data Sampling Points As part of the 16550 standard an optional baud clock reference output signal (baudout_n) is supplied to provide timing information to receiving devices that require it. The baud rate of the UART is controlled by the serial clock (sclk or pclk in a single clock implementation) and the Divisor Latch Register (DLH and DLL). 9.6.2 IRDA 1.0 SIR PROTOCOL The Infrared Data Association (IrDA) 1.0 Serial Infrared (SIR) mode supports bidirectional data communications with remote devices using infrared radiation as the transmission medium. IrDA 1.0 SIR mode specifies a maximum baud rate of 115.2kBd. Note: Information provided on IrDA SIR mode in this section assumes that the reader is fully familiar with the IrDA Serial Infrared Physical Layer Specifications. This specification can be obtained from the following website: http://www.irda.org. The data format is similar to the standard serial (sout and sin) data format. Each data character is sent serially, beginning with a start bit, followed by 8 data bits, and ending with at least one stop bit. DOC-DS-14585-201807-1.0 Confidential Page 47 Inventek Systems ISM14585-L35 Specification Thus, the number of data bits that can be sent is fixed. No parity information can be supplied and only one stop bit is used while in this mode. Trying to adjust the number of data bits sent or enable parity with the Line Control Register (LCR) has no effect. When the UART is configured to support IrDA 1.0 SIR it can be enabled with Mode Control Register (MCR) bit 6. When the UART is not configured to support IrDA SIR mode, none of the logic is implemented and the mode cannot be activated, reducing total gate counts. When SIR mode is enabled, and active, serial data is transmitted and received on the sir_out_n and sir_in ports, respectively. Transmitting a single infrared pulse signals a logic zero, while a logic one is represented by not sending a pulse. The width of each pulse is 3/16th of a normal serial bit time. Thus, each new character begins with an infrared pulse for the start bit. However, received data is inverted from transmitted data due to the infrared pulses energizing the photo transistor base of the IrDA receiver, pulling its output low. This inverted transistor output is then fed to the UART sir_in port, which then has correct UART polarity. Figure 23 shows the timing diagram for the IrDA SIR data format in comparison to the standard serial format. Figure 23 IrDA SIR Data Format As detailed in the IrDA 1.0 SIR, the UART can be configured to support a low-power reception mode. When the UART is configured in this mode, the reception of SIR pulses of 1.41μs (minimum pulse duration) is possible, as well as nominal 3/16th of a normal serial bit time. Using this low-power reception mode requires programming the Low Power Divisor Latch (LPDLL/LPDLH) registers. It should be noted that for all sclk frequencies greater than or equal to 7.37MHz (and obey the requirements of the Low Power Divisor Latch registers), pulses of 1.41μs are detectable. However, there are several values of sclk that do not allow the detection of such a narrow pulse and these are as follows: DOC-DS-14585-201807-1.0 Confidential Page 48 Inventek Systems ISM14585-L35 Specification Table: Low Power Divisor Latch Register Values: SCLK 1.84 MHz 3.69 MHz 5.33 MHz Low Power Divisor Latch Register Value 1 2 3 Min Pulse Width for Detection 3.77 μs 2.086 μs 1.584 μs When IrDA SIR mode is enabled, the UART operation is similar to when the mode is disabled, with one exception; data transfers can only occur in half-duplex fashion when IrDA SIR mode is enabled. This is because the IrDA SIR physical layer specifies a minimum of 10ms delay between transmission and reception. This 10ms delay must be generated by software. 9.6.3 CLOCK SUPPORT The UART has two system clocks (pclk and sclk). Having the second asynchronous serial clock (sclk) implemented accommodates accurate serial baud rate settings, as well as APB bus interface requirements. With the two clock design a synchronization module is implemented for synchronization of all control and data across the two system clock boundaries. A serial clock faster than four-times the pclk does not leave enough time for a complete incoming character to be received and pushed into the receiver FIFO. However, in most cases, the pclk signal is faster than the serial clock and this should never be an issue. The serial clock modules must have time to see new register values and reset their respective state machines. This total time is guaranteed to be no more than eight clock cycles of the slower of the two system clocks. Therefore, no data should be transmitted or received before this maximum time expires, after initial configuration. 9.6.4 CLOCK SUPPORT The assertion of the UART interrupt (UART_INT) occurs whenever one of the several prioritized interrupt types are enabled and active. The following interrupt types can be enabled with the IER register: • • • • Receiver Error Receiver Data Available Character Timeout (in FIFO mode only) Transmitter Holding Register Empty at/below threshold (in Programmable THRE interrupt mode) DOC-DS-14585-201807-1.0 Confidential Page 49 Inventek Systems ISM14585-L35 Specification When an interrupt occurs, the master accesses the UART_IIR_REG to determine the source of the interrupt before dealing with it accordingly. These interrupt types are described in more detail in below table Interrupt ID Bits [3-0] 0001 0110 Priority Highest Interrupt Set and Reset Functions Interrupt Source Interrupt Type None Receiver Line status Receiver Data Available 0100 1 1100 2 Character timeout indication 0010 3 Transmitter holding register empty 0000 0111 4 Lowest Reserved Reserved Interrupt Reset Control Overrun/parity/ framing errors or break interrupt Receiver data available (nonFIFO mode or FIFOs disabled) or RCVR FIFO trigger level reached (FIFO mode and FIFOs enabled) No characters in or out of the RCVR FIFO during the last 4 character times and there is at least 1 character in it during this time. Transmitter holding register empty (Prog. THRE Mode disabled) or XMIT FIFO at or below threshold (Prog. THRE Mode enabled). Reading the line status register Reading the receiver buffer register (nonFIFO mode or FIFOs disabled) or the FIFO drops below the trigger level (FIFO mode and FIFOs enabled) Reading the receiver buffer register - - Reading the IIR register (if source of interrupt); or, writing into THR (FIFOs or THRE Mode not selected or disabled) or XMIT FIFO above threshold (FIFOs and THRE Mode selected and enabled). 9.6.5 PROGRAMMABLE THRE INTERRUPT The UART can be configured to have a Programmable THRE Interrupt mode available to increase system performance. When Programmable THRE Interrupt mode is selected it can be enabled via the Interrupt Enable Register (IER[7]). When FIFOs and the THRE Mode are implemented and enabled, THRE Interrupts are active at, and below, a programmed transmitter FIFO empty threshold level, as opposed to empty, as shown in the flowchart in Figure 24. DOC-DS-14585-201807-1.0 Confidential Page 50 Inventek Systems ISM14585-L35 Specification Figure 24 Flowchart of Interrupt Generation for Programmable THRE Interrupt Mode This threshold level is programmed into FCR[5:4]. The available empty thresholds are: empty, 2, ¼ and ½. See UART_FCR_REG for threshold setting details. Selection of the best threshold value depends on the system's ability to begin a new transmission sequence in a timely manner. However, one of these thresholds should prove optimum in increasing system performance by preventing the transmitter FIFO from running empty. In addition to the interrupt change, Line Status Register (LSR[5]) also switches function from indicating transmitter FIFO empty, to FIFO full. This allows software to fill the FIFO each transmit sequence by polling LSR[5] before writing another character. The flow then becomes, “fill transmitter FIFO whenever an interrupt occurs and there is data to transmit”, instead of waiting until the FIFO is completely empty. Waiting until the FIFO is empty causes a performance hit whenever the system is too busy to respond immediately. Even if everything else is selected and enabled, if the FIFOs are disabled via FCR[0], the Programmable THRE Interrupt mode is also disabled. When not selected or disabled, THRE interrupts and LSR[5] function normally (both reflecting an empty THR or FIFO). The flowchart of THRE interrupt generation when not in programmable THRE interrupt mode is shown in Figure 25. DOC-DS-14585-201807-1.0 Confidential Page 51 Inventek Systems ISM14585-L35 Specification Figure 25 Flowchart of Interrupt Generation When Not in Programmable THRE Interrupt Mode 9.6.6 SHADOW REGISTERS The shadow registers shadow some of the existing register bits that are regularly modified by software. These can be used to reduce the software overhead that is introduced by having to perform read-modify-writes. • • • • • UART_SRBR_REG support a host burst mode where the host increments its address but still accesses the same Receive buffer register. UART_STHR support a host burst mode where the host increments its address but still accesses the same transmit holding register. UART_SFE_REG accesses the FCR[0] register without accessing the other UART_FCR_REG bits. UART_SRT_REG accesses the FCR[7-6] register without accessing the other UART_FCR_REG bits. UART_STER_REG accesses the FCR[5-4] register without accessing the other UART_FCR_REG bits. DOC-DS-14585-201807-1.0 Confidential Page 52 Inventek Systems ISM14585-L35 Specification 9.6.7 DIRECT TEST MODE The on-chip UARTS can be used for the Direct Test Mode required for the final product PHY layer testing. It can be done either over the HCI layer, which engages a full CTS/RTS UART or using a 2- wire UART directly as described in the Bluetooth Low Energy Specification (Volume 6, Part F). 9.7 SPI+ Interface This interface supports a subset of the Serial Peripheral Interface (SPI™). The serial interface can transmit and receive 8, 16 or 32 bits in master/slave mode and transmit 9 bits in master mode. The SPI+ interface has enhanced functionality with bidirectional 2x16-bit word FIFOs. Features • Slave and Master mode • 8 bit, 9 bit, 16 bit or 32 bit operation • Clock speeds up to 16 MHz for the SPI controller. Programmable output frequencies of SPI source clock divided by 1, 2, 4, 8 • SPI clock line speed up to 8 MHz • SPI mode 0, 1, 2, 3 support (clock edge and phase) • Programmable SPI_DO idle level • Maskable Interrupt generation • Bus load reduction by unidirectional writes-only and reads-only modes. • Built-in RX/TX FIFOs for continuous SPI bursts. • DMA support DOC-DS-14585-201807-1.0 Confidential Page 53 Inventek Systems ISM14585-L35 Specification Figure 26 SPI Block Diagram 9.7.1 OPERATION WITHOUT FIFOS This mode is the default mode. Master Mode To enable SPITM operation, first the individual port signal must be enabled. Next the SPI must be configured in SPI_CTRL_REG, for the desired mode. Finally bit SPI_ON must be set to 1. A SPI transfer cycle starts after writing to the SPI_RX_TX_REG0. In case of 32 bits mode, the PI_RX_TX_REG1 must be written first. Writing to SPI_RX_TX_REG0 also sets the SPI_TXH. As soon as the holding register is copied to the IO buffer, the SPI_TXH is reset and a serial transfer cycle of 8/9/16/32 clock-cycles is started which causes 8/9/16/32 bits to be transmitted on SPI_DO. Simultaneously, data is received on SPI_DI and shifted into the IO buffer. The transfer cycle finishes after the DOC-DS-14585-201807-1.0 Confidential Page 54 Inventek Systems ISM14585-L35 Specification 8th/9th/16th/32nd clock cycle and SPI_INT_BIT bit is set in the SPI_CTRL_REG and SPI_INT_PEND bit in (RE)SET_INT_PENDING_REG is set. The received bits in the IO buffer are copied to the SPI_RX_TX_REG0 (and SPI_RX_TX_REG1 in case of 32 bits mode) were they can be read by the CPU. Interrupts to the CPU can be disabled using the SPI_MINT bit. To clear the SPI interrupt source, any value to SPI_CLEAR_INT_REG must be written. Note however that SPI_INT will be set as long as the RX-FIFO contains unread data. Slave Mode The slave mode is selected with SPI_SMn set to 1 and the Px_MODE_REG must also select SPI_CLK as input. The functionality of the IO buffer in slave and master mode is identical. The SPI module clocks data in on SPI_DI and out on SPI_DO on every active edge of SPI_CLK. As shown in Figure 24 to Figure 27, Figure 27: SPI Master/slave, Mode 3: SPI_POL=1 and SPI_PHA=1. The SPI has an active low clock enable SPI_EN, which can be enabled with bit SPI_EN_CTRL=1. In slave mode the internal SPI clock must be more than four times the SPI_CLK In slave mode the SPI_EN serves as a clock enable and bit synchronization If enabled with bit SPI_EN_CTRL. As soon as SPI_EN is deactivated between the MSB and LSB bits, the I/O buffer is reset. SPI_POL and SPI_PHA The phase and polarity of the serial clock can be changed with bits SPI_POL and SPI_PHA in the SPI_CTRL_REG. SPI_DO Idle Levels The idle level of signal SPI_DO depends on the master or slave mode and polarity and phase mode of the clock. In master mode pin SPI_DO gets the value of bit SPI_DO if the SPI is idle in all modes. Also, if slave in SPI modes 0 and 2, SPI_DO is the initial and final idle level. In SPI modes 1 and 3 however there is no clock edge after the sampled lsb and pin SPI_DO gets the lsb value of the IO buffer. If required, the SPI_DO can be forced to the SPI_DO bit level by resetting the SPI to the idle state by shortly setting bit SPI_RST to 1. (Optionally SPI_FORCE_DO can be set, but this does not reset the IO buffer). The following diagrams show the timing of the SPITM interface. DOC-DS-14585-201807-1.0 Confidential Page 55 Inventek Systems ISM14585-L35 Specification Writes Only Mode In “writes only” mode (SPI_FIFO_MODE = “10“) only the TX-FIFO is used. Received data will be copied to the SPI_RX_TX_REGx, but if a new SPI transfer is finished before the old data is read from the memory, this register will be overwritten. SPI_INT acts as a tx_request signal, indicating that there is still place in the FIFO. It will be ‘0’ when the FIFO is full or else ‘1’ when it’s not full. This is also indicated in the SPI_CTRL_REG[SPI_TXH], which is ‘1’ if the TX-FIFO is full. Writing to the FIFO if this bit is still 1, will result in transmission of undefined data. If all data has been transferred, SPI_CTRL_REG1 [SPI_BUSY] will become ‘0’. Reads Only Mode In “reads only” mode (SPI_FIFO_MODE = “01“) only the RX-FIFO is used. Transfers will start immediately when the SPI is turned on in this mode. In transmit direction the SPI_DO pin will transmit the IO buffer contents being the actual value of the SPI_TX_REGx (all 0’s after reset). This means that no dummy writes are needed for reads only transfers. In Slave mode transfers only take place if the external master initiates them, but in master mode this means that transfers will continue until the RX-FIFO is full. If this happens SPI_CTRL_REG1[SPI_BUSY] will become ‘0’. If exactly N words need to be read from SPI device, first read (N - fifosize+1) words. Then wait until the SPI_BUSY becomes ‘0’, set SPI_FIFO_MODE to “00” and finally read the remaining (fifosize +1) words. Here fifosize is 4/2/1 words for 8/16/32 bits mode respectively. If this is not done, more data will be read from the SPI device until the FIFO is completely filled, or the SPI is turned off. Bidirectional transfers with FIFO If SPI_FIFO_MODE is “00“, both registers are used as a FIFO. SPI_TXH indicates that TX-FIFO is full, SPI_INT indicates that there is data in the RX-FIFO. DOC-DS-14585-201807-1.0 Confidential Page 56 Inventek Systems ISM14585-L35 Specification Figure 27 SPI Master/Slave, Mode 0: SPI_POL=0 and SPI_PHA=0 Note 1: If 9 bits SPI mode, the MSB bit in transmit direction is determined by bit SPI_CTRL_REG[SPI_9BIT_VAL]. In receive direction, the MSB is received but not stored. Figure 28 SPI Master/Slave, Mode 1: SPI_POL=0 and SPI_PHA=1 For the MSB bit refer to Note 1 DOC-DS-14585-201807-1.0 Confidential Page 57 Inventek Systems ISM14585-L35 Specification Figure 29 SPI Master/Slave, Mode 2: SPI_POL=1 and SPI_PHA=0 For the MSB bit refer to Note 1. Figure 30 SPI Master/slave, Mode 3: SPI_POL=1 and SPI_PHA=1 For the MSB bit refer to Note 1 9.8 Wake-Up Timer The Wake-up timer can be programmed to wake up the ISM14585 from power down mode after a pre-programmed number of GPIO events. Each of the GPIO inputs can be selected to generate an event by programming the corresponding WKUP_SELECT_Px_REG register. When all WKUP_SELECT_Px_REG DOC-DS-14585-201807-1.0 Confidential Page 58 Inventek Systems ISM14585-L35 Specification registers are configured to generate a wake-up interrupt, a toggle on any GPIO will wake up the system. • • The input signal edge can be selected by programming the WKUP_POL_Px_REG register. The block diagram illustrating the Wake-up function is shown in Figure 31. Features • Monitors any GPIO state change • Implements debouncing time from 0ms up to 63ms • Accumulates external events and compares the number to a programmed value • Generates an interrupt to the CPU Figure 31 Wake-Up Timer Block Diagram A LOW to HIGH level transition on the selected input port, while WKUP_POL_Px_REG[y] = 0, sets internal signal “key_hit” to ‘1’. This signal triggers the event counter state machine as shown in Figure 31. The debounce timer is loaded with value WKUP_CTRL_REG[WKUP_DEB_VALUE]. The timer counts down every 1ms. If the timer reaches 0 and the “key_hit” signal is still ‘1’, the event counter will be incremented. The event counter is edge sensitive. After detecting an active edge, a reverse edge must be detected first before it goes back to the IDLE state and from there starts waiting for a new active edge. If the event counter is equal to the value set in the WKUP_COMPARE_REG register, the counter will be reset, and an interrupt will be generated, if it was enabled by WKUP_CTRL_REG[ENABLE_IRQ]. The interrupt can be cleared by writing any value to register WKUP_RESET_IRQ_REG. The event counter can be reset by writing any value to register DOC-DS-14585-201807-1.0 Confidential Page 59 Inventek Systems ISM14585-L35 Specification WKUP_RESET_CNTR_REG. The value of the event counter can be read at any time by reading register WKUP_COUNTER_REG. Figure 32 Event Counter State Machine for the Wake-Up Interrupt Generator 9.9 General Purpose Timers The Timer block contains two timer modules that are software controlled, programmable and can be used for various tasks. Timer 0 is a 16-bit general purpose timer with a PWM output capability. Timer 2 is a 14-bit counter that generates three identical PWM signals in a quite flexible manner. 9.9.1 TIMER 0 Timer 0 is a 16-bit general purpose software programmable timer, which has the ability of generating Pulse Width Modulated signals, namely PWM0 and PWM1. It also generates the SWTIM_IRQ interrupt to the ARM Cortex-M0. It can be configured in various modes regarding output frequency, duty cycle and the modulation of the PWM signals. Features: • 16-bit general purpose timer • Ability to generate 2 Pulse Width Modulated signals (PWM0 and PWM1) DOC-DS-14585-201807-1.0 Confidential Page 60 Inventek Systems ISM14585-L35 Specification • Programmable output frequency: M = 0 to (216-1) • Programmable duty cycle: • Separately programmable interrupt timer: with N = 0 to (216-1), Figure 33 Timer 0 Block Diagram Figure 33 shows the block diagram of Timer 0. The 16 bits timer consists of two counters: T0-counter and ON-counter, and three registers: TIMER0_RELOAD_M_REG, TIMER0_RELOAD_N_REG and TIMER0_ON_REG. Upon reset, the counter and register values are 0x0000. Timer 0 will generate a Pulse Width Modulated signal PWM0. The frequency and duty cycle of PWM0 are determined by the contents of the TIMER0_RELOAD_N_REG and the TIMER0_RELOAD_M_REG registers. The timer can run at five different clocks: 16 MHz, 8 MHz, 4 MHz, 2 MHz or 32 kHz. The 32 kHz clock is selected by default with bit TIM0_CLK_SEL in the TIMER0_CTRL_REG DOC-DS-14585-201807-1.0 Confidential Page 61 Inventek Systems ISM14585-L35 Specification register. This ‘slow’ clock has no enabling bit. The other four options can be selected by setting the TIM0_CLK_SEL bit and the TMR_ENABLE bit in the CLK_PER_REG (default disabled). This register also controls the frequency via the TMR_DIV bits. An extra clock divider is available that can be activated via bit TIM0_CLK_DIV of the timer control register TIMER0_CTRL_REG. This clock divider is only used for the ON-counter and always divides by 10. Timer 0 operates in PWM mode. The signals PWM0 and PWM1 can be mapped to any GPIOs. Timer 0 PWM Mode If bit TIM0_CTRL in the TIMER0_CTRL_REG is set, Timer 0 will start running. SWTIM_IRQ will be generated and the T0-counter will load its start value from the TIMER0_RELOAD_M_REG register, and will decrement on each clock. The ONcounter also loads its start value from the TIMER0_ON_REG register and decrements with the selected clock. When the T0-counter reaches zero, the internal signal T0-toggle will be toggled to select the TIMER0_RELOAD_N_REG whose value will be loaded in the T0-counter. Each time the T0-counter reaches zero it will alternately be reloaded with the values of the M0- and N0-shadow registers respectively. PWM0 will be high when the M0-value decrements and low when the N0-value decrements. For PWM1 the opposite is applicable since it is inverted. If bit PWM_MODE in the TIMER0_CTRL_REG register is set, the PWM signals are not HIGH during the ‘high time’ but output a clock in that stage. The frequency is based on the clock settings defined in the CLK_PER_REG register (also in 32 kHz mode), but the selected clock frequency is divided by two to get a 50 % duty cycle. If the ON-counter reaches zero it will remain zero until the T0-counter also reaches zero, while decrementing the value loaded from the TIMER0_RELOAD_N_REGregister (PWM0 is low). The counter will then generate an interrupt (SWTIM_IRQ). The ONcounter will be reloaded with the value of the TIMER0_ON_REG register. The T0counter as well as the M0-shadow register will be loaded with the value of the TIMER0_RELOAD_M_REG register. At the same time, the N0-shadow register will be loaded by the TIMER0_RELOAD_N_REG register. Both counters will be decremented on the next clock again and the sequence will be repeated. Note that it is possible to generate interrupts at a high rate, when selecting a high clock frequency in combination with low counter values. This could result in missed interrupt events. During the time that the ON-counter is non-zero, new values for the ON-register, M0register and N0-register can be written, but they are not used by the T0-counter until a full cycle is finished. More specifically, the newly written values in the TIMER0_RELOAD_M_REG and TIMER0_RELOAD_N_REG registers are only stored into the shadow registers when the ON-counter and the T0-counter have both reached DOC-DS-14585-201807-1.0 Confidential Page 62 Inventek Systems ISM14585-L35 Specification zero and the T0-counter was decrementing the value loaded from the TIMER0_RELOAD_N_REG register (see Figure 34). Figure 34 Timer 0 PWM Mode At start-up both counters and the PWM0 signal are LOW so also at start-up an interrupt is generated. If Timer 0 is disabled all flip-flops, counters and outputs are in reset state except for the ON-register, the TIMER0_RELOAD_N_REG register and the TIMER0_RELOAD_M_REG register. The timer input registers ON-register, TIMER0_RELOAD_N_REGand TIMER0_RELOAD_M_REG can be written, and the counter registers ON-counter and T0-counter can be read. When reading from the address of the ON-register, the value of the ON-counter is returned. Reading from the address of either the TIMER0_RELOAD_N_REG or the TIMER0_RELOAD_M_REG register, returns the value of the T0-counter. It is possible to freeze Timer 0 with bit FRZ_SWTIM of the register SET_FREEZE_REG. When the timer is frozen the timer counters are not decremented. This will freeze all the timer registers at their last value. The timer will continue its operation again when bit FRZ_SWTIM is cleared via register RESET_FREEZE_REG. 9.9.2 TIMER 2 Timer 2 has three Pulse Width Modulated (PWM) outputs. The block diagram is shown in Figure 35 Features: • 14-bit general purpose timer DOC-DS-14585-201807-1.0 Confidential Page 63 Inventek Systems ISM14585-L35 Specification • Ability to generate 3 Pulse Width Modulated signals (PWM2, PWM3 and PWM4) • Input clock frequency: MHz or 32 kHz • Programmable output frequency: • Three outputs with programmable duty cycle from 0% to 100% • Used for white LED intensity (on/off) control with N = 1, 2, 4 or 8 and sys_clk = 16 Figure 35 Timer 2 PWM Block Diagram DOC-DS-14585-201807-1.0 Confidential Page 64 Inventek Systems ISM14585-L35 Specification The Timer 2 is clocked with the system clock divided by TMR_DIV (1, 2, 4 or 8) and can be enabled with TRIPLE_PWM_CTRL_REG[TRIPLE_PWM_ENABLE]. T2_FREQ_CNTR determines the output frequency of the T2_PMWn output. This counter counts down from the value stored in register TRIPLE_PWM_FREQUENCY. At counter value 0, T2_FREQ_CNTR sets the T2_PWMn output to ‘1’ and the counter is reloaded again. T2_DUTY_CNTR is an up-counter that determines the duty cycle of the T2_PWMn output signal. After the block is enabled, the counter starts from 0. If T2_DUTY_CNTR is equal to the value stored in the respective PWMn_DUTY_CYCLE register, this resets the T2_PWMn output to 0. T2_DUTY_CNTR is reset when TRIPLE_PWM_FREQUENCY is 0. Note that the value of PWMn_DUTY_CYCLE must be less or equal than TRIPLE_PWM_FREQUENCY. The Timer 2 is enabled/disabled by programming the TRIPLE_PWM_CTRL_REG[TRIPLE_PWM_EN] bit. The timing diagram of Timer 2 is shown in Figure 36 Freeze function During RF activity it may be desirable to temporarily suppress the PWM switching noise. This can be done by setting TRIPLE_PWM_CTRL_REG[HW_PAUSE_EN] = 1. The effect is that whenever there is a transmission or a reception process from the Radio, T2_DUTY_CNTR is frozen and T2_PWMx output is switched to ‘0’ to disable the selected T2_PWM1, T2_PWM2, T2_PWM3. As soon as the Radio is idle (i.e. RX_EN or TX_EN signals are zero), T2_DUTY_CNTR resumes counting and finalizes the remaining part of the PWM duty cycle. TRIPLE_PWM_CTRL_REG[SW_PAUSE_EN] can be set to ‘0’ to disable the automatic, hardware driven freeze function of the duty counter and keep the duty cycle constant. Note that the RX_EN and TX_EN signals are not software driven but controlled by the BLE core hardware. DOC-DS-14585-201807-1.0 Confidential Page 65 Inventek Systems ISM14585-L35 Specification Figure 36 Timer 2 PWM Timing Diagram 9.10 Watchdog Timer The Watchdog Timer is an 8-bit timer with sign bit that can be used to detect an unexpected execution sequence caused by a software run-away and can generate a full system reset or a Non- Maskable Interrupt (NMI). Features: • 8 bits down counter with sign bit, clocked with a 10.24ms clock for a maximum 2.6s time-out. • Non-Maskable Interrupt (NMI) or WDOG reset. • Optional automatic WDOG reset if NMI handler fails to update the Watchdog register. • Non-maskable Watchdog freeze of the Cortex-M0 Debug module when the Cortex-M0 is halted in Debug state. Maskable Watchdog freeze by user program. Figure 37 Watchdog Timer Block Diagram DOC-DS-14585-201807-1.0 Confidential Page 66 Inventek Systems ISM14585-L35 Specification The 8 bits watchdog timer is decremented by 1 every 10.24ms. The timer value can be accessed through the WATCHDOG_REG register which is set to 255 (FF16) at reset. This results in a maximum watchdog time-out of ~2.6s. During write access the WATCHDOG_REG[WDOG_WEN] bits must be 0. This provides extra filtering for a software run-away writing all ones to the WATCHDOG_REG. If the watchdog counter reaches 0, the counter value will get a negative value by setting bit 8. The counter sequence becomes 1, 0, 1FF16 (-1), 1FE16(-2),...1F016 (-16). If WATCHDOG_CTRL_REG[NMI_RST] = 0, the watchdog timer will generate an NMI if the watchdog timer reaches 0 and a WDOG reset if the counter becomes less or equal to -16 (1F016). The NMI handler must write any value > -16 to the WATCHDOG_REG to prevent the generation of a WDOG reset at counter value -16 after 16*10.24 = 163.8ms. If WATCHDOG_CTRL_REG[NMI_RST] = 1, the watchdog timer generates a WDOG reset if the timer becomes less or equal than 0. The WDOG reset is one of the SYS (system) reset sources and resets the whole device, including setting the WATCHDOG_REG register to 255, except for the RST pin, the Power On reset, the HW reset and the DBG (debug module) reset. Since the HW reset is not triggered, the SYS_CTRL_REG[REMAP_ADR0] bits will retain their value and the Cortex-M0 will start executing again from the current selected memory at address zero. Refer to the POR, HW and SW Reset section for an overview of the complete reset circuit and conditions. For debugging purposes, the Cortex-M0 Debug module can always freeze the watchdog by setting the DHCSR[DBGKEY | C_HALT | C_DEBUGEN] control bits (reflected by the status bit S_HALT). This is automatically done by the debug tool, e.g. during step-by-step debugging. Note that this bit also freezes the Wake-up Timer, the Software Timer and the BLE master clock. For additional information also see the DEBUG_REG[DEBUGS_FREEZE_EN] mask register. The C_DEBUGEN bit is not accessible by the user software to prevent freezing the watchdog. In addition to the S_HALT bit, the watchdog timer can also be frozen if NMI_RST=0 and SET_FREEZE_REG[FRZ_WDOG] is set to ‘1’. The watchdog timer resumes counting when RESET_FREEZE_REG[FRZ_WDOG] is set to ‘1’. The WATCHDOG_CTRL_REG[NMI_RST] bit can only be set by software and will only be reset on a SYS reset. Note that if the system is not remapped, i.e. SysRAM is at address 0x20000000, then a watchdog fire will trigger the BootROM code to be executed again. DOC-DS-14585-201807-1.0 Confidential Page 67 Inventek Systems ISM14585-L35 Specification 9.11 Input/Output Ports The ISM14585-L35 has software-configurable I/O pin assignment, organized into ports Port 0, Port 1. . Features: • • • • • • Port 0: 8 pins, Port 1: 4 pins Fully programmable pin assignment Selectable 25kΩ pull-up, pull-down resistors per pin Pull-up voltage either VBAT3V (BUCK mode) or VBAT1V (BOOST mode) configurable per pin Fixed assignment for analog pin ADC[3:0] Pins can retain their last state when system enters the Extended or Deep Sleep mode. Figure 38 Port P0, and P1 with Programmable Pin Assignment DOC-DS-14585-201807-1.0 Confidential Page 68 Inventek Systems ISM14585-L35 Specification 9.11.1 PROGRAMMABLE PIN ASSIGNMENT The Programmable Pin Assignment (PPA) provides a multiplexing function to the I/O pins of on-chip peripherals. Any peripheral input or output signal can be freely mapped to any I/O port bit by setting Pxy_MODE_REG[4-0]: 0x00 to 0x1F: Peripheral IO ID (PID) Refer to the Px_MODE_REGs for an overview of the available PIDs. Analog ADC has fixed pin assignment in order to limit interference with the digital domain. The SWD interface (JTAG) is mapped on P1_4 and P1_5. Priority The firmware has the possibility to assign the same peripheral output to more than one pin. It is the responsibility of the user to make a unique assignment. In case more than one input signal is assigned to a peripheral input, the left most pin in the lowest port pin number has priority. (e.g P00_MODE_REG has priority over P01_MODE_REG). Direction Control The port direction is controlled by setting: Pxy_MODE_REG[9-8] 00 = Input, no resistors selected 01 = Input, pull-up selected 10 = Input, Pull-down selected 11 = Output, no resistors selected In output mode and analog mode, the pull-up/down resistors are automatically disabled. 9.11.2 GENERAL PURPOSE PORT REGISTERS The general purpose ports are selected with PID=0. The port function is accessible through registers: • • • Px_DATA_REG: Port data input/output register Px_SET_OUTPUT_DATA_REG: Port set output register Px_RESET_OUTPUT_DATA_REG: Port reset output register DOC-DS-14585-201807-1.0 Confidential Page 69 Inventek Systems ISM14585-L35 Specification 9.11.2.1 PORT DATA REGISTER The registers input Px_DATA_REG and output Px_DATA_REG are mapped on the same address. The data input register (Px_DATA_REG) is a read-only register that returns the current state on each port pin even if the output direction is selected, regardless of the programmed PID, unless the analog function is selected (in this case it reads 0). The ARM CPU can read this register at any time even when the pin is configured as an output. The data output register (Px_DATA_REG) holds the data to be driven on the output port pins. In this configuration, writing to the register changes the output value. 9.11.2.2 PORT SET DATA OUTPUT REGISTER Writing a 1 in the set data output register (Px_SET_OUTPUT_DATA_REG) sets the corresponding output pin. Writing a 0 is ignored. 9.11.2.3 PORT RESET DATA OUTPUT REGISTER Writing a 1 in the reset data output register (Px_RESET_OUTPUT_DATA_REG) resets the corresponding output pin. Writing a 0 is ignored. 9.11.2.4 FIXED ASSIGNMENT FUNCTIONALITY There are certain signals that have a fixed mapping on specific general purpose IOs. This assignment is illustrated in the following table: GPIO P0_0 P0_1 P0_2 P0_3 P0_4 P0_5 P0_6 P0_7 P1_0 P1_1 P1_2 P1_3 QUAD DEC (Note 1) CHY_A/CHX_A/CHZ_A CHY_B/CHX_B/CHZ_B CHY_A/CHX_A/CHZ_A CHY_B/CHX_B/CHZ_B CHY_A/CHX_A/CHZ_A CHY_B/CHX_B/CHZ_B CHY_A/CHX_A/CHZ_A CHY_B/CHX_B/CHZ_B CHY_A/CHX_A/CHZ_A CHY_B/CHX_B/CHZ_B CHY_A/CHX_A/CHZ_A CHY_B/CHX_B/CHZ_B ADC (Note 2) ADC_0 ADC_1 ADC_2 ADC_3 DOC-DS-14585-201807-1.0 Confidential Page 70 Inventek Systems ISM14585-L35 Specification • • Note 1 The mapping of the Quad Decoder signals on the respective pins, is overruled by the QDEC_CTRL2_REG[CHx_PORT_SEL] register. Note 2 The ADC case can be selected by the PID bit field on the respective Px port. 9.12 General Purpose ADC The ISM14585-L35 is equipped with a high-speed ultra-low power 10-bit general purpose Analog-to-Digital Converter (GPADC). It can operate in unipolar (single ended) mode as well as in bipolar (differential) mode. The ADC has its own voltage regulator (LDO) of 1.2 V, which represents the full scale reference voltage. Features: • • • • • • • • • 10-bit dynamic ADC with 65 ns conversion time Maximum sampling rate 3.3 Msample/s Ultra-low power (5μA typical supply current at 100ksample/s) Single-ended as well as differential input with two input scales Four single-ended or two differential external input channels Battery monitoring function Chopper function Offset and zero scale adjust Common-mode input level adjust Figure 39 Block Diagram of the General Purpose ADC DOC-DS-14585-201807-1.0 Confidential Page 71 Inventek Systems ISM14585-L35 Specification 9.12.1 INPUT CHANNELS AND INPUT SCALE The ISM14585-L35 has a multiplexer between the ADC and four specific GPIO ports (P0_0 to P0_3). Furthermore, the ADC can also be used to monitor the battery voltage and several internal voltages of the system (see GP_ADC_CTRL_REG). Single-ended or differential operation is selected via bit GP_ADC_CTRL_REG[GP_ADC_SE]. In differential mode the voltage difference between two GPIO input ports will be converted. Via bit GP_ADC_CTRL2_REG[GP_ADC_ATTN3X] the input scale can be enlarged by a factor of three, as summarized in below table. GP_ADC_ATTN3X GP_ADC_SE 0 0 1 1 1 0 1 0 Input Channels P0_0, P0_1, P0_2, P0_3 [P0_0, P0_1], [P0_2, P0_3] P0_0, P0_1, P0_2, P0_3 [P0_0, P0_1], [P0_2, P0_3] - Input Scale 0 V to +1.2 V -1.2 V to +1.2 V 0 V to +3.6 V -3.6 V to +3.6 V Input Limits -0.1 V to +1.3 V -1.3 V to +1.3 V -0.1 V to +3.45 V -3.45 V to +3.45 V GPADC Input Channels and Voltage Scale 9.12.2 STARTING THE ADC AND SAMPLING RATE The GPADC is a dynamic ADC and consumes no static power, except for the LDO which consumes less than 5μA. Enabling/disabling of the ADC is triggered by configuring bit GP_ADC_CTRL_REG[GP_ADC_LDO_EN]. After enabling the LDO, a settling time of 20 μs is required before an AD-conversion can be started. Each conversion has two phases: the sampling phase and the conversion phase. When bit GP_ADC_CTRL_REG[GP_ADC_EN] is set to ‘1’, the ADC continuously tracks (samples) the selected input voltage. Writing a '1' at bit GP_ADC_CTRL_REG[GP_ADC_START] ends the sampling phase and triggers the conversion phase. When the conversion is ready, the ADC resets bit GP_ADC_START to ‘0’ and returns to the sampling phase. The conversion itself is fast and takes approximately one clock cycle of 16 MHz, though the data handling will require several additional clock cycles, depending on the software code style. The fastest code can handle the data in four clock cycles of 16 MHz, resulting to a highest sampling rate of 16 MHz/5 = 3.3 Msample/s. At full speed the ADC consumes approximately 50μA. If the data rate is less than 100 ksample/s, the current consumption will be in the range of 5μA. DOC-DS-14585-201807-1.0 Confidential Page 72 Inventek Systems ISM14585-L35 Specification 9.12.3 NON-IDEAL EFFECTS Besides Differential Non-Linearity (DNL) and Integral Non-Linearity (INL), each ADC has a gain error (linear) and an offset error (linear). The gain error of the GPADC slightly reduces the effective input scale (up to 50 mV). The offset error causes the effective input scale to become non-centered. The offset error of the GPADC is less than 20 mV and can be reduced by chopping or by offset calibration. The ADC result will also include some noise. If the input signal itself is noise free (inductive effects included), the average noise level will be ±1 LSB. Taking more samples and calculating the average value will reduce the noise and increase the resolution. With a 'perfect' input signal (e.g. if a filter capacitor is placed close to the input pin) most of the noise comes from the low-power voltage regulator (LDO) of the ADC. Since the DA14585 is targeted for ultra-compact applications, there is no pin available to add a capacitor at this voltage regulator output. The dynamic current of the ADC causes extra noise at the regulator output. This noise can be reduced by setting bits GP_ADC_CTRL2_REG[GP_ADC_I20U] and GP_ADC_CTRL2_REG[GP_ADC_IDYN] to ‘1’. Bit GP_ADC_I20U enables a constant 20μA load current at the regulator output so that the current will not drop to zero. Bit GP_ADC_IDYN enables a 10μA load current during sampling phase so that the load current during sampling and conversion phase becomes approximately the same. 9.12.4 CHOPPING Chopping is a technique to cancel offset by taking two samples with opposite signal polarity. This method also smooths out other non-ideal effects and is recommended for DC and slowly changing signals. Chopping is enabled by setting bit GP_ADC_CTRL_REG[GP_ADC_CHOP] to ‘1’. The mid-scale value of the ADC is the 'natural' zero point of the ADC (ADC result = 511.5 = 1FF or 200 Hex = 01.1111.1111 or 10.0000.0000 Bin). Ideally this corresponds to Vi = 1.2 V/2 = 0.6 V in single-ended mode and Vi = 0.0 V in differential mode. If bit GP_ADC_CTRL2_REG[GP_ADC_ATTN3X] is set to ‘1’, the zero point is 3 times higher (1.8 V single-ended and 0.0 V differential). DOC-DS-14585-201807-1.0 Confidential Page 73 Inventek Systems ISM14585-L35 Specification With bit GP_ADC_CTRL_REG[GP_ADC_MUTE], the ADC input is switched to the center scale input level, so the ADC result ideally is 511.5. If instead a value of 515 is observed, the output offset is +3.5 (adc_off_p = 3.5). With bit GP_ADC_CTRL_REG[GP_ADC_SIGN] the sign of the ADC input and output is changed. Two sign changes have no effect on the signal path, though the sign of the ADC offset will change. If adc_off_p = 3.5 the ADC_result with opposite GP_ADC_SIGN will be 508. The sum of these equals 515 + 508 = 1023. This is the mid-scale value of an 11-bit ADC, so one extra bit due to the over-sampling by a factor of two. The LSB of this 11-bit word should be ignored if a 10-bit word is preferred. In that case the result is 511.5, so the actual output value will be 511 or 512. 9.12.5 OFFSET CALIBRATION A relative high offset caused by a very small dynamic comparator (up to 20 mV, so approximately 20 LSB). This offset can be cancelled with the chopping function, but it still causes unwanted saturation effects at zero scale or full scale. With the GP_ADC_OFFP and GP_ADC_OFFN registers the offset can be compensated in the ADC network itself. To calibrate the ADC follow the steps in table below: GPADC Calibration Procedure for Single-Ended and Differential Modes Step 1 2 3 4 5 6 7 Single-Ended Mode (GP_ADC_SE = 1) Set GP_ADC_OFFP = GP_ADC_OFFN=0x200; GP_ADC_MUTE = 0x1; GP_ADC_SIGN = 0x0 Start conversion adc_off_p = GP_ADC_RESULT - 0x200 Set GP_ADC_SIGN = 0x1 Start conversion adc_off_n = GP_ADC_RESULT - 0x200 GP_ADC_OFFP = 0x200 - 2*adc_off_p GP_ADC_OFFN = 0x200 - 2*adc_off_n (Note 4) Differential Mode (GP_ADC_SE = 0) Set GP_ADC_OFFP=GP_ADC_OFFN = 0x200; GP_ADC_MUTE = 0x1; GP_ADC_SIGN = 0x0 Start conversion adc_off_p = GP_ADC_RESULT - 0x200 Set GP_ADC_SIGN = 0x1 Start conversion adc_off_n = GP_ADC_RESULT - 0x200 GP_ADC_OFFP = 0x200 - adc_off_p GP_ADC_OFFN = 0x200 - adc_off_n (Note 4) Note 4 The average of GP_ADC_OFFP and GP_ADC_OFFN should be 0x200 (with a margin of 20 LSB). It is recommended to implement the above calibration routine during the initialization phase of the ISM14585-L35. To verify the calibration results, check whether the GP_ADC_RESULT value is close to 0x200 while bit GP_ADC_MUTE = 1. DOC-DS-14585-201807-1.0 Confidential Page 74 Inventek Systems ISM14585-L35 Specification 9.12.6 ZERO-SCALE ADJUSTMENT The GP_ADC_OFFP and GP_ADC_OFFN registers can also be used to set the zeroscale or full-scale input level at a certain target value. For instance, they can be used to calibrate GP_ADC_RESULT to 0x000 at an input voltage of exactly 0.0 V, or to calibrate the zero scale of a sensor. 9.12.7 COMMON MODE ADJUSTMENT The common mode level of the differential signal must be 0.6 V (or 1.8 V with GP_ADC_ATTN3X = 1). If the common mode input level of 0.6 V cannot be achieved, the common mode level of the GP_ADC can be adjusted (the GP_ADC can tolerate a common mode margin up to 50 mV) according to below table. CM Voltage (Vcmm) 0.3 V 0.6 V 0.9 V GP_ADC_OFFP = GP_ADC_OFFN 0x300 0x200 0x100 Common Mode Adjustment Any other common mode level between 0.0 V and 1.2 V can be calculated from the table above. Offset calibration can be combined with common mode adjustment by replacing the 0x200 value in the offset calibration routine by the value required to get the appropriate common mode level. Note: The input voltage limits for the ADC in differential modes are: -1.3 V to +1.3 V (for GP_ADC_ATTN3X = 0, see Table for GPADC Input Channels and Voltage Scale). The differential input range of the ADC is: -1.2 V < V[P0_0,P0_1] < +1.2 V. Therefore, if Vcmm < 0.5 V or Vcmm > 0.7 V, the input can no longer cover the whole ADC range. 9.12.8 INPUT IMPEDANCE, INDUCTANCE, AND INPUT SETTLING The GPADC has no input buffer stage. During sampling phase a capacitor of 0.2 pF is switched to the input line. The precharge of this capacitor is at mid-scale level so the input impedance is infinite. At 100 ksample/s, zero or full-scale single-ended input signal, this sampling capacitor will load the input with: ILOAD = V * C * fS = ±0.6 V * 0.2 pF * 100 kHz = ±12 nA (differential: ±1.2 V * 0.2 pF * 100 kHz = ±24 nA at both pins). During sampling phase a certain settling time is required. A 10-bit accuracy requires at least 7 time constants of the output impedance of the input signal source and the 0.2 pF DOC-DS-14585-201807-1.0 Confidential Page 75 Inventek Systems ISM14585-L35 Specification sampling capacitor. The conversion time is approximately one clock cycle of 16 MHz (62.5 ns). 7 * ROUT * 0.2 pF - 62.5 ns < 1/fS => ROUT < (1 + 62.5 ns * fS) / (7 * 0.2 pF * fS) Examples: ROUT < 7.2 MΩ at fS = 100 kHz ROUT < 760 kΩ at fS = 1 MHz The inductance from the signal source to the ADC input pin must be very small. Otherwise, filter capacitors are required from the input pins to ground (differential mode: from pin to pin). To observe the noise level of the ADC and the voltage regulator, bit GP_ADC_CTRL_REG[GP_ADC_MUTE] must be set to ‘1’. The noise should be less than ±1 LSB on average, with occasionally a ±2 LSB peak value. If a higher noise level is observed on the input channel(s), applying filter capacitor(s) will reduce the noise. The 3x input attenuator is realized with a resistor divider network. When bit GP_ADC_CTRL_REG2[GP_ADC_ATTN3X] is set to ‘1’, the input impedance of the selected ADC input channel becomes 300 kΩ (typical) instead of infinite. In addition, the resistor divider network will require more settling time in the sampling phase. The general guideline with bit GP_ADC_ATTN3X = 1 is: select the input channel, then wait 1 μs (16 clock cycles) before starting the conversion. Only the required sampling time is affected by the attenuator, the conversion time remains approximately one clock cycle of 16 MHz (62.5 ns). Note: Selecting the battery measurement channel automatically activates the 3x input attenuator (bit GP_ADC_ATTN3X = 1). Therefore the 1 μs waiting time also applies when measuring the battery voltage, otherwise the resulting Vbat level will be too low. 9.12.9 COMMON MODE ADJUSTMENT The GPADC has a delay counter that can be used to add delays to several ADC control signals. A delay of up to 32μs can be added for the bits GP_ADC_LDO_EN, GP_ADC_START and GP_ADC_EN via registers GP_ADC_DELAY_REG and GP_ADC_DELAY2_REG. The reset values of these two registers are the recommended values for a correct startup, since it is not allowed to activate all signals at once. To make use of the delay counter for a certain signal, the corresponding bit has to be set in register GP_ADC_CTRL_REG and the delay counter must be enabled via bit GP_ADC_DELAY_EN in register GP_ADC_CTRL2_REG. The delay counter starts DOC-DS-14585-201807-1.0 Confidential Page 76 Inventek Systems ISM14585-L35 Specification counting when the GP_ADC_START bit is programmed while the GP_ADC_DELAY_EN bit is set. The counter is stopped after the conversion is finished. The delay counter must be reset before reuse, which is typically only required after the LDO was disabled. Bit GP_ADC_DELAY_EN must be made zero to reset the counter. It is recommended to check that this bit is zero before (re)activating it. 9.12.10 Sample Rate Converter (SRC) The SRC is a HW accelerator used to convert the sample rate of audio samples between various interfaces. Its primary purpose is to directly connect PCM and PDM channels while converting the rate accordingly. Features: • • • • • • • Supported conversions: o SRC_IN (24 bits) to SRC_OUT (24 bits) o PDM_IN (1bit) to SRC_OUT (24 bits) o SRC_IN (24 bits) to PDM_OUT (1 bit) SRC_IN, SRC_OUT Sample rates 8 kHz to 192 kHz SNR > 100 dB Single Buffer I/O with DMA support Automatic mode to adjust sample rate to the applied frame sync (e.g. PCM_FSC) Manual mode to generate interrupts at the programmed sample rate. Adjustment is done by SW based on buffer pointers SRC runs at 16 MHz Figure 40 Sample Rate Converter block diagram DOC-DS-14585-201807-1.0 Confidential Page 77 Inventek Systems ISM14585-L35 Specification 9.12.11 SRC ARCHITECTURE 9.12.11.1 I/O CHANNELS The SRC block converts two 24 bits channels either as a stereo pair or as two mono channels. The PCM linear data pairs are received on SRC_IN and the output is 2x24 bits left aligned on SRC_OUT. The two 1 bit PDM data inputs are received on PDM_IN and are converted to 2x24 bits, left aligned to SRC_OUT. 9.12.11.2 I/O MULTIPLEXERS The SRCx_IN input multiplexer (Figure 40) is controlled by APU_MUX_REG. The input of these multiplexers either comes from the audio interfaces of from registers SRC1_IN1_REG and SRC1_IN2_REG. The data to these register is left aligned, bits 31-8 are mapped on bits 23-0 of the SRC. The 24 bits SRCs outputs can be read in SRC1_OUT1_REG and SRC1_OUT2_REG and is also routed to the PCM. This input selection of these multiplexers is also controlled by APU_MUX_REG. 9.12.11.3 INPUT AND OUTPUT SAMPLE RATE CONVERSION Depending on the use case the Sample Rate Converter operate in either manual or automatic conversion mode. This mode can be set in the SRC1_CTRL_REG bits SRC_IN_AMODE and bit SRC_OUT_AMODE. 9.12.11.4 SRC CONVERSION MODES OF OPERATION Both at the input and at the output side, the SRC can operate in two mode of operation: • Manual mode • Automatic mode In manual mode, the input/output sample rate is determined by SRC1_IN_FS_REG /SRC1_OUT_FS_REG registers. In automatic mode, the input/output sample rate is derived from the external synchronization signals and can be read back from SRC1_IN_FS_REG / SRC1_OUT_FS_REG registers. When the PDM is used (input/output), the SRC DOC-DS-14585-201807-1.0 Confidential Page 78 Inventek Systems ISM14585-L35 Specification operates in automatic mode. The sample rate reported in SRC1_IN_FS_REG register is PDM_CLK/64. Typical Use Cases of the SRC are given on the table below:. 9.12.11.5 DMA OPERATION If more than one sample must be transfer to/from the CPU or the sample rate is so high that it interrupts the CPU too often, the DMA controller must be engaged to perform the transactions. 9.12.11.6 INTERRUPTS After a Sample Rate Conversion, the input up-sampler and output down-sampler generate edge triggered interrupts on SRC_IN_SYNC and SRC_OUT_SYNC to the CPU which do not have to be cleared. Note that only one sample shall be read from or written to a single register at a time (i.e. there are no FIFOs included). 9.12.11.7 SRC USE CASES The Sample Rate Converter supports any sample rate between 8 kHz and 48 kHz. Below table shows typical use cases of the Sample Rate Converter. Use case PCM/PDM to BLE BLE to PCM / PDM SRCx_IN_AMODE DATA path SRCx_IN_SYNC Automatic PDMx_IN_DATA PCMx_SYNC PCMx_IN_DATA PCMx_SYNC Manual SRCx_IN_REG SRCx_IN_SYNC (out) SRCx_OUT_AMODE DATA path SRCx_OUT_SYNC Manual SRCx_OUT_REG up-to 192kHz SRCx_OUT_SYNC (out) up-to 192kHz Automatic PDMx_IN_DATA PCMx_SYNC PCMx_IN_DATA PCMx_SYNC PCM to PCM resampler (output must be a multiple of 8 kHz) Automatic Automatic PCM1_IN to PCM1_IN PCM2_OUT PCM2_OUT PCM1_FSC (input) PCM2_FSC (output) Automatic Automatic PCM2_IN to PCM2_IN PCM1_IN PCM1_OUT PCM2_FSC (input) PCM1_FSC (output) Table of Typical SRC use case DOC-DS-14585-201807-1.0 Confidential Page 79 Inventek Systems ISM14585-L35 Specification 9.13 PDM Interface The Pulse Density Modulation (PDM) interface provides a serial connection for up-to 2 input devices (e.g MEMS microphones) or output devices. The interfaces have a common clock PDM_CLK and one input PDM_DI which is capable of carrying two channels. Figure 41 shows a typical connection of two microphones sharing one data line. The PDM input data has a 1-bit data length and is encoded so that the left channel is clocked in on the falling edge of PDM_CLK and the right channel is clocked on the rising edge of PDM_CLK as shown in Figure 42. The 1 bit data stream is down-sampled to 24 bits PCM samples in the HW Sample Rate Converter (SRC) for further processing in the DSP. The interface supports MEMS microphone sleep mode by disabling the PDM_CLK. The PDM interface signals are available through the PPA multiplexer. The interface levels are determined by the IO group on which the PDM signals are mapped. Those signals can be hard wired to 1.8 V and 3.3 V. Features: • • • • • • PDM_CLK frequency 62.5 kHz - 4 MHz Down-sampling to 24 bits in SRC PDM_CLK on/off to support Sleep mode PDM_DATA (input): 1 Channel in stereo format PDM_DATA (output): 2 Channels in mono format, 1 Channel in stereo format Programmable Left/Right channel selection Figure 41 PDM with dual mic interface DOC-DS-14585-201807-1.0 Confidential Page 80 Inventek Systems ISM14585-L35 Specification Figure 42 PDM formats Figure 43 PDM input transfer functions It should be noted that the audio quality degrades when the oversampling ratio is less than 64. For an 8 kHz sample rate the minimum recommended PDM clock rate is 64 x 8 kHz = 512 kHz. DOC-DS-14585-201807-1.0 Confidential Page 81 Inventek Systems ISM14585-L35 Specification 9.14 PCM Controller The PCM controller is implementing an up-to 192kHz synchronous interface to external audio devices, ISDN circuits and serial data interfaces. It is accessed through the APB32 interface. PCM can individually operate in master or slave mode. In slave mode, the phase between the external and internal frame sync can be measured and used to compensate for drift. The data IO registers have DMA support in order to reduce the interrupt overhead to the CPU. Up-to 8 channels of 8 bits with a programmable delay are supported in received and transmit direction. The controller supports PCM, I2S, TDM and IOM2 formats. Features: • • • • • • • • • PCM_CLK Master/slave PCM_FSC o Master/slave 4 kHz to 96 kHz o Strobe Length 1, 8, 16, 24, 32, 40, 48 and 64 bits o PCM_FSC before or on the first bit. (In Master mode) 2x32 channels Programmable slot delay up-to 31*8bits Formats o PCM mode o I2S mode (Left/Right channel selection) with N*8 for Left and N*8 for Right o IOM2 mode (double clock per bit) Programmable clock and frame sync inversion Direct connection to Sample Rate Converter (SRC) Interrupt line to the CPU DMA support Figure 44 PCM controller DOC-DS-14585-201807-1.0 Confidential Page 82 Inventek Systems ISM14585-L35 Specification 9.14.1 PCM ARCHITECTURE 9.14.1.1 • • • • INTERFACE SIGNALS PCM_FSC, strobe signal input, output. Supports 8/16/32/48/96/128/192kHz. Can generate an interrupt to the CPU. PCM_CLK, PCM clock input, output. PCM_DO, PCM Data output, push pull or open drain with external pull-up resistor. PCM_DI, PCM Data input. PCM interface can be powered down by the PCM1_CTRL_REG[PCM_EN] = 0. 9.14.1.2 CHANNEL ACCESS The PCM interface has two 32-bit channels for TX and RX. Channels are accessed through 32 bits registers: • • PCM1_OUT1_REG and PCM1_OUT2_REG, PCM1_IN1_REG and PCM1_IN2_REG. The registers are only word-wise (32 bits) accessible by the CPU or the DMA via the APB-32 bridge . The 32 bits registers are arranged as 8 channels of 8 bits, named channel 1 to channel8. By a flexible clock inversion, channel delay and strobe length adjustment various format like PCM, I2S, TDM and IOM2 can be made 9.14.1.3 CHANNEL DELAY The 8 PCM channels can be delayed with a maximum delay of 31x8bits using the bit field PCM1_CTRL_REG[PCM_CH_DEL]. Note that a high delay count in combination with a slow clock, can lead to the PCM_FSC sync occurring before all channels are shifted in or out. The received bits of the current channel may not be properly aligned in that case. DOC-DS-14585-201807-1.0 Confidential Page 83 Inventek Systems ISM14585-L35 Specification 9.14.1.4 CLOCK GENERATION Figure 45 shows the PCM clock generation block and the Table below, the PCM_DIV_REG and PCM_FDIV_REG values for given PCM_FSC and PCM_CLK in master mode. The PCM_DIV_REG[PCM_DIV] is a 12 bits field which holds the integer part of the desired clock divider. The fractional part of the divider is stored in the 16 bits PCM_FDIV_REG register. The value of the register is calculated in the following way. The position of the left most '1' of the value in binary format defines the denominator and the number of '1' bits define the numerator of the fraction as shown in the Table below. PCM_FDIV_REG (Hex) 0x0110 0x0101 0x1abc 0xbeef 0xfeee PCM_FDIV_REG (Binary) 0b100010000 0b100000001 0b1101010111100 0b1011111011101111 0b1111111011101110 Numerator 2 2 8 13 13 Denominator 9 9 13 16 16 Fraction 2/9 2/9 8/13 13/16 13/16 PCM_FDIV_REG Example Calculations Figure 45 PCM clock generation DOC-DS-14585-201807-1.0 Confidential Page 84 Inventek Systems ISM14585-L35 Specification The PCM_DIV_REG calculations show the following use cases, with 8 bits, 16 bits, 32 bits and 48 bits. XTAL 16000 kHz Desired Divider Sample Rate Bits Desired Bit Clock kHz 8 1*8 64 250 250 Actual Word size 8 8 8 8 8 8 8 1*16 1*24 1*32 2*8 2*16 2*24 2*32 1*8 1*16 1*24 1*32 2*8 2*16 2*24 2*32 1*8 1*16 1*24 1*32 2*8 2*16 2*24 2*32 1*8 1*16 1*24 1*32 2*8 2*16 2*24 2*32 128 125 83,33333333 62,5 125 125 125 62,5 41,66666667 31,25 125 62,5 41,66666667 31,25 62,5 31,25 20,83333333 15,625 62,5 31,25 20,83333333 15,625 31,25 15,625 10,41666667 7,8125 41,66666667 20,83333333 13,88888889 10,41666667 20,83333333 10,41666667 6,944444444 5,208333333 50 40 25 8 16 25 40 8 20 25 40 8 20 25 40 10 20 25 50 10 20 25 50 10 25 25 50 N/A N/A N/A N/A N/A N/A N/A 16 16 16 16 16 16 16 16 32 32 32 32 32 32 32 32 48 48 48 48 48 48 48 48 192 256 128 256 384 512 128 256 384 512 256 512 768 1024 256 512 768 1024 512 1024 1536 2048 384 768 1152 1536 768 1536 2304 3072 80 50 125 50 40 25 50 25 20 10 50 25 20 10 25 10 10 5 N/A N/A N/A N/A N/A N/A N/A N/A Alternatively Actual Divider Divider: Integer and Fractional Part =250 =125 =83 + 1/3 =62 + 1/2 =125 =62 + 1/2 =41 + 2/3 =31 + 1/4 =125 =62 + 1/2 =41 + 2/3 =31 + 1/4 =62 + 1/2 =31 + 1/4 =20 + 5/6 =15 + 5/8 =62 + 1/2 =31 + 1/4 =20 + 5/6 =15 + 5/8 =31 + 1/4 =15 + 5/8 =10 + 5/12 =7 + 13/16 =41 + 2/3 =20 + 5/6 =13 + 8/9 =10 + 5/12 =20 + 5/6 =10 + 5/12 N/A Integer PCM_DIV_REG values for given frequencies and sample rates DOC-DS-14585-201807-1.0 Confidential Page 85 Inventek Systems ISM14585-L35 Specification 9.14.1.5 DATA FORMATS 9.14.1.5.1 PCM MASTER MODE Master mode is selected if PCM1_CTRL_REG[PCM_MASTER] = 1. In master mode PCM_FSC is output and falls always over Channel 0. The duration of PCM_FSC is programmable with PCM1_CTRL_REG[PCM_FSCLEN]= 1 or 8,16, 24, 32 clock pulses high. The start position is programmable with PCM1_CTRL_REG[PCM_FSCDEL] and can be placed before or on the first bit of channel 0. The repetition frequency of PCM_FSC is programmable in PCM1_CTRL_REG[PCM_FSC_DIV] to from 8-192kHz. If master mode selected, PCM_CLK is output and provides one or two clocks per data bit programmable in PCM1_CTRL_REG[PCM_CLK_BIT]. The polarity of the signal can be inverted with bit PCM1_CTRL_REG[PCM_CLKINV]. The PCM_CLK frequency selection is described in Section 9.14.1.4. 9.14.1.5.2 PCM SLAVE MODE In slave mode (bit MASTER = 0) PCM_FSC is input and determines the starting point of channel 0. The repetition rate of PCM_FSC must be equal to PCM_SYNC and must be high for at least one PCM_CLK cycle. Within one frame, PCM_FSC must be low for at least PCM_CLK cycle. Bit PCM_FSCDEL sets the start position of PCM_FSC before or on the first bit (MSB). In slave mode PCM_CLK is input. The minimum received frequency is 256 kHz, the maximum is 12.288MHz. In slave mode the main counter can be stopped and resumed on a PCM1_FSC or PCM2_FSC rising edge. DOC-DS-14585-201807-1.0 Confidential Page 86 Inventek Systems ISM14585-L35 Specification Figure 46 PCM interface formats 9.14.1.5.3 I2S FORMATS The digital audio interface supports I2S mode, Left Justified mode, Right Justified mode and TDM mode. I2S mode To support I2S mode, the MSB of the right channel is valid on the second rising edge of the bit clock after the rising edge of the PCM_FSC, and the MSB of the left channel is valid on the second rising edge of the bit clock after the falling edge of the PCM_FSC. Settings for I2S mode: DOC-DS-14585-201807-1.0 Confidential Page 87 Inventek Systems ISM14585-L35 Specification • • • • • PCM_FSC_EDGE: 1 (all after PCM_FSC) PCM_FSCLEN: 4 (4x8 High, 4x8 Low) PCM_FSC_DEL: 0 (one bit delayed) PCM_CLK_INV: 1 (output on falling edge) PCM_CH0_DEL: 0 (no channel delay) Figure 47 I2S Mode TDM mode A time is specified from the normal ‘start of frame’ condition using register bits PCM_CH_DEL. In the left-justified TDM example illustrated in Figure 48, the left channel data is valid PCM_CH_DEL clock cycles after the rising edge of the PCM_FSC, and the right channel data is valid the same PCM_CH_DEL number of clock cycles after the falling edge of the PCM_FSC. By delaying the channels, also left and right alignment can be achieved. Settings for TDM mode: • PCM_FSC_EDGE: 1 (rising and falling PCM_FSC) • PCM_FSCLEN: Master 1 to 4 Slave waiting for edge. • PCM_FSC_DEL: 1 (no bit delay) • PCM_CLK_INV: 1 (output on falling edge) • PCM_CH0_DEL: Slave 0-31 (channel delay) Master 1-3 DOC-DS-14585-201807-1.0 Confidential Page 88 Inventek Systems ISM14585-L35 Specification Figure 48 I2S TDM mode (left justified mode) 9.14.1.5.4 IOM MODE In the IOM format, the PCM_CLK frequency is twice the data bit cell duration. In slave mode synchronization is on the first rising edge of PCM_FSC while data is clock in on the second falling edge. Settings for IOM mode: • PCM_FSC_EDGE: 0 (rising edge PCM_FSC) • PCM_FSCLEN: 0 (one cycle) • PCM_FSC_DEL: 0 (no bit delay) • PCM_CLK_INV: 0 (output on rising edge) • PCM_CH0_DEL: 0 (no delay) • PCM_CLK_BIT: 1 Figure 49 IOM format DOC-DS-14585-201807-1.0 Confidential Page 89 Inventek Systems ISM14585-L35 Specification 9.14.1.6 EXTERNAL SYNCHRONIZATION With the PCM interface in slave mode, the PCM interface supports direct routing through the sample rate converter (SRC). Any drift in PCM_FSC or other frame sync frequencies like 44.1 kHz can be directly resampled to e.g 48kHz internal sample rate. 10 MECHANICAL SPECIFICATION 10.1 Size of the Module The following paragraphs provide the requirements for the size and weight. The size and thickness of the ISM14585-L35 SiP is: • • 6mm (W) x 8.6mm (L) x 1.2mm (H): (Tolerance: +/- 0.1mm) 10.2 Mechanical Dimension Dimension: 6 x 8.6 x 1.2 mm3 DOC-DS-14585-201807-1.0 Confidential Page 90 Inventek Systems ISM14585-L35 Specification 11 Recommend Footprint (Board Design) 11.1 Module Dimension Measurement Unit: mm TOP View Note: • Please use Un-Solder Mask to design the Module Footprint. • There are two types pad size in the Module. o Rectangle : Pad size: 0.3 x 0.5 mm & Solder Mask size: 0.375 x 0.575 mm o Circle: Pad size (Φ): 0.5 mm & Solder Mask size (Φ): 0.6 mm • Please contact Inventek Systems for interest in a chip-down design. DOC-DS-14585-201807-1.0 Confidential Page 91 Inventek Systems ISM14585-L35 Specification 11.2 The X-Y Central Location Coordinates Unit: mm (Drawn dimensions with chip 0,0 at bottom right corner) (0,0) PIN_NUMBER PAD Size (mm) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.575 0.575 0.575 0.575 0.575 0.575 0.575 x x x x x x x x x x x x x x 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.375 0.375 0.375 0.375 0.375 0.375 0.375 Solder Mask_Size (mm) 0.575 0.575 0.575 0.575 0.575 0.575 0.575 0.5 0.5 0.5 0.5 0.5 0.5 0.5 x x x x x x x x x x x x x x 0.375 0.375 0.375 0.375 0.375 0.375 0.375 0.3 0.3 0.3 0.3 0.3 0.3 0.3 PIN_X(mm) PIN_Y(mm) 0.4875 0.4875 0.4875 0.4875 0.4875 0.4875 0.4875 0.75 1.25 1.75 2.25 2.75 3.25 3.75 4.3 3.8 3.3 2.8 2.3 1.8 1.3 0.4875 0.4875 0.4875 0.4875 0.4875 0.4875 0.4875 DOC-DS-14585-201807-1.0 Confidential Page 92 Inventek Systems ISM14585-L35 Specification PIN_NUMBER PAD_Size (mm) 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.5 mm (Φ) Solder Mask_Size (mm) 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.575 x 0.375 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.5 x 0.3 0.6 mm (Φ) PIN_X(mm) PIN_Y(mm) 4.25 4.75 5.25 5.5125 5.5125 5.5125 5.5125 5.5125 5.5125 5.5125 5.25 4.75 4.25 3.75 3.25 2.75 2.25 1.75 1.25 0.75 0.98 0.4875 0.4875 0.4875 1.3 1.8 2.3 2.8 3.3 3.8 4.3 5.1125 5.1125 5.1125 5.1125 5.1125 5.1125 5.1125 5.1125 5.1125 5.1125 6.95 DOC-DS-14585-201807-1.0 Confidential Page 93 Inventek Systems ISM14585-L35 Specification 12 Recommend Stencil Unit: mm TOP View Recommend: 1. ≦ 0.08mm THK stencil will has better solder paste deposit. 2. Type 4 or 5 solder ( fine powder size) will has better solution no matter clean or nonclean solder paste. 3. Nitrogen reflow oven. DOC-DS-14585-201807-1.0 Confidential Page 94 Inventek Systems ISM14585-L35 Specification 13 Recommended Reflow Profile Temperature 2450c 2170c 2000c 1500c Time Pre-heating Soldering 90~120 sec 60~90 sec 14 Package and Storage Condition 14.1 Package Dimension DOC-DS-14585-201807-1.0 Confidential Page 95 Inventek Systems ISM14585-L35 Specification 15 REVISION CONTROL Document: ISM14585-L35 External Release Date 7/04/2018 5.0 BLE + Cortex M0 Module DOC-DS-14585-201807-1.0 Author AS Revision 1.0 Comment Preliminary 16 CONTACT INFORMATION Inventek Systems 2 Republic Road Billerica Ma, 01862 Tel: 978-667-1962 Sales@inventeksys.com www.inventeksys.com Copyright 2017, Inventek Systems. All Rights Reserved. This software, associated documentation and materials ("Software"), referenced and provided with this documentation is owned by Inventek Systems and is protected by and subject to worldwide patent protection (United States and foreign), United States copyright laws and international treaty provisions. Therefore, you may use this Software only as provided in the license agreement accompanying the software package from which you obtained this Software ("EULA"). If no EULA applies, Inventek Systems hereby grants you a personal, non-exclusive, non-transferable license to copy, modify, and compile the Software source code solely for use in connection with Inventek's integrated circuit products. Any reproduction, modification, translation, compilation, or representation of this Software except as specified above is prohibited without the express written permission of Inventek. Disclaimer: THIS SOFTWARE IS PROVIDED AS-IS, WITH NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, NONINFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Inventek reserves the right to make changes to the Software without notice. Inventek does not assume any liability arising out of the application or use of the Software or any product or circuit described in the Software. Inventek does not authorize its products for use in any products where a malfunction or failure of the Inventek product may reasonably be expected to result in significant property damage, injury, or death ("High Risk Product"). By including Inventek's product in a High Risk product, the manufacturer of such system or application assumes all risk of such use and in doing so agrees to indemnify Inventek against all liability. Inventek Systems reserves the right to make changes without further notice to any products or data herein to improve reliability, function, or design. The information contained within is believed to be accurate and reliable. However, Inventek does not assume any liability arising out of the application or use of this information, nor the application or use of any product or circuit described herein, neither does it convey any license under its patent rights nor the rights of others. DOC-DS-14585-201807-1.0 Confidential Page 96 Inventek Systems
ISM14585-L35-P8 价格&库存

很抱歉,暂时无法提供与“ISM14585-L35-P8”相匹配的价格&库存,您可以联系我们找货

免费人工找货
ISM14585-L35-P8
  •  国内价格 香港价格
  • 1+61.185021+7.41630

库存:0