s3c2440(2410) Causes and solutions for USB HOST instability

Publisher:Serendipity66Latest update time:2022-07-27 Source: csdnKeywords:s3c2440  USB  HOST Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

Today, tpu took out a 2440 board for debugging and found that despite various measures, USBHOST would occasionally not work. UCLK was brought out through CLKOUT0 and checked with an oscilloscope. It was found that when it did not work, UCLK was not stable at all. So after careful consideration, there are several places that affect USB:

  1. External crystal oscillator 16.9344Mhz

  2. UPLL LOCKTIME of LOCKTIME register

  3. UPLLCON

  4. UPLL switch of CLKSLOW register

Next, exclude them one by one:

  1. The crystal oscillator is shared by MPLL and UPLL. I have never heard of MPLL being unstable.

  2. I suspect LOCKTIME is too large (0xffff), but reducing it has no effect.

  3. When UCLK is unstable, it is useless to repeatedly set UPLLCON.

  4. When UCLK is unstable, switching UPLL is effective! When UCLK is stable, switching UPLL will also cause instability.

      That is to say, UPLL may fail to synchronize when it starts. But why? UPLL and MPLL should have the same structure, and MPLL never has problems. UPLL just has a lower frequency than MPLL. Let's look for it from the frequency.

      Now set a relatively low frequency (such as 7Mhz) for UPLLCON. At this time, no matter how UPLL is turned on and off, UCLK is still not stable. Well, the dawn has appeared! Then set an ultra-high frequency (112Mhz). Haha, no matter how UPLL is turned on and off, or powered on, UCLK is very stable.

       The problem can be described as follows: UPLL cannot be reliably started at low frequency.
       Solution to the problem: First give UPLL a higher frequency, and then set the required frequency after it works stably.
       Note: If you want to turn on and off the UPLL switch in CLKSLOW, you must also follow this setting procedure.

       After this modification, the TPU switched on and off the power supply for more than 100 times, and UCLK was always very stable. This is only the case for 2440, but it should also apply to 2410. You can actually test and verify it.


Keywords:s3c2440  USB  HOST Reference address:s3c2440(2410) Causes and solutions for USB HOST instability

Previous article:S3C2410 touch screen driver code analysis 2
Next article:12864 LCD driver based on s3c2440

Recommended ReadingLatest update time:2024-11-16 15:59

Design and implementation of automotive safety and defense systems
  0 Introduction   In recent years, the combination of embedded technology and Internet technology has made embedded technology play an increasingly important role in remote control, intelligent transportation, video conferencing, security and other fields. With the improvement of people's living standards and the a
[Microcontroller]
Design and implementation of automotive safety and defense systems
Mouser Electronics now sells Infineon EZ-PD PMG1-B1 USB Type-C high-voltage microcontroller for portable electronic applications
April 17, 2023 – Mouser Electronics, a well-known New Product Introduction (NPI) agent focused on driving innovation in the industry, is now offering Infineon’s EZ-PD™ PMG1-B1 USB Type-C™ Micro controller. The EZ-PD PMG1-B1 microcontroller provides engineers with an integrated single-chip solution for high-voltage USB
[Microcontroller]
Mouser Electronics now sells Infineon EZ-PD PMG1-B1 USB Type-C high-voltage microcontroller for portable electronic applications
Solution to st-link usb communication error when downloading STlink
1. Download the old version of st-link firmware 2. Backup: Close the Keil software and back up the C:Keil_v5ARMSTLink folder (to prevent failure) 3. Copy: Copy the downloaded old version firmware to the C:Keil_v5ARMSTLink folder 3. Firmware Upgrade     Click ST-LinkUpgrade.exe to open the st-link upgrade softw
[Microcontroller]
Solution to st-link usb communication error when downloading STlink
Design of an audio system based on intelligent interface
0 Introduction With the development of modern electronic technology, the development of interface technology is also becoming more and more rapid, and the USB interface has developed and grown in such a background. In the traditional hardware architecture, the interface is regarded as a part of the
[Security Electronics]
Design of an audio system based on intelligent interface
How to Meet Wireless USB Design Challenges
When your design project includes emerging technologies such as wireless USB, you will definitely encounter many problems that are different from traditional technologies. In mature markets, the support system required to develop a complete product may already be in place. But in the face of emerging technologies su
[Analog Electronics]
ARM S3C2410 Hardware Manual Key Points
Introduction: S3C2410 provides interfaces for external ROM, SRAM, SDRAM, NOR Flash, and NAND Flash. The space of S3C2410 external memory is divided into 8 BANKS, each BANK has a capacity of 128M: when accessing BANKx (x from 0 to 7), the address range corresponding to x*128M to (x+1)*128M-1 SDRAM uses BANK6, and its p
[Microcontroller]
Design of DVB-T digital TV receiving system based on USB
      Introduction        Broadcasting technology is rapidly moving towards the digital age. The fields of radio and television, telecommunications, and computer technology are also constantly penetrating and merging with each other, which have brought about fundamental changes to the original radio and television sys
[Microcontroller]
Design of DVB-T digital TV receiving system based on USB
Design of USB Interface IP Core Based on FPGA
Abstract: This paper focuses on the design and verification of the key modules of the USB interface IP core. The USB IP core protocol RTL code is written in Verilog HDL. The data flow and transmission of the USB protocol are deeply analyzed. FPGA synthesis is performed on the Xilinx ISE software platform and success
[Embedded]
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号