<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    your welcome!<br>
    <br>
    A little tutorial if you are interested.<br>
    <br>
    All current microprocessors and microcontrollers have non specific
    port drive capabilites. what I mean by this is that all data sheets
    are a little vague about what a pin can drive,(actually sink). This
    is due to the complex structure used to enable a pin to be
    multi-function and the low power current requirements.<br>
    A part is specified by how much heat it can tolerate which is
    directly related to it's speed and how much load is on ALL the pins.
    So, if you had 20 leds at 20ma on 20 pins, you would exceed the
    specs quickly...<br>
    NO pins are designed to SOURCE current,(only enough to drive a
    buffer) just to SINK current. This is an important aspect to a
    design.<br>
    <br>
    As dies shrink, the pin drive capability gets worse, since it takes
    physical area on the die to sink current.<br>
    The newer ARM parts are making this worse still, since they are all
    heading to the lowest possible power use and smallest die size for
    cost....<br>
    <br>
    8 bit micros can easily sink 10ma of current, many have a few pins
    defined as 'high drive' that will do more than that.This is mostly
    for driving leds directly in low cost consumer goods. It is easier
    to do this in this type of part, it has fewer transistors so die
    size is not that much of an issue.<br>
    <br>
    The X86 family is not designed to drive anything directly without a
    buffer, that is not it's purpose. Older parts like 80186 derivatives
    could do this because they had very different output pins and were
    intended to be used in small systems. True 'cpu' level parts are
    designed to drive memory arrays and nothing else.<br>
    <br>
    To be safe and provide for future expansion, any X86 design should
    have gpio pins buffered to the outside world. A dual voltage, 8 bit
    bi-directional buffer is a good choice here since you can mate the
    1.8v pin with a 5V or 3.3V output.<br>
    <br>
    If you pay attention to this, then when a newer, faster part comes
    out it will almost be a drop in replacement with little board
    re-layout required.<br>
    <br>
    I see this issue all the time in systems I work on. Designers do not
    understand the newer parts and what their requirements are, thinking
    they can treat them like the older parts.<br>
    <br>
    <font color="#3366ff"><i>Knowledge is power..and produces less
        smoke. <span class="moz-smiley-s3"><span> ;-) </span></span></i></font><br>
    Hope this helps<br>
    Ken<br>
    <br>
    <br>
  </body>
</html>