Analog.com Analog Dialogue Wiki 简体中文
EngineerZone
EngineerZone
  • Log In
  • Site
  • Search
  • User
  • Support

    Popular Forums

    • RF and Microwave
    • Power Management
    • Video
    • FPGA Reference Designs
    • Precision ADCs
    • Linux Software Drivers
    • SigmaDSP Processors & SigmaStudio Dev. Tool

    Product Forums

    • A2B
    • Amplifiers
    • Analog Microcontrollers
    • Clock and Timing
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy Monitoring and Metering
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Processors and DSP
    • Switches/Multiplexers
    • Temperature Sensors
    • Voltage References
    View All

    Application Forums

    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Optical Sensing
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools and Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Reference Designs
    • Signal Chain Power (SCP)
    • Software Interface Tools
    • System Demonstration Platform (SDP) Support
  • Learn

    Highlighted Webinar

    Multidimensional Simulations of Beamformers and other RF Integrated Circuits in Keysight SystemVue

    Recent Discussions

    • Issue running built programs on Pluto
    • Activity: Simple Op Amps, For ADALM1000 Fig. 1.3 Buffering example
    • ADALM-PLUTO [NETWORK] vs [USB_ETHERNET]
    • Using buffer size different from 2**n
    • ADALM1000 Pixelpulse feature Source Voltage / Measure Current explanation

    Places

    • ADI Education Home
    • ADI Education China
    • ADI Education India
    • ADI Education Philippines
    • StudentZone (Analog Dialogue)
    • Virtual Classroom

    Latest Webinars

    • Multidimensional Simulations of Beamformers and other RF Integrated Circuits in Keysight SystemVue
    • Improve Smart Building Energy Efficiency with Industrial Ethernet Controlled Air Conditioning (HVAC) Systems
    • Sustainable Motion Control Solutions for High Performance Servo Drives
    • Audio Design Solutions for Augmented and Virtual Reality (AR/VR) Glasses
    • Robust Industrial Motor Encoder Signal Chain Solutions
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's quizzes AQQ235 about a bipolar common emitter amplifier - a kind proposal from our colleague Martin Walker
    View All

    Places

    • Community Help
    • Logic Lounge

    Resources

    • EZ Code of Conduct
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • Blogs

    Highlighted Blogs

    Hardware Holds The Key To Making Industrial Systems IEC 62443 Compliant

     

    Behind the Scenes of DIYRadio Blogs: An Introduction

    Latest Blogs

    • Empowering Surveillance Cameras To Capture A Scene Without Being Heard
    • Mastering The Metrics Makes Specifying Encoders Simpler
    • Understanding Secret Key Cryptography Without Formulas
    • 3 Reasons Why IO-Link is Changing Smart Factory Decision Making
    • EMC Mitigation: The Finer Points of Ferrite Beads
    Read All Blogs

    ADI Blogs

    • EZ Spotlight
    • The Engineering Mind
  • Partners

    Electronic Design Services - PartnerZone

    • Boston Engineering
    • Calian, Advanced Technologies
    • Colorado Engineering Inc. (DBA CAES AT&E)
    • Clockworks Signal Processing
    • Epiq Solutions
    • Fidus
    • PalmSens
    • Richardson RFPD
    • Tri-Star Design, Inc.
    • VadaTech
    • Vanteon
    • X-Microwave
    View All
Interface and Isolation
Interface and Isolation
Documents ADuM4160 wiring with uC
  • Q&A
  • FAQs/ Docs
  • Members
  • Tags
  • More
  • Cancel
  • Documents
  • INTERFACE AND ISOLATION SUPPORT COMMUNITY
  • Tags List (Interface & Isolation)
  • +General: FAQ
  • +AD5700: FAQ
  • ADG324x: FAQ
  • +ADM2687: FAQ
  • +ADN4695E: FAQ
  • +ADuM1100: FAQ
  • +ADUM1200: FAQ
  • +ADuM1201: FAQ
  • +ADuM1230: FAQ
  • +ADuM1250: FAQ
  • +ADuM1251: FAQ
  • +ADUM1300: FAQ
  • +ADuM1301: FAQ
  • +ADUM1400: FAQ
  • +ADUM1401: FAQ
  • +ADuM1402: FAQ
  • +ADuM1420: FAQ
  • +ADuM1440: FAQ
  • +ADuM1441: FAQ
  • +ADuM144x: FAQ
  • +ADuM2400: FAQ
  • +ADuM2401: FAQ
  • +ADuM2402: FAQ
  • +ADUM3070: FAQ
  • +ADuM3160: FAQ
  • +ADuM3190: FAQ
  • +ADuM3201: FAQ
  • +ADuM3220: FAQ
  • +ADuM3221: FAQ
  • +ADuM3223: FAQ
  • +ADuM3440: FAQ
  • +ADuM3470: FAQ
  • +ADuM3471: FAQ
  • +ADuM3480: FAQ
  • +ADuM3482: FAQ
  • -ADuM4160: FAQ
    • ADUM3160/4160: Can this device be used for USB-IF standard host isolation
    • ADuM4160 PIN input
    • ADuM4160 wiring with uC
    • ADuM4160 with SMSC USB2514B
    • ADUM4160/ADUM3160: Can these devices support OTG (On The Go) USB?
    • ADUM4160/ADUM3160: Is there a difference between the upstream and downstream port?
    • ADuM4169:  Powering VBUS1 from 5V and VBUS2 from 3.3V.
    • EVAL-ADUM4160 physical dimensions
  • +ADuM4190: FAQ
  • +ADuM4223: FAQ
  • +ADuM4400: FAQ
  • +ADuM4472: FAQ
  • +ADuM5000: FAQ
  • +ADUM5010: FAQ
  • +ADuM5201: FAQ
  • +ADuM5202: FAQ
  • +ADuM5230: FAQ
  • +ADuM5241: FAQ
  • +ADuM5400: FAQ
  • +ADuM5401: FAQ
  • +ADuM5402: FAQ
  • +ADuM5403: FAQ
  • +ADuM6000: FAQ
  • +ADuM6132: FAQ
  • +ADuM620X: FAQ
  • +ADuM6400: FAQ
  • +ADuM6401: FAQ
  • +ADuM6402: FAQ
  • +ADuM7234: FAQ
  • +EVAL-CN0313: FAQ
  • +isoPower: FAQ
  • +MLVDS: FAQ
  • +SPIsolator: FAQ

ADuM4160 wiring with uC

Q 

In a current design of a medical device, i have to establish an isolated USB
connection between a PIC microcontroller and a host and I intend to use the
ADuM4160 for that purpose. My microcontroller therefore serves the role of an
USB 2.0 USB device.

However, I have some questions about the correct wiring/usage of some pins
between ADuM4160 and the microcontroller (PIC18F2550 / dsPIC33Exx).

1.) How to use the internal pullups of ADuM4160 together with pullups availabe
integrated into the microcontroller?
If I have understood the PIN input functionality correctly, the (ADuM-)internal
pullup serves two purposes: It is first used for signaling attachment to the
host. The internal uC pull-up can’t be used for this anymore because of the
isolation barrier and thus I have to use the PIN pin to enable the pull-ups on
the other side of the isolation barrier. That point is clear so far.

a.) The other thing the (uC or ADuM-)internal pull-ups can do is create the
idle state of the bus.
It isn’t clear to me if the internal pull-up in the ADuM4160 is required or not
in this case.
b.) The datasheet refers to lots of “smarts” and “control logic” that determine
the state of the isolation drivers. The microcontroller needs to see the idle
state and not the reset state. If the isolator control logic doesn’t allow the
idle state to be pushed back to the micro, then if I disable the internal micro
pull-ups, the device would not work. If the isolator does push the idle back to
the device, then I should be able to disable the internal pull-ups. Could you
give me an advice on how to use the PIN controlled pullup of the ADuM correctly
together with the micro-controller internal pullups?


2.) Powering the isolator (VBUSx)
a.) I want to use the micocontroller in a self-powered scenario, but the
upstream side of the isolator should derive its power from VBUS voltage of the
USB bus. Therefore, I use the following "voltage-setup" on the upstream side of
the Isolator: SPU, PDEN, VBUS1 as well as VDD1 are all connected to VBUS of the
USB port.
The question on the upstream side is: The datasheet notes that it is possible
to supply this side by only 5V on VBUS1 and Vdd1 open (internal regulator
establishes 3V3 on VDD1) or apply 3.3V on both VBUS1 and VDD1. It is also ok to
connect both VBUS1 and VDD1 to 5V as I described above?)

b.) Concerning the downstream side and usage of the PIN input:
Since the upstream side is powered from VBUS and the Isolator draws some
current from the bus, the USB spec says that I have 100ms time-span from the
time instance at which VBUS is established to pull the PIN high.
c.) I should not have PIN tied high when it is not connected to the bus.  If I
connect PIN to the Vdd2 pin and VBUS2 to the VBUS of the USB port, I will meet
both requirements, but this is useless since I loose the isolation property If
i power both sides of the isolator by VBUS, right?
Therefore, I would run both VBUS2 and VDD2 pins on an seperated, device-side
3V3 supply. But how should i operate the PIN line?
d.)(If the peripheral would be comlpetey self-powered and draws no power from
the USB power, then i could set the PIN via the microcontrolelr at any time as
long as VBUS is detected, but since i supply the isolator upstream side via
VBUS of the USB port, I have to respond in time!?)

 

A 

1.)
a.) The ADuM4160 can be thought of as creating two separate USB busses, one on
each side of the barrier. Each of these busses must have a pullup connected to
the appropriate data line to give the correct idle state and pull downs on both
lines to make sure that disconnected lines are pulled down properly. So the uC
can use its internal pullups and the downstream port of the ADuM4160 will
provide the pull downs.
b.) In the upstream side of the ADuM4160, we have internal pullups under the
control of SPU and PIN. SPD determines some buffer parameters and controls
which line is connected to the pullup. PIN will apply the pullup when it is
high. This allows the enumeration to be controlled with a logic pulse from the
downstream side. PIN can be either tied high or connected to a GPIO port on the
uC. It also allows the peripheral to force a re-enumeration by pulling PIN low
and the taking it high again. It looks to the host like the cable was
disconnected then reconnected.

2.)
a.) No, this will not harm the ADuM4160, but it will cause the I/O voltages to
have a 5V logic. This is not allowed by the USB standard.

b.) This is the time that the uC is allowed to answer the host. If the uC is
not pulling PIN high, then the host still thinks the cable is unplugged so
there is no time limit. It is 100uS from the time that D+ is pulled high by the
peripheral.

c.) Most customers simply tie the lines high. VDD1 to PDEN, and SPU and VDD2 to
SPD, and PIN  and the USB works fine. The ADuM4160 will pull DD+ and DD- low
then to idle when side 1 has no power, side 2 goes to idle  and wait till the
host pulls D+ and D- low to start enumeration. The enumeration process will
reset the interface when a cable with power is applied.

d.) No, the processor will detect the pullup as soon as the cable is inserted
and try to enumerate, this will be passed to the uC and it will reset and
enumerate. We have found very few instances where it is vital to know that
there is bus power. If you must know, use a Darlington optocoupler as a Vbus
detect.

  • adum4160
  • Share
  • History
  • More
  • Cancel
Related
Recommended
Social
Quick Links
  • About ADI
  • ADI Signals+
  • Analog Dialogue
  • Careers
  • Contact us
  • Investor Relations
  • News Room
  • Quality & Reliability
  • Sales & Distribution
  • Incubators
Languages
  • English
  • 简体中文
  • 日本語
Newsletter

Interested in the latest news and articles about ADI products, design tools, training and events? Subscribe today!

Sign Up
Analog Logo
©1995 - 2023 Analog Devices, Inc. All Rights Reserved
沪ICP备09046653号-1
  • Sitemap
  • Legal
  • Privacy & Security
  • Privacy Settings
EngineerZone Uses cookies to ensure you get the best experience in our community. For more information on cookies, please read our Privacy & Security Statement.