allanswers.org - COP8 microcontroller FAQ

 Home >  Electronics and Technologymicrocontroller-faq >

COP8 microcontroller FAQ

Section 1 of 2 - Prev - Next


Archive-name: microcontroller-faq/COP8
Posting-Frequency: monthly (20thish of each month)
Last-modified: 20June1995
URL: http://www.nsc.com/

This article is a draft collection of information sources on the line of
National Semiconductor Corporation ("National") COP8 microcontrollers.

The following topics are addressed:

0)  Changes Since Last Time
0.1)  Why should I read this?

1)  ABOUT THIS FAQ
1.1)  Who put this FAQ together?
1.2)  How can I contribute to this list?
1.3)  What newsgroups will this FAQ be posted to?
1.4)  May I post this FAQ to my local BBS?
1.5)  Are there any FAQs pertaining to other microcontrollers?

2)  ABOUT THE COP8
2.1)  The COP8 microcontroller
2.2)  COP8 flavors / Numbering Scheme
2.3)  COP8 chips and approximate prices (in US $)
2.4)  Advantages in implementing control applications on this
      family of microcontrollers
2.5)  Techy Details
2.5.1) How fast are the parts?
2.5.2) What is the operating voltage of the devices?
2.5.3) How can I guarantee that my program will run reliably?
2.5.4) What kind of power savings features are available?
2.5.5) What about EMI?
2.5.6) Instruction Set
2.5.7) Can I hook up a LED to pins direct?

3)  COP8 PRODUCTS
3.1)  FTP sites
3.2)  BBSs
3.3)  Free languages and development tools
3.4)  Free C compilers
3.5)  Plans for COP8-based boards
3.6)  Commercially available products
3.7)  Contacting National

4)  COP8 DOCUMENTATION
4.1)  Periodicals
4.2)  Data Books / Application Notes


----------------------------------------------------------------------

0)  Changes since Last Time

    Added a reference to coptools@esd.nsc.com (a support line for help on 
    cop8 tools).

    Somebody pointed out to me the other day - Since the COP8 and the 8051
    are modified harvard - they can do a load/store instruction in one
    instruction cycle. A Von Neuman machine can not do that. This makes
    (for memory intensive applications) a harvard machine almost 2 times
    as fast as a Von Neuman running at the same speed..... 

    Maybe architecture does make a difference on a 8-bit controller....

0.1) Why should I read this document?

    The COP8 is a pretty cool 8-bit microcontroller that has never had a
    lot of exposure into the hobbiest/smaller manufactures marketplace.
    I would like to change that. (& on the internet the indiviaul can do
    anything!)

    In a nutshell, some of the strengths of the COP8 are:
     o Efficient Instruction Set - 77% os instructions are single cycle/
       single byte
     o Efficient Input/Output utilization - i.e. on a 44-pin package > 80%
       of this pins are devoted to I/O. Efficient pin usage facilitiates a
       cleaner hardware design and smaller die size = Overall cost reduction
     o Powerful Timers - i.e. processor-independent Pulse Width Modulation
       (PWM) and capture capabiliy - less software and processor overhead
     o Low Poer Consumption (Low Voltage / Low Current)
     o Multi-Input Wake Up (MIWU) - Only COP8 offers this unique feature
     o Wide range of temperature and power supply operation
     o Low cost Basic Family to address low-end 8-bit applications and
       feature family to address mid-to-high end 8-bit market

    And the Opposite side to the coin (have to be fair):
     o Difficult (i.e. none) external memory interface
     o No Multipy / Divide instructions
     o Multiply / Divide hardware only offered on a couple devices
     o Lack of EEPROM, and LCD (Although they are working on it)
     
-----------------------------------------------------------------------
1)  ABOUT THIS FAQ

1.1)  Who put this FAQ together?

   After reading the excellent FAQs on the 8051 (Intel/Phillips) and
   the 68hc11 (Motorola) put together by Russ Hersch 
    (Nice work Russ), I decided to make a FAQ
   on the COP8, National's family of 8-bit microcontrollers.

   I work for National in the Geographic Business Unit (GBU) responsible for
   technical support for New Business Development (NBD), so if you want to 
   call this advertising, and don't want me to continue to post this in 
   the future, please email me (that doesn't mean I will stop, but you 
   will get it off your chest ;-). I think that I have kept most of the 
   hype out - please let me know if you think otherwise.

   This FAQ will hopefully give everyone a brief overview of why you should
   have a further look at the COP8 instead of automatically picking a
   HC11, or 8051. Not that they are bad parts, in fact they are better
   at some things than the COP8. And COP8 is much better at some things
   than the HC11 or 8051. The COP8 is a good chip, and well worth
   learning and developing with. With everyone's help this FAQ should 
   turn out to be a useful document.

   Because I admire Russ's FAQ's and I was too lazy to take the time to think 
   up my own format, I have copied his basic format and a couple of sections 
   (with his permission, of course).

1.2)  How can I contribute to this list?

   I ask that if you have any suggestions or additions, or you would like to 
   correct any of the information contained herein, please send me a note.

        My Email address is:  rgetz@esd.nsc.com
        My Smail address is:
              Robin Getz
              National Semiconductor Corporation
              MS 16-325
              Santa Clara, CA, 94086
              USA

   I certainly hope that those of you who know of interesting items for
   the COP8 will share with everyone by contributing to this list.

   If you are a manufacturer and have an anonymous ftp site available
   that supports the COP8, please let me know by Email so that I can
   add it to this FAQ.


1.3)  What newsgroups will this FAQ be posted to?

   This FAQ will be posted to the following newsgroups:
         comp.realtime       Issues related to real-time computing.
         comp.robotics       All aspects of robots and their applications.
         sci.electronics     Circuits, theory, electrons and discussions.
         comp.arch.embedded  Embedded computer systems topics.

   And sometime later, depending on what people think....
         news.answers
         comp.answers
         sci.answers

   The first four newsgroups often contain discussions, announcements,
   or information on microcontrollers.  Check them out from time to 
   time. By posting to the *.answers newsgroups, the FAQ will 
   automatically be archived.  The archive name of this FAQ (also 
   included in the header) is: cop8-microcontroller-faq.

   Items will be posted once a month.  I can't promise that
   it will be on time, but I hope to post it on the 25th of each month.

   You may also want to check out the following newsgroups, since they
   occasionally have items of interest for COP8 users.
         comp.lang.misc
         alt.comp.hardware.homebuilt


1.4)  May I post this FAQ to my local BBS?

   I am putting no restrictions on the use of this FAQ except - It must
   be distributed in its entirety with the copyright notice, and no
   financial gain may be realized from it.  After all, I have spent, and
   continue to spend, a lot of time on this, and the only thing that I
   intend to gain from it is more information on the COP8, and getting
   to know my fellow COP8 groupies better.

   For this reason I have appended a copyright statement to the end of
   this FAQ.  I feel pretty silly doing this, but I just want to protect
   myself.  The copyright does not limit the use of this list for 
   non-commercial purposes.  I hereby give my permission to one and all
   to pass this list around and post it wherever you want - as long as
   it is not for financial gain.

       Thanks.


1.5)  How about FAQs on other microcontrollers?

   If anyone wishes to start a FAQ on another microcontroller, please
   feel free to copy the format of this FAQ (I did).  With a common 
   format, we will all benefit when trying to find information on a 
   particular microcontroller.  If anyone has any comments on the format
   itself, I'm open for suggestions.

   Other Microcontroller FAQs

     Subject:  68hc11 microcontrollers
     Newsgroups:  comp.realtime
                  comp.robotics
                  sci.electronics
     Archive:  rtfm.mit.edu :  
               /pub/usenet/comp.answers/microcontroller-faq/68hc11
               /pub/usenet/sci.answers/microcontroller-faq/68hc11
               /pub/usenet/news.answers/microcontroller-faq/68hc11
     Maintainer:  Russ Hersch
                  Email:  sibit@datasrv.co.il

     Subject:  PIC microcontrollers
     Newsgroups:  comp.realtime
                  comp.robotics
                  sci.electronics
     Maintainer:  Tom Kellett
                  Tom@takdsign.demon.co.uk

     Subject:  8051 microcontrollers
     Newsgroups:  comp.sys.intel
                  comp.realtime
                  comp.robotics
                  comp.lang.forth
                  sci.electronics
     Archive:  rtfm.mit.edu :  
               /pub/usenet/comp.answers/microcontroller-faq/8051
               /pub/usenet/sci.answers/microcontroller-faq/8051
               /pub/usenet/news.answers/microcontroller-faq/8051
     Maintainer:  Russ Hersch
                  Email:  sibit@datasrv.co.il

     Subject:  Microcontroller primer and FAQ
     Newsgroups:  comp.sys.intel
                  comp.realtime
                  comp.robotics
                  sci.electronics
                  alt.comp.hardware.homebuilt
     Archive:  rtfm.mit.edu :  
               /pub/usenet/comp.answers/microcontroller-faq/primer
               /pub/usenet/sci.answers/microcontroller-faq/primer
               /pub/usenet/news.answers/microcontroller-faq/primer
     Maintainer:  Russ Hersch
                  Email:  sibit@datasrv.co.il

   Additional FAQs of interest

     Subject:  Robotics
     Newsgroups:  comp.robotics
     Maintainer:  Kevin Dowling
                  Email:  nivek@ri.cmu.edu

     Subject:  Electronics
     Newsgroups:  sci.electronics
     Maintainer:  Filip Gieszczykiewicz
                  Email:  filip@smi.med.pitt.edu

     Subject:  Real-time
     Newsgroups:  comp.realtime, comp.answers, news.answers
     Archive:  rtfm.mit.edu : pub/usenet/comp.realtime
     Maintainer:  Mark Linimon
                  Email:  linimon@nominil.lonesome.com

     Subject:  Neural Networks
     Newsgroups:  comp.ai.neural-nets,comp.answers,news.answers
     Archive:  rtfm.mit.edu : pub/usenet/neural-net-faq
     URL:  http://wwwipd.ira.uka.de/~prechelt/FAQ/neural-net-faq.html
     Maintainer:  Lutz Prechelt
                  Email:  prechelt@ira.uka.de

     Subject:  Fuzzy Logic
     Newsgroups:  comp.ai.fuzzy,comp.answers,news.answers
     Archive:  rtfm.mit.edu : pub/usenet/fuzzy-logic/
     URL:  http://www.cs.cmu.edu:8001/Web/Groups/AI/html/faqs
             /ai/fuzzy/part1/faq.html (should be one line)
     Maintainer:  Mark Kantrowitz
                  Email:  mkant+@cs.cmu.edu 

   Other useful articles are also available.  One article provides a
   tabular cross reference of features and pin counts. This lists was
   compiled and is being maintained by Roger Nelson
   .

   For more information on various microcontrollers and their features,
   refer to the Microcontroller primer and FAQ listed above. URL:
   ftp://rtfm.mit.edu/pub/usenet/comp.answers/microcontroller-faq/primer

----------------------------------------------------------------------

2)  ABOUT THE COP8


2.1)  The COP8 microcontroller

   General

   Firstly - COP8 (Control Orientated Processor) actually stands for 
   something. (Although the rest of the numbering scheme leaves something 
   to be desired). This is not a failed microprocessor that was cut down for 
   8-bit control (like some others). This is a full featured microcontroller 
   designed for bit level control. (Although National does make a 32-bit 
   processor (32000), the COP8 has nothing to do with it).

   The COP8 is a powerful 8-bit data, 15-bit address (32K max ROM)
   microcontroller from National with an instruction set that is 
   similar (somewhat) to the 8051, although it is much easier for
   the beginner to understand and pick up (In my unbasised opinion
   of course :)

   Depending on the variety, the COP8 has built-in EEPROM/OTPROM, RAM,
   digital I/O, timers, A/D converter, PWM generator, and synchronous
   and asynchronous communications channels (RS232 and MICROWIRE/PLUS).
   Typical current draw is less than 12ma, with powerdown modes that 
   can reduce current draw to typically less than 1 uA. (Although I 
   have seen ***50nA***)

   A typical COP8 contains:
      - CPU with Boolean processor
      - fully static processor
      -  up to vectored 14 interrupts: 2 are external (8 pins can 
          be ORed into one interrupt, for a total of 9 external)
          - arbitration levels
      - 1,2 or 3 16-bit timer/counters (min 1 max 3)
      - programmable full-duplex serial port (UART/USART or 
          MICROWIRE/PLUS)
      - up to 56 I/O lines (11 pins min + Vcc/GND/Reset/CKI/CKO)
      - up to 512 bytes RAM (64 bytes min)
      - up to 16K ROM/EPROM in some models (768 bytes min)
      - new parts are LOW EMI (typically lower than 14dB emissions)

   The COP8 peripherals are POWERFUL. The timer that you will find on 
   a COP8 is much more powerful than on a typical microcontroller.
   I will get into this a little later.

   The COP8 instruction set is optimized for the one-bit operations so
   often desired in real-world, real-time control applications.  The
   Boolean processor provides direct support for bit manipulation.  This
   leads to more efficient programs that need to deal with binary input
   and output conditions inherent in digital-control problems.  Bit
   addressing can be used for test pin monitoring or program control
   flags.

    Architecture

    The COP8 is a modified Harvard architecture. With the Harvard 
    architecture, the ROM is separated from the data memory (RAM). Both 
    ROM and RAM have their own separate addressing space with separate 
    address busses (there are two 0 addresses - 1 for ROM, 1 for RAM). The
    COP8, though based on the Harvard Architecture, permits transfers from
    ROM to RAM (hence modified).

    The CPU has an 8-bit accumulator (A) that all arithmetic operations go 
    into. Two 8-bit index registers are present (X, B) to provide indexing 
    to anywhere in the memory map. Having the two index registers means the 
    COP8 is very good for processing data.  Although an 8-bit processor, the 
    COP8 has some 16 bit (and bigger) peripherals (timers, 24 by 8 divide, 
    16 by 8 multiply, 16-bit A/D). An 8 bit stack pointer is also present, 
    and instructions are provided for stack manipulation.

    Feature Family / Basic Family

    The COP8 family is divided into two families - the Basic Family and 
    the Feature Family. There is little difference between the devices 
    although the feature family has the following advantages:
      - 7 more instructions (including PUSH and POP)
      - 2 auto-reload registers on timers / Basic family only has one
      - IDLE Mode (Basic family only offers HALT mode)
      - powerful peripherals ( A/D, UART, high speed timers, WatchDog,
        comparators, etc. )

    Onboard subsystems

    Timer -  Main timer system comprises of a single 16-bit counter
    (2 x 8-bit registers) clocked at tc (1MHz at Crystal frequency of 
    10MHz). Timers have at least one associated register and all Feature 
    Family devices have 2 registers. All timers have at least 1uSec 
    accuracy and some have 100nS - check datasheet for specific details.
    Timers can be configured in the following methods:
       - External Counter (clocked on positive or negative edge)
       - Timer w/ Auto-Load Register (PWM output)
       - Timer with Capture (triggered on positive or negative edge)

    Pulse Stream Generators - Some of the devices have specific timers
    that are 100ns resolution 16-bit PWM (Pulse Width Modulation) outputs 
    only.

    Multi-Input Wakeup -The Multi-Input WakeUp (MIWU)  is used to return
    (wakeup) the microcontroller from either HALT or IDLE modes. 
    Alternately MIWU may also be used to generate up to 8 edge 
    selectable external interrupts.  The user can select whether the 
    trigger condition on the pins is going to be either a positive edge 
    (low to high) or a negative edge (high to low).

    A-D Converters - 8-bit, 8-channel (multiplexed input) SAR 
    (Successive Approximation Register). Two dedicated pins Vref and 
    Agnd are provided for voltage reference. The time required for an 
    A/D conversion is dependent on the prescaler (fast conversion = more
    power consumed - you can run the microcontroller fast - and the A/D 
    slow). The A/D converter has the following different modes of 
    operation:
      - One channel conversion then stop
      - Any specific channel to be scanned continuously
      - Any differential channel pair measurement and then stop
      - Any differential channel pair be scanned continuously

    It also has a device that supports single slope A/D - the device 
    contains a constant current source, a comparator, an analog 
    mutliplexer, and a couple of 16-bit timers. These can be configured to
    give the designer a 16-bit (resolution - not accuracy) A/D converter.

    UART / USART - Asynchronous or synchronous serial communication block.
    Clock generation (for asynchronous operation) is very sophisticated - 
    standard baud rates (300,1200,2400,4800,9600,19200,38400) can be generated
    without having to select some obscure crystal frequency (Run the 
    controller at full speed). Synchronous operations occur at 16 x the speed 
    of asynchronous. Framing formats supported are: 1 Start, 7,8 or 9 data, 
    Parity/No Parity, 1 or 2 stop. The Attention Mode (or Network Mode) is 
    also supported, whereby a single master / multi-slave environment is set 
    up. This is a *very* powerful feature that can be used almost anywhere 
    when you need to talk to more than one controller / CPU. Diagnostic 
    mode is also enhanced from a regular UART. Internally, the Transmit 
    Shift Register is "looped back" into the Receive Shift Register. 
    Externally the receiver input pin (RDX) is connected to the 
    transmitter output pin(TDX). This allows the external UART to do a 
    continuity check of the external lines.

    MICROWIRE/PLUS - A Synchronous serial communications port, comprised 
    of Serial Clock (SK), Serial Data In (SI), Serial Data Out (SO) and 
    optional chip selects.  There are many specific MICROWIRE, MICROWIRE/PLUS 
    and SPI devices, (the only difference between SPI and MICROWIRE is 
    when the data is shifted in - and with MICROWIRE/PLUS - you control that) 
    such as A/Ds, D/As, EPROM, FLASH, EEPROM, MUX's.....

    Comparator - A differential comparator, with a pair of inputs (positive 
    and negative) and an output. The comparator can be software disabled (to 
    save power). The output can either be brought outside (via a pin) or left 
    as a bit somewhere inside the controller.

    BrownOut - BrownOut protection is usually an on-board protection circuit 
    that resets the device when the operating voltage (Vcc) is lower than the 
    Brownout voltage.  The device is held in reset and will remain in reset 
    when Vcc stays below the Brownout voltage. The device will resume 
    execution (from reset) after Vcc has risen above the BrownOut Voltage.

    CAN - The COP8 supports applications which require a low speed CAN 
    interface. The interface is compatible with CAN Specification 2.0 part B,
    without the capability to receive/transmit extended frames. However, 
    extended frames on the bus are checked and acknowledged according to the 
    CAN specification. The maximum bus speed achievable with the CAN interface
    is a function of crystal frequency, message length and software overhead. 
    The device can support a bus speed of up to 1 Mbit/s with a 10MHz 
    oscillator and 2 byte messages.

    Hardware Multiply / Divide - This block supports a 1 byte x 2 bytes
    (3 byte result) multiply operation (in one instruction cycle - 1uS) or a
    3 byte x 2 byte (2 byte result) divide operation (in two instruction 
    cycles - 2uS). There are no multiplication errors that can occur ( FFh x
    FF FFh = FE FF 01h which fits in three bytes). Divide errors are trapped
    (overflow FF FF FFh / 1h = FF FF FFh which is bigger than two bytes and
    division by zero)

2.2)  COP8 flavors / Numbering Scheme

    All devices include at least one 16-bit timer, MICROWIRE/PLUS serial
    interface, common pinouts, common instruction set and most are 
    available in ...

    Basic Family Numbering Scheme

    COP8720CJ-XXX/N
    ^^^^^^^^^ ^^^ ^ 
       |||||| ||| \-- Package Type : N  - DIP
       |||||| |||                  : WM - Surface Mount
       |||||| |||                  : V  - PLCC
       |||||| |||                  : J  - DIP Windowed
       |||||| |||
       |||||| \\\---- Unique ROM id Code assigned by National
       ||||||         NOTE: OTP and windowed parts do not have
       ||||||               this code
       ||||||
       ||||\\-------- Features : CJ - Brown-out,high speed timers,
       ||||                            comparators,MIWU
       ||||                      C  - 16-bit timer 
       ||||
       |||\---------- Number of pins : 0 - 28/40/44 (depends on package)
       |||                           : 1 - 28
       |||                           : 2 - 20
       |||                           : 3 - 16
       |||                           : 8 - Indicates Feature Family 
       |||                           : 5 - Indicates Feature Family 
       |||                           : 4 - Indicates Feature Family 
       |||
       ||\------------ ROM/RAM : 2 - 1k ROM / 64 btyes RAM 
       ||                      : 4 - 2k ROM / 128 bytes RAM
       ||                      : 8 - 4k ROM / 128 bytes RAM
       ||
       |\------------- If 7 is there indicates Programmability (EPROM)
       |               If 6 is there indicates EEPROM for RAM
       |               If nothing indicates ROM device with volatile RAM
       |
       \-------------- Temp range : 6 - Military (-55C to +125C)
                                    8 - Industrial (-40C to +85C)
                                    9 - Commercial (0C to +70C)

    Feature Family Numbering Scheme

    COP8788EG-XXX/N-R
    ^^^^^ ^^^ ^^^ ^ \ - OTP Oscillator Option: R - RC
       || ||| ||| |                            X - Crystal
       || ||| ||| |
       || ||| ||| \-- Package Type : N  - DIP
       || ||| |||                  : WM - Surface Mount
       || ||| |||                  : V  - PLCC
       || ||| |||                  : J  - DIP Windowed
       || ||| |||
       || ||| \\\---- Unique ROM id Code assigned by National
       || |||         NOTE: OTP and windowed parts do not have
       || |||               this code
       || |||
       || ||\-------- Features : F - 2 timers, 8-bit, 8-channel ADC
       || ||                     G - 3 timers, 2 comparators, UART
       || ||                     C - 1 timer, CAN, 2 comparators
       || ||                     S - 1 timer, 1 comparator, UART
       || ||                     L - 2 timers
       || ||                     K - 1 time, Analog block, 1 comparator
       || ||                     W - 2 timers, 4 Pulse Stream Generators
       || ||                         Hardware Multiply divide
       || ||
       || |\--------- ROM/RAM : B - 2k ROM  /  64 RAM
       || |                     C - 4k ROM  / 128 RAM
       || |                     E - 8k ROM  / 256 RAM
       || |                     G - 16k ROM / 512 RAM
       || |
       || \---------- Number of pins : 8 - 40/44 (depends on package)
       ||                            : 5 - 20
       ||                            : 4 - 28
       ||                            : 2 - Indicates Basic Family device
       ||                            : 1 - Indicates Basic Family device
       ||                            : 0 - Indicates Basic Family device
       ||
       |\------------- If 7 is there indicates Programmability (EPROM)
       |               If 6 is there indicates EEPROM for RAM
       |               If nothing indicates ROM device with volatile RAM
       |
       \-------------- Temp range : 6 - Military (-55C to +125C)
                                    8 - Industrial (-40C to +85C)
                                    9 - Commercial (0C to +70C)

2.3)  COP8 chips and approximate prices (in US $)

   I am affiliated with the manufacturer of these devices, & you will most 
   likely be purchasing parts from a distributor. If I was to list prices,
   some people would think that was pricing fixing - so I can't (& won't).

   The below prices are subject to lots of things, where you live (prices 
   vary by region), package type (DIP, SO, PLCC), Temperature range 
   (Commerical, Industrial, Military) and volume. Contact your favorite
   National Distributor for more info.

   OTPs
   -----------
   Basic Family      |ROM|RAM|DI|  |PL|TI|CO|UA|MI|WD|Other
   Device    | 5000  |   |   |P |SO|CC|ME|MP|RT|WU|OG|
   COP8780   | 3.25  | 4k|128|40|  |44| 1|  |  |  |  |
   COP8781   | 2.55  | 4k|128|28|28|  | 1|  |  |  |  |
   COP8782   | 2.30  | 4k|128|20|20|  | 1|  |  |  |  |
   COP8720CJ | 4.00  | 1k| 64|28|28|  | 2| 1|  | Y| Y|
   COP8722CJ | 3.50  | 1k| 64|20|20|  | 2| 1|  | Y| Y|
   COP8740CJ | 5.25  | 2k|128|28|28|  | 2| 1|  | Y| Y|
   COP8742CJ | 4.40  | 2k|128|20|20|  | 2| 1|  | Y| Y|

   Feature Family
   COP8784BC | 7.90  | 2k| 64|28|28|  | 2| 2|  | Y|  |CAN, Power-On-Reset
   COP8788CF | 7.65  | 4k|128|40|  |44| 2|  |  | Y| Y|8-bit 8-chan
   COP8784CF | 7.40  | 4k|128|28|28|  | 2|  |  | Y| Y|A/D
   COP8788EG | 7.85  | 8k|256|40|  |44| 3| 2| 1| Y| Y|
   COP8784EG | 7.60  | 8k|256|28|28|  | 3| 2| 1| Y| Y|
   COP8788CL | 6.70  | 4k|128|40|  |44| 2|  |  | Y| Y|
   COP8784CL | 6.45  | 4k|128|28|28|  | 2|  |  | Y| Y|
   COP8788EK | 9.40  | 8k|256|40|  |44| 3| 1|  | Y| Y|Analog fncts
   COP8784EK | 9.10  | 8k|256|28|28|  | 3| 1|  | Y| Y|(16-bit A/D)


   Otherwise you can call Future Active Industrial @ 800-723-5817. They do
   stock parts on the shelf, and should be able to ship within a day or
   two. To find you favorite local distributor, please call National, and
   I am sure that we should be able to tell you.

   ROMmed - Check with your local National Distributor.

2.4)  Advantages in implementing control applications on this
     family of microcontrollers

   Traditional architecture - Modified Harvard (separate RAM and ROM busses) 
   leads to an easy to learn device as well as speeding the device up. As your
   first microcontroller, this is very well suited to learning.

   More features - a COP8 is typically a "one-chip" solution since it always
   includes such items as serial I/O, PWM, and many I/O lines, and typically 
   includes on board A/D, UARTs, and many timers.

   Fast and effective - the architecture correlates closely with the problem 
   being solved (control systems). Specialized instructions mean that fewer 
   bytes of code need to be fetched and fewer conditional jumps are processed.
   (77% on instructions are single byte/single cycle - this means smaller and 
   faster code).

   Low cost - high level of system integration within one component, only a 
   handful of components needed to create a working system.

2.5) Techy Details

   Not all of the below features are on all of the devices (check the 
   datasheet):

2.5.1) How fast are the parts?

   The COP8 has a max Clock input (CKI) of 10MHz. Since the parts have a 
   divide by 10 internal clock, the instruction cycle time (tc) is 1Mhz
   or 1us. Most internal devices are fed with tc. The UART is fed by tc 
   through a very complex divide and prescaler, which allows any standard 
   baud rate to be generated with almost any tc. (i.e. Get the baud rate 
   you want without having to purchase that 9.8746856MHz crystal!) Some 
   timers are fed with CKI, giving a PWM output with **100ns** resolution.
   Hardware multiply/divide are fed with CKI allowing a 3 byte by 2 byte 
   multiply to be completed in 1us, and a 3 byte by 2 byte divide completing
   in 2us.

   The parts are also fast because most of the instructions execute in one
   tc. (1us).

2.5.2) What is the operating voltage of the devices?

    The operating voltage of most of the ROMmed devices is between 2.3 <-> 
    6.0V

    The operating voltage of most of the OTP's is between 4.5 <-> 5.5V. A low
    voltage (2ishV) OTP is expected within 12 months. 

2.5.3) How can I guarantee that my program will run reliably?

   You can't.

   Not COP8, nor any other microcontroller is guaranteed to operate when a 
   10MegaWatt Radar wave is passing through it.  EMI can cause any 
   microcontroller to do *VERY* funny things. What your microcontroller can 
   do is provide a couple features to ensure that the application realizes
   that funny things have gone on.

   The COP8 provides 3 methods of trapping these types of events.
   NOTE: these events are just as likely to happen on a HC11, 8051,
   PIC, ect . . . COP8 just traps them.

   SOFTWARE TRAP - since the Program Counter (PC) is 15 bits in length
   (Max theoretical ROM space of 32K) and the biggest part we make (currently)
   is a 16K part (and most smaller) there is a possibility that the PC could
   point to ROM that does not physically exist.  This will be trapped within 
   one tc (instruction cycle) and cause an interrupt to occur. The interrupt 
   will reload the PC with a known value (0x00FF) and go to that value.  A 
   Software Trap is the only non-maskible interrupt on the COP8. This can also
   be valuable when your program takes 4097 bytes (As most programs do) and
   you have to use a part with an 8K ROM. The upper 4095 bytes of ROM are 
   physically there, but unused. If the PC does the funky chicken and points
   to those ROM locations, is this trapped? (Well - I wouldn't ask the 
   question if I didn't have the answer). Yes, this can be trapped. The 
   best method of doing this is to load all unused ROM locations with 0x00.
   (Software Trap is simple a 00 OpCode). Since this is an interrupt, your
   interrupt handler can do anything it wants. (i.e. re-initialize the device)

   WATCHDOG - In a well thought out program this works wonderfully.  The
   software designer knows exactly how long program execution takes, and
   services a timer every so often.  This time frame (the amount of time

Section 1 of 2 - Prev - Next

Back to category microcontroller-faq - Use Smart Search
Home - Smart Search - About the project - Feedback

© allanswers.org | Terms of use

LiveInternet