8-bit Knowledge Base

    Publish
     
      • USB MCU only responds during debugging or with USB plugged in

        BrianL | 04/95/2016 | 08:29 PM

        Symptoms

        My USB MCU (EFM8UB1, for example), while using the USB Library, has peripherals that should be active during all times. However, these peripherals only seem to work during a debug session or when the device is connected to a USB cable. What is happening?

        Diagnosis

        It is likely that the USB Library is configured to put the device into Suspend mode when it is not connected to a USB cable. This will cause all other peripherals to stop functioning, since Suspend will disable all of the device's clocks that supply other peripherals. The debugger also has the ability to remove the device from Suspend mode, allowing peripherals to resume operation.

        Solution

        The USB Library can be configured to avoid Suspend mode, even when USB is disconnected. This can be accomplished by modifying usbconfig.h.

         

        The following code should be modified:

         

        #define SLAB_USB_PWRSAVE_MODE ( USB_PWRSAVE_MODE_ONSUSPEND \ 
        | USB_PWRSAVE_MODE_ONVBUSOFF ) 
        

        to:

         

         

        #define SLAB_USB_PWRSAVE_MODE (USB_PWRSAVE_MODE_OFF) 

         

      • What code does the ADC return when above VREF?

        BrianL | 04/95/2016 | 08:29 PM

        Question

        If I use an ADC to measure a voltage that is above VREF, what code will the ADC return?

        Answer

        For a single-ended input, the ADC will return the following codes:

         

        • 0V to VREF -- ADC code is proportional to the input voltage.
        • VREF to VDD -- ADC code is at its maximum value.
        • Above VDD -- ADC code is indeterminate, but will most likely be near the maximum.
      • C8051F342 firmware for EzRadio Pro Dongle

        BrianL | 04/95/2016 | 08:27 PM

        Several EzRadio Pro development kits come with an EzRadio Pro Dongle. This dongle contains a C8051F342 processor and a Si4431 radio. The Wireless Development Suite has the ability to upload new firmware to this C8051F342 processor in order to change the behavior of the dongle. The WDS has multiple pre-compiled .hex files for this processor, but customizing the dongle is not usually possible.

         

        However, the attached firmware can be customized and loaded onto the Dongle to change its behavior. After re-building the project and generating a cusstom hex file, the firmware can be uploaded to the dongle by performing the following:

         

        1. Connect the dongle to the PC
        2. Start WDS
        3. A prompt will appear to select an application. Select "Firmware Upgrade"
        4. Select "Browse for Firmware" and navigate to the custom .hex file.

        The new firmware will be loaded onto the dongle.

         

      • VBUS pin connection requirements

        BrianL | 04/95/2016 | 08:26 PM

        Question

        Is the VBUS signal required to be connected on 8-bit USB MCUs?

        Answer

        The USB transceiver on these MCUs has a “USB active” signal.  This signal is required for the transceiver to communicate over USB.

         

        On devices prior to the EFM8UB1, the VBUS pin was hard-tied to this USB active signal.  This mean that having VBUS high was required for the USB transceiver to communicate.

         

        On EFM8UB1 devices, there are two options:

        1. Set up the VBUS pin so it’s hard-tied to the USB active signal, like all the other USB devices we have.
        2. Set up the VBUS pin as a GPIO and set the USB active signal via a register.

         

        In the second case, connecting that VBUS / GPIO pin to the USB connector is not required.

      • Why is my Capactive Sense Profiler resetting regularly (every 5 seconds) with the C8051F97x kit?

        delu | 04/95/2016 | 08:25 PM

        Question

        When I try the Capacitive Sense Profiler in Simplicity Studio with the example code, it doesn't work and resets regularly.  What's going on?

        Answer

        This behavior occurs because the kit reset by Simplicity Studio and the USB Debug Adapter. To prevent this from happening:

        1. Disconnect the UDA from the PC.
        2. From the home page of SS, click on Refresh detected hardware on the middle part of left side, then navigate to Device Manager > TCF Device Discovery > USB Discovery and set the Refresh interval to Never.

         

      • EFM8LB1 ADC high quality inputs

        Stephen | 04/95/2016 | 08:21 PM

        Question

        The EFM8 Laser Bee 1 reference manual mentions the ADC has "high quality" inputs in section 12.3.1. How are these inputs better than the normal inputs?

        Answer

        Please refer to the ADC's Input Pin Capacitance and Input Mux Impedance specification in the datasheet table 4.9. Specifications for both the high quality and normal inputs are listed.