home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / 8_16BIT / COP8FAQ.ZIP / COP8.FAQ
Encoding:
Internet Message Format  |  1995-12-03  |  56.6 KB

  1. From: rgetz@lcc1.nsc.com (Robin Getz)
  2. Subject: COP8 microcontroller FAQ 
  3. Summary: This artile is a collection of information sources on the line
  4. Date: Wed, 23 Aug 1995 21:57:44 GMT
  5.  
  6. Archive-name: microcontroller-faq/COP8
  7. Posting-Frequency: monthly (20thish of each month)
  8. Last-modified: 20June1995
  9. URL: http://www.nsc.com/
  10.  
  11. This article is a draft collection of information sources on the line of
  12. National Semiconductor Corporation ("National") COP8 microcontrollers.
  13.  
  14. The following topics are addressed:
  15.  
  16. 0)  Changes Since Last Time
  17.  
  18. 1)  ABOUT THIS FAQ
  19. 1.1)  Who put this FAQ together?
  20. 1.2)  How can I contribute to this list?
  21. 1.3)  What newsgroups will this FAQ be posted to?
  22. 1.4)  May I post this FAQ to my local BBS?
  23. 1.5)  Are there any FAQs pertaining to other microcontrollers?
  24.  
  25. 2)  ABOUT THE COP8
  26. 2.1)  The COP8 microcontroller
  27. 2.2)  COP8 flavors / Numbering Scheme
  28. 2.3)  COP8 chips and approximate prices (in US $)
  29. 2.4)  Advantages in implementing control applications on this
  30.       family of microcontrollers
  31. 2.5)  Techy Details
  32. 2.5.1) How fast are the parts?
  33. 2.5.2) What is the operating voltage of the devices?
  34. 2.5.3) How can I guarantee that my program will run reliably?
  35. 2.5.4) What kind of power savings features are available?
  36. 2.5.5) What about EMI?
  37. 2.5.6) Instruction Set
  38. 2.5.7) Can I hook up a LED to pins direct?
  39.  
  40. 3)  COP8 PRODUCTS
  41. 3.1)  FTP sites
  42. 3.2)  BBSs
  43. 3.3)  Free languages and development tools
  44. 3.4)  Free C compilers
  45. 3.5)  Plans for COP8-based boards
  46. 3.6)  Commercially available products
  47. 3.7)  Contacting National
  48.  
  49. 4)  COP8 DOCUMENTATION
  50. 4.1)  Periodicals
  51. 4.2)  Data Books / Application Notes
  52.  
  53.  
  54. ----------------------------------------------------------------------
  55.  
  56. 0)  Changes since Last Time
  57.  
  58.     Added a reference to coptools@esd.nsc.com (a support line for help on 
  59.     cop8 tools).
  60.  
  61.     Somebody pointed out to me the other day - Since the COP8 and the 8051
  62.     are modified harvard - they can do a load/store instruction in one
  63.     instruction cycle. A Von Neuman machine can not do that. This makes
  64.     (for memory intensive applications) a harvard machine almost 2 times
  65.     as fast as a Von Neuman running at the same speed..... 
  66.  
  67.     Maybe architecture does make a difference on a 8-bit controller....
  68.     
  69. -----------------------------------------------------------------------
  70. 1)  ABOUT THIS FAQ
  71.  
  72. 1.1)  Who put this FAQ together?
  73.  
  74.    After reading the excellent FAQs on the 8051 (Intel/Phillips) and
  75.    the 68hc11 (Motorola) put together by Russ Hersch 
  76.    <sibit@datasrv.co.il> (Nice work Russ), I decided to make a FAQ
  77.    on the COP8, National's family of 8-bit microcontrollers.
  78.  
  79.    I work for National in the Geographic Business Unit (GBU) responsible for
  80.    technical support for New Business Development (NBD), so if you want to 
  81.    call this advertising, and don't want me to continue to post this in 
  82.    the future, please email me (that doesn't mean I will stop, but you 
  83.    will get it off your chest ;-). I think that I have kept most of the 
  84.    hype out - please let me know if you think otherwise.
  85.  
  86.    This FAQ will hopefully give everyone a brief overview of why you should
  87.    have a further look at the COP8 instead of automatically picking a
  88.    HC11, or 8051. Not that they are bad parts, in fact they are better
  89.    at some things than the COP8. And COP8 is much better at some things
  90.    than the HC11 or 8051. The COP8 is a good chip, and well worth
  91.    learning and developing with. With everyone's help this FAQ should 
  92.    turn out to be a useful document.
  93.  
  94.    Because I admire Russ's FAQ's and I was too lazy to take the time to think 
  95.    up my own format, I have copied his basic format and a couple of sections 
  96.    (with his permission, of course).
  97.  
  98. 1.2)  How can I contribute to this list?
  99.  
  100.    I ask that if you have any suggestions or additions, or you would like to 
  101.    correct any of the information contained herein, please send me a note.
  102.  
  103.         My Email address is:  rgetz@esd.nsc.com
  104.         My Smail address is:
  105.               Robin Getz
  106.               National Semiconductor Corporation
  107.               MS 16-325
  108.               Santa Clara, CA, 94086
  109.               USA
  110.  
  111.    I certainly hope that those of you who know of interesting items for
  112.    the COP8 will share with everyone by contributing to this list.
  113.  
  114.    If you are a manufacturer and have an anonymous ftp site available
  115.    that supports the COP8, please let me know by Email so that I can
  116.    add it to this FAQ.
  117.  
  118.  
  119. 1.3)  What newsgroups will this FAQ be posted to?
  120.  
  121.    This FAQ will be posted to the following newsgroups:
  122.          comp.realtime       Issues related to real-time computing.
  123.          comp.robotics       All aspects of robots and their applications.
  124.          sci.electronics     Circuits, theory, electrons and discussions.
  125.          comp.arch.embedded  Embedded computer systems topics.
  126.  
  127.    And sometime later, depending on what people think....
  128.          news.answers
  129.          comp.answers
  130.          sci.answers
  131.  
  132.    The first four newsgroups often contain discussions, announcements,
  133.    or information on microcontrollers.  Check them out from time to 
  134.    time. By posting to the *.answers newsgroups, the FAQ will 
  135.    automatically be archived.  The archive name of this FAQ (also 
  136.    included in the header) is: cop8-microcontroller-faq.
  137.  
  138.    Items will be posted once a month.  I can't promise that
  139.    it will be on time, but I hope to post it on the 25th of each month.
  140.  
  141.    You may also want to check out the following newsgroups, since they
  142.    occasionally have items of interest for COP8 users.
  143.          comp.lang.misc
  144.          alt.comp.hardware.homebuilt
  145.  
  146.  
  147. 1.4)  May I post this FAQ to my local BBS?
  148.  
  149.    I am putting no restrictions on the use of this FAQ except - It must
  150.    be distributed in its entirety with the copyright notice, and no
  151.    financial gain may be realized from it.  After all, I have spent, and
  152.    continue to spend, a lot of time on this, and the only thing that I
  153.    intend to gain from it is more information on the COP8, and getting
  154.    to know my fellow COP8 groupies better.
  155.  
  156.    For this reason I have appended a copyright statement to the end of
  157.    this FAQ.  I feel pretty silly doing this, but I just want to protect
  158.    myself.  The copyright does not limit the use of this list for 
  159.    non-commercial purposes.  I hereby give my permission to one and all
  160.    to pass this list around and post it wherever you want - as long as
  161.    it is not for financial gain.
  162.  
  163.        Thanks.
  164.  
  165.  
  166. 1.5)  How about FAQs on other microcontrollers?
  167.  
  168.    If anyone wishes to start a FAQ on another microcontroller, please
  169.    feel free to copy the format of this FAQ (I did).  With a common 
  170.    format, we will all benefit when trying to find information on a 
  171.    particular microcontroller.  If anyone has any comments on the format
  172.    itself, I'm open for suggestions.
  173.  
  174.    Other Microcontroller FAQs
  175.  
  176.      Subject:  68hc11 microcontrollers
  177.      Newsgroups:  comp.realtime
  178.                   comp.robotics
  179.                   sci.electronics
  180.      Archive:  rtfm.mit.edu :  <plus all mirror sites>
  181.                /pub/usenet/comp.answers/microcontroller-faq/68hc11
  182.                /pub/usenet/sci.answers/microcontroller-faq/68hc11
  183.                /pub/usenet/news.answers/microcontroller-faq/68hc11
  184.      Maintainer:  Russ Hersch
  185.                   Email:  sibit@datasrv.co.il
  186.  
  187.      Subject:  PIC microcontrollers
  188.      Newsgroups:  comp.realtime
  189.                   comp.robotics
  190.                   sci.electronics
  191.      Maintainer:  Tom Kellett
  192.                   Tom@takdsign.demon.co.uk
  193.  
  194.      Subject:  8051 microcontrollers
  195.      Newsgroups:  comp.sys.intel
  196.                   comp.realtime
  197.                   comp.robotics
  198.                   comp.lang.forth
  199.                   sci.electronics
  200.      Archive:  rtfm.mit.edu :  <plus all mirror sites>
  201.                /pub/usenet/comp.answers/microcontroller-faq/8051
  202.                /pub/usenet/sci.answers/microcontroller-faq/8051
  203.                /pub/usenet/news.answers/microcontroller-faq/8051
  204.      Maintainer:  Russ Hersch
  205.                   Email:  sibit@datasrv.co.il
  206.  
  207.      Subject:  Microcontroller primer and FAQ
  208.      Newsgroups:  comp.sys.intel
  209.                   comp.realtime
  210.                   comp.robotics
  211.                   sci.electronics
  212.                   alt.comp.hardware.homebuilt
  213.      Archive:  rtfm.mit.edu :  <plus all mirror sites>
  214.                /pub/usenet/comp.answers/microcontroller-faq/primer
  215.                /pub/usenet/sci.answers/microcontroller-faq/primer
  216.                /pub/usenet/news.answers/microcontroller-faq/primer
  217.      Maintainer:  Russ Hersch
  218.                   Email:  sibit@datasrv.co.il
  219.  
  220.    Additional FAQs of interest
  221.  
  222.      Subject:  Robotics
  223.      Newsgroups:  comp.robotics
  224.      Maintainer:  Kevin Dowling
  225.                   Email:  nivek@ri.cmu.edu
  226.  
  227.      Subject:  Electronics
  228.      Newsgroups:  sci.electronics
  229.      Maintainer:  Filip Gieszczykiewicz
  230.                   Email:  filip@smi.med.pitt.edu
  231.  
  232.      Subject:  Real-time
  233.      Newsgroups:  comp.realtime, comp.answers, news.answers
  234.      Archive:  rtfm.mit.edu : pub/usenet/comp.realtime
  235.      Maintainer:  Mark Linimon
  236.                   Email:  linimon@nominil.lonesome.com
  237.  
  238.      Subject:  Neural Networks
  239.      Newsgroups:  comp.ai.neural-nets,comp.answers,news.answers
  240.      Archive:  rtfm.mit.edu : pub/usenet/neural-net-faq
  241.      URL:  http://wwwipd.ira.uka.de/~prechelt/FAQ/neural-net-faq.html
  242.      Maintainer:  Lutz Prechelt
  243.                   Email:  prechelt@ira.uka.de
  244.  
  245.      Subject:  Fuzzy Logic
  246.      Newsgroups:  comp.ai.fuzzy,comp.answers,news.answers
  247.      Archive:  rtfm.mit.edu : pub/usenet/fuzzy-logic/
  248.      URL:  http://www.cs.cmu.edu:8001/Web/Groups/AI/html/faqs
  249.              /ai/fuzzy/part1/faq.html (should be one line)
  250.      Maintainer:  Mark Kantrowitz
  251.                   Email:  mkant+@cs.cmu.edu 
  252.  
  253.    Other useful articles are also available.  One article provides a
  254.    tabular cross reference of features and pin counts. This lists was
  255.    compiled and is being maintained by Roger Nelson
  256.    <rnelson@wsuaix.csc.wsu.edu>.
  257.  
  258.    For more information on various microcontrollers and their features,
  259.    refer to the Microcontroller primer and FAQ listed above. URL:
  260.    ftp://rtfm.mit.edu/pub/usenet/comp.answers/microcontroller-faq/primer
  261.  
  262. ----------------------------------------------------------------------
  263.  
  264. 2)  ABOUT THE COP8
  265.  
  266.  
  267. 2.1)  The COP8 microcontroller
  268.  
  269.    General
  270.  
  271.    Firstly - COP8 (Control Orientated Processor) actually stands for 
  272.    something. (Although the rest of the numbering scheme leaves something 
  273.    to be desired). This is not a failed microprocessor that was cut down for 
  274.    8-bit control (like some others). This is a full featured microcontroller 
  275.    designed for bit level control. (Although National does make a 32-bit 
  276.    processor (32000), the COP8 has nothing to do with it).
  277.  
  278.    The COP8 is a powerful 8-bit data, 15-bit address (32K max ROM)
  279.    microcontroller from National with an instruction set that is 
  280.    similar (somewhat) to the 8051, although it is much easier for
  281.    the beginner to understand and pick up (In my unbasised opinion
  282.    of course :)
  283.  
  284.    Depending on the variety, the COP8 has built-in EEPROM/OTPROM, RAM,
  285.    digital I/O, timers, A/D converter, PWM generator, and synchronous
  286.    and asynchronous communications channels (RS232 and MICROWIRE/PLUS).
  287.    Typical current draw is less than 12ma, with powerdown modes that 
  288.    can reduce current draw to typically less than 1 uA. (Although I 
  289.    have seen ***50nA***)
  290.  
  291.    A typical COP8 contains:
  292.       - CPU with Boolean processor
  293.       - fully static processor
  294.       -  up to vectored 14 interrupts: 2 are external (8 pins can 
  295.           be ORed into one interrupt, for a total of 9 external)
  296.           - arbitration levels
  297.       - 1,2 or 3 16-bit timer/counters (min 1 max 3)
  298.       - programmable full-duplex serial port (UART/USART or 
  299.           MICROWIRE/PLUS)
  300.       - up to 56 I/O lines (11 pins min + Vcc/GND/Reset/CKI/CKO)
  301.       - up to 512 bytes RAM (64 bytes min)
  302.       - up to 16K ROM/EPROM in some models (768 bytes min)
  303.       - new parts are LOW EMI (typically lower than 14dB emissions)
  304.  
  305.    The COP8 peripherals are POWERFUL. The timer that you will find on 
  306.    a COP8 is much more powerful than on a typical microcontroller.
  307.    I will get into this a little later.
  308.  
  309.    The COP8 instruction set is optimized for the one-bit operations so
  310.    often desired in real-world, real-time control applications.  The
  311.    Boolean processor provides direct support for bit manipulation.  This
  312.    leads to more efficient programs that need to deal with binary input
  313.    and output conditions inherent in digital-control problems.  Bit
  314.    addressing can be used for test pin monitoring or program control
  315.    flags.
  316.  
  317.     Architecture
  318.  
  319.     The COP8 is a modified Harvard architecture. With the Harvard 
  320.     architecture, the ROM is separated from the data memory (RAM). Both 
  321.     ROM and RAM have their own separate addressing space with separate 
  322.     address busses (there are two 0 addresses - 1 for ROM, 1 for RAM). The
  323.     COP8, though based on the Harvard Architecture, permits transfers from
  324.     ROM to RAM (hence modified).
  325.  
  326.     The CPU has an 8-bit accumulator (A) that all arithmetic operations go 
  327.     into. Two 8-bit index registers are present (X, B) to provide indexing 
  328.     to anywhere in the memory map. Having the two index registers means the 
  329.     COP8 is very good for processing data.  Although an 8-bit processor, the 
  330.     COP8 has some 16 bit (and bigger) peripherals (timers, 24 by 8 divide, 
  331.     16 by 8 multiply, 16-bit A/D). An 8 bit stack pointer is also present, 
  332.     and instructions are provided for stack manipulation.
  333.  
  334.     Feature Family / Basic Family
  335.  
  336.     The COP8 family is divided into two families - the Basic Family and 
  337.     the Feature Family. There is little difference between the devices 
  338.     although the feature family has the following advantages:
  339.       - 7 more instructions (including PUSH and POP)
  340.       - 2 auto-reload registers on timers / Basic family only has one
  341.       - IDLE Mode (Basic family only offers HALT mode)
  342.       - powerful peripherals ( A/D, UART, high speed timers, WatchDog,
  343.         comparators, etc. )
  344.  
  345.     Onboard subsystems
  346.  
  347.     Timer -  Main timer system comprises of a single 16-bit counter
  348.     (2 x 8-bit registers) clocked at tc (1MHz at Crystal frequency of 
  349.     10MHz). Timers have at least one associated register and all Feature 
  350.     Family devices have 2 registers. All timers have at least 1uSec 
  351.     accuracy and some have 100nS - check datasheet for specific details.
  352.     Timers can be configured in the following methods:
  353.        - External Counter (clocked on positive or negative edge)
  354.        - Timer w/ Auto-Load Register (PWM output)
  355.        - Timer with Capture (triggered on positive or negative edge)
  356.  
  357.     Pulse Stream Generators - Some of the devices have specific timers
  358.     that are 100ns resolution 16-bit PWM (Pulse Width Modulation) outputs 
  359.     only.
  360.  
  361.     Multi-Input Wakeup -The Multi-Input WakeUp (MIWU)  is used to return
  362.     (wakeup) the microcontroller from either HALT or IDLE modes. 
  363.     Alternately MIWU may also be used to generate up to 8 edge 
  364.     selectable external interrupts.  The user can select whether the 
  365.     trigger condition on the pins is going to be either a positive edge 
  366.     (low to high) or a negative edge (high to low).
  367.  
  368.     A-D Converters - 8-bit, 8-channel (multiplexed input) SAR 
  369.     (Successive Approximation Register). Two dedicated pins Vref and 
  370.     Agnd are provided for voltage reference. The time required for an 
  371.     A/D conversion is dependent on the prescaler (fast conversion = more
  372.     power consumed - you can run the microcontroller fast - and the A/D 
  373.     slow). The A/D converter has the following different modes of 
  374.     operation:
  375.       - One channel conversion then stop
  376.       - Any specific channel to be scanned continuously
  377.       - Any differential channel pair measurement and then stop
  378.       - Any differential channel pair be scanned continuously
  379.  
  380.     It also has a device that supports single slope A/D - the device 
  381.     contains a constant current source, a comparator, an analog 
  382.     mutliplexer, and a couple of 16-bit timers. These can be configured to
  383.     give the designer a 16-bit (resolution - not accuracy) A/D converter.
  384.  
  385.     UART / USART - Asynchronous or synchronous serial communication block.
  386.     Clock generation (for asynchronous operation) is very sophisticated - 
  387.     standard baud rates (300,1200,2400,4800,9600,19200,38400) can be generated
  388.     without having to select some obscure crystal frequency (Run the 
  389.     controller at full speed). Synchronous operations occur at 16 x the speed 
  390.     of asynchronous. Framing formats supported are: 1 Start, 7,8 or 9 data, 
  391.     Parity/No Parity, 1 or 2 stop. The Attention Mode (or Network Mode) is 
  392.     also supported, whereby a single master / multi-slave environment is set 
  393.     up. This is a *very* powerful feature that can be used almost anywhere 
  394.     when you need to talk to more than one controller / CPU. Diagnostic 
  395.     mode is also enhanced from a regular UART. Internally, the Transmit 
  396.     Shift Register is "looped back" into the Receive Shift Register. 
  397.     Externally the receiver input pin (RDX) is connected to the 
  398.     transmitter output pin(TDX). This allows the external UART to do a 
  399.     continuity check of the external lines.
  400.  
  401.     MICROWIRE/PLUS - A Synchronous serial communications port, comprised 
  402.     of Serial Clock (SK), Serial Data In (SI), Serial Data Out (SO) and 
  403.     optional chip selects.  There are many specific MICROWIRE, MICROWIRE/PLUS 
  404.     and SPI devices, (the only difference between SPI and MICROWIRE is 
  405.     when the data is shifted in - and with MICROWIRE/PLUS - you control that) 
  406.     such as A/Ds, D/As, EPROM, FLASH, EEPROM, MUX's.....
  407.  
  408.     Comparator - A differential comparator, with a pair of inputs (positive 
  409.     and negative) and an output. The comparator can be software disabled (to 
  410.     save power). The output can either be brought outside (via a pin) or left 
  411.     as a bit somewhere inside the controller.
  412.  
  413.     BrownOut - BrownOut protection is usually an on-board protection circuit 
  414.     that resets the device when the operating voltage (Vcc) is lower than the 
  415.     Brownout voltage.  The device is held in reset and will remain in reset 
  416.     when Vcc stays below the Brownout voltage. The device will resume 
  417.     execution (from reset) after Vcc has risen above the BrownOut Voltage.
  418.  
  419.     CAN - The COP8 supports applications which require a low speed CAN 
  420.     interface. The interface is compatible with CAN Specification 2.0 part B,
  421.     without the capability to receive/transmit extended frames. However, 
  422.     extended frames on the bus are checked and acknowledged according to the 
  423.     CAN specification. The maximum bus speed achievable with the CAN interface
  424.     is a function of crystal frequency, message length and software overhead. 
  425.     The device can support a bus speed of up to 1 Mbit/s with a 10MHz 
  426.     oscillator and 2 byte messages.
  427.  
  428.     Hardware Multiply / Divide - This block supports a 1 byte x 2 bytes
  429.     (3 byte result) multiply operation (in one instruction cycle - 1uS) or a
  430.     3 byte x 2 byte (2 byte result) divide operation (in two instruction 
  431.     cycles - 2uS). There are no multiplication errors that can occur ( FFh x
  432.     FF FFh = FE FF 01h which fits in three bytes). Divide errors are trapped
  433.     (overflow FF FF FFh / 1h = FF FF FFh which is bigger than two bytes and
  434.     division by zero)
  435.  
  436. 2.2)  COP8 flavors / Numbering Scheme
  437.  
  438.     All devices include at least one 16-bit timer, MICROWIRE/PLUS serial
  439.     interface, common pinouts, common instruction set and most are 
  440.     available in ...
  441.  
  442.     Basic Family Numbering Scheme
  443.  
  444.     COP8720CJ-XXX/N
  445.     ^^^^^^^^^ ^^^ ^ 
  446.        |||||| ||| \-- Package Type : N  - DIP
  447.        |||||| |||                  : WM - Surface Mount
  448.        |||||| |||                  : V  - PLCC
  449.        |||||| |||                  : J  - DIP Windowed
  450.        |||||| |||
  451.        |||||| \\\---- Unique ROM id Code assigned by National
  452.        ||||||         NOTE: OTP and windowed parts do not have
  453.        ||||||               this code
  454.        ||||||
  455.        ||||\\-------- Features : CJ - Brown-out,high speed timers,
  456.        ||||                            comparators,MIWU
  457.        ||||                      C  - 16-bit timer 
  458.        ||||
  459.        |||\---------- Number of pins : 0 - 28/40/44 (depends on package)
  460.        |||                           : 1 - 28
  461.        |||                           : 2 - 20
  462.        |||                           : 3 - 16
  463.        |||                           : 8 - Indicates Feature Family 
  464.        |||                           : 5 - Indicates Feature Family 
  465.        |||                           : 4 - Indicates Feature Family 
  466.        |||
  467.        ||\------------ ROM/RAM : 2 - 1k ROM / 64 btyes RAM 
  468.        ||                      : 4 - 2k ROM / 128 bytes RAM
  469.        ||                      : 8 - 4k ROM / 128 bytes RAM
  470.        ||
  471.        |\------------- If 7 is there indicates Programmability (EPROM)
  472.        |               If 6 is there indicates EEPROM for RAM
  473.        |               If nothing indicates ROM device with volatile RAM
  474.        |
  475.        \-------------- Temp range : 6 - Military (-55C to +125C)
  476.                                     8 - Industrial (-40C to +85C)
  477.                                     9 - Commercial (0C to +70C)
  478.  
  479.     Feature Family Numbering Scheme
  480.  
  481.     COP8788EG-XXX/N-R
  482.     ^^^^^ ^^^ ^^^ ^ \ - OTP Oscillator Option: R - RC
  483.        || ||| ||| |                            X - Crystal
  484.        || ||| ||| |
  485.        || ||| ||| \-- Package Type : N  - DIP
  486.        || ||| |||                  : WM - Surface Mount
  487.        || ||| |||                  : V  - PLCC
  488.        || ||| |||                  : J  - DIP Windowed
  489.        || ||| |||
  490.        || ||| \\\---- Unique ROM id Code assigned by National
  491.        || |||         NOTE: OTP and windowed parts do not have
  492.        || |||               this code
  493.        || |||
  494.        || ||\-------- Features : F - 2 timers, 8-bit, 8-channel ADC
  495.        || ||                     G - 3 timers, 2 comparators, UART
  496.        || ||                     C - 1 timer, CAN, 2 comparators
  497.        || ||                     S - 1 timer, 1 comparator, UART
  498.        || ||                     L - 2 timers
  499.        || ||                     K - 1 time, Analog block, 1 comparator
  500.        || ||                     W - 2 timers, 4 Pulse Stream Generators
  501.        || ||                         Hardware Multiply divide
  502.        || ||
  503.        || |\--------- ROM/RAM : B - 2k ROM  /  64 RAM
  504.        || |                     C - 4k ROM  / 128 RAM
  505.        || |                     E - 8k ROM  / 256 RAM
  506.        || |                     G - 16k ROM / 512 RAM
  507.        || |
  508.        || \---------- Number of pins : 8 - 40/44 (depends on package)
  509.        ||                            : 5 - 20
  510.        ||                            : 4 - 28
  511.        ||                            : 2 - Indicates Basic Family device
  512.        ||                            : 1 - Indicates Basic Family device
  513.        ||                            : 0 - Indicates Basic Family device
  514.        ||
  515.        |\------------- If 7 is there indicates Programmability (EPROM)
  516.        |               If 6 is there indicates EEPROM for RAM
  517.        |               If nothing indicates ROM device with volatile RAM
  518.        |
  519.        \-------------- Temp range : 6 - Military (-55C to +125C)
  520.                                     8 - Industrial (-40C to +85C)
  521.                                     9 - Commercial (0C to +70C)
  522.  
  523. 2.3)  COP8 chips and approximate prices (in US $)
  524.  
  525.    I am affiliated with the manufacturer of these devices, & you will most 
  526.    likely be purchasing parts from a distributor. If I was to list prices,
  527.    some people would think that was pricing fixing - so I can't (& won't).
  528.  
  529.    When Digi-Key enters our parts in their Catalog I will put their list 
  530.    prices in here: (which should happen soon...)
  531.  
  532.    OTPs
  533.    -----------
  534.    Basic Family                  |ROM|RAM|DI|  |PL|TI|CO|UA|MI|WD|Other
  535.    Device    | 1 Piece |   500   |   |   |P |SO|CC|ME|MP|RT|WU|OG|
  536.    COP8780   |         |         | 4k|128|40|  |44| 1|  |  |  |  |
  537.    COP8781   |         |         | 4k|128|28|28|  | 1|  |  |  |  |
  538.    COP8782   |         |         | 4k|128|20|20|  | 1|  |  |  |  |
  539.    COP8720CJ |         |         | 1k| 64|28|28|  | 2| 1|  | Y| Y|
  540.    COP8722CJ |         |         | 1k| 64|20|20|  | 2| 1|  | Y| Y|
  541.  
  542.    Feature Family
  543.    COP8788CF |         |         | 4k|128|40|  |44| 2|  |  | Y| Y|8-bit 8-chan
  544.    COP8784CF |         |         | 4k|128|28|28|  | 2|  |  | Y| Y|A/D
  545.    COP8788EG |         |         | 8k|256|40|  |44| 3| 2| 1| Y| Y|
  546.    COP8784EG |         |         | 8k|256|28|28|  | 3| 2| 1| Y| Y|
  547.    COP8788CL |         |         | 4k|128|40|  |44| 2|  |  | Y| Y|
  548.    COP8784CL |         |         | 4k|128|28|28|  | 2|  |  | Y| Y|
  549.    COP8788EK |         |         | 8k|256|40|  |44| 3| 1|  | Y| Y|Analog fncts
  550.    COP8784EK |         |         | 8k|256|28|28|  | 3| 1|  | Y| Y|(16-bit A/D)
  551.  
  552.    Otherwise you can call Future Active Industrial @ 800-723-5817. They do
  553.    stock parts on the shelf, and should be able to ship within a day or
  554.    two. To find you favorite local distributor, please call National, and
  555.    I am sure that we should be able to tell you.
  556.  
  557.    ROMmed - Check with your local National Distributor.
  558.  
  559. 2.4)  Advantages in implementing control applications on this
  560.      family of microcontrollers
  561.  
  562.    Traditional architecture - Modified Harvard (separate RAM and ROM busses) 
  563.    leads to an easy to learn device as well as speeding the device up. As your
  564.    first microcontroller, this is very well suited to learning.
  565.  
  566.    More features - a COP8 is typically a "one-chip" solution since it always
  567.    includes such items as serial I/O, PWM, and many I/O lines, and typically 
  568.    includes on board A/D, UARTs, and many timers.
  569.  
  570.    Fast and effective - the architecture correlates closely with the problem 
  571.    being solved (control systems). Specialized instructions mean that fewer 
  572.    bytes of code need to be fetched and fewer conditional jumps are processed.
  573.    (77% on instructions are single byte/single cycle - this means smaller and 
  574.    faster code).
  575.  
  576.    Low cost - high level of system integration within one component, only a 
  577.    handful of components needed to create a working system.
  578.  
  579. 2.5) Techy Details
  580.  
  581.    Not all of the below features are on all of the devices (check the 
  582.    datasheet):
  583.  
  584. 2.5.1) How fast are the parts?
  585.  
  586.    The COP8 has a max Clock input (CKI) of 10MHz. Since the parts have a 
  587.    divide by 10 internal clock, the instruction cycle time (tc) is 1Mhz
  588.    or 1us. Most internal devices are fed with tc. The UART is fed by tc 
  589.    through a very complex divide and prescaler, which allows any standard 
  590.    baud rate to be generated with almost any tc. (i.e. Get the baud rate 
  591.    you want without having to purchase that 9.8746856MHz crystal!) Some 
  592.    timers are fed with CKI, giving a PWM output with **100ns** resolution.
  593.    Hardware multiply/divide are fed with CKI allowing a 3 byte by 2 byte 
  594.    multiply to be completed in 1us, and a 3 byte by 2 byte divide completing
  595.    in 2us.
  596.  
  597.    The parts are also fast because most of the instructions execute in one
  598.    tc. (1us).
  599.  
  600. 2.5.2) What is the operating voltage of the devices?
  601.  
  602.     The operating voltage of most of the ROMmed devices is between 2.3 <-> 
  603.     6.0V
  604.  
  605.     The operating voltage of most of the OTP's is between 4.5 <-> 5.5V. A low
  606.     voltage (2ishV) OTP is expected within 12 months. 
  607.  
  608. 2.5.3) How can I guarantee that my program will run reliably?
  609.  
  610.    You can't.
  611.  
  612.    Not COP8, nor any other microcontroller is guaranteed to operate when a 
  613.    10MegaWatt Radar wave is passing through it.  EMI can cause any 
  614.    microcontroller to do *VERY* funny things. What your microcontroller can 
  615.    do is provide a couple features to ensure that the application realizes
  616.    that funny things have gone on.
  617.  
  618.    The COP8 provides 3 methods of trapping these types of events.
  619.    NOTE: these events are just as likely to happen on a HC11, 8051,
  620.    PIC, ect . . . COP8 just traps them.
  621.  
  622.    SOFTWARE TRAP - since the Program Counter (PC) is 15 bits in length
  623.    (Max theoretical ROM space of 32K) and the biggest part we make (currently)
  624.    is a 16K part (and most smaller) there is a possibility that the PC could
  625.    point to ROM that does not physically exist.  This will be trapped within 
  626.    one tc (instruction cycle) and cause an interrupt to occur. The interrupt 
  627.    will reload the PC with a known value (0x00FF) and go to that value.  A 
  628.    Software Trap is the only non-maskible interrupt on the COP8. This can also
  629.    be valuable when your program takes 4097 bytes (As most programs do) and
  630.    you have to use a part with an 8K ROM. The upper 4095 bytes of ROM are 
  631.    physically there, but unused. If the PC does the funky chicken and points
  632.    to those ROM locations, is this trapped? (Well - I wouldn't ask the 
  633.    question if I didn't have the answer). Yes, this can be trapped. The 
  634.    best method of doing this is to load all unused ROM locations with 0x00.
  635.    (Software Trap is simple a 00 OpCode). Since this is an interrupt, your
  636.    interrupt handler can do anything it wants. (i.e. re-initialize the device)
  637.  
  638.    WATCHDOG - In a well thought out program this works wonderfully.  The
  639.    software designer knows exactly how long program execution takes, and
  640.    services a timer every so often.  This time frame (the amount of time
  641.    you have to service the timer) is software selectable between 2k->8k,
  642.    2k->16k, 2k->32k or 2k->64k tc. This means there is two ways to have 
  643.    the watchdog time out - either servicing the clock too fast (more
  644.    than once every 2k tc) or too slow (having more than one selectable
  645.    go by). This is actually very powerful - if your "bug" is in your 
  646.    routine that services the watchdog, you will still find out - on most
  647.    other microcontrollers this is not true.
  648.  
  649.    When a Watchdog becomes active, nothing happens internally in the device 
  650.    with the exception of on pin going low. This is because if you are 
  651.    controlling a huge metal lathe with your COP8, and you have a watchdog, it 
  652.    is a bad thing. If you reset the part, you continue on business as usual. 
  653.    A Watchdog is a catastrophic failure. Maybe you want to turn off your 
  654.    lathe, and sound an alarm that the lathe needs servicing. 
  655.  
  656.    This all seems well, but what happens in my real-time controller when my
  657.    crystal starts to fail?  My real-time stops being very real time. (This is 
  658.    another one of those questions that I better have an answer for.)
  659.  
  660.    CLOCK MONITOR - This is guaranteed not to reject the clock if the 
  661.    instruction cycle clock (1/tc) is greater than 10kHz. This equates to
  662.    a clock input rate (CKI) of greater than or equal to 100kHz. Again 
  663.    this simply brings a pin (/RESET) low on the part - and nothing else.
  664.    This is software selectable (You can turn it off if you want to run 
  665.    the parts slower than 100kHz.)
  666.  
  667. 2.5.4) What kind of power savings features do you have?
  668.  
  669.     The device can be placed into IDLE/HALT mode by software control.
  670.     In both Halt and Idle conditions the state of the microcontroller
  671.     remains.  RAM is not cleared and any outputs are not changed.
  672.  
  673.     HALT - 
  674.      In Halt mode, all activities are stopped (including timers and
  675.      counters).  The only way to wake up is by a reset or device
  676.      interrupt (such as an I/O port).  The power requirements of the
  677.      device are minimal and the applied voltage (Vcc) can sometimes be
  678.      decreased below operating voltage without altering the state
  679.      (RAM/Outputs) of the device.  Current consumption is typically
  680.      less than 1 uA.
  681.  
  682.      A common application of HALT mode is in laptop keyboards.  In
  683.      order to have maximum power saving, the controller is in halt
  684.      until it detects a keystroke (via a device interrupt).  It then
  685.      wakes up, decodes and sends the keystroke to the host, and then
  686.      goes back into halt mode, waiting either for another keystroke, 
  687.      or information from the host.
  688.  
  689.      The disadvantage of HALT mode is that since *ALL* activities are
  690.      stopped (including your crystal oscillator) it takes some time 
  691.      before your oscillator will start going again - sometimes this can 
  692.      be in the range of 12 - 100mS (that's milli, not micro). In some 
  693.      applications this is a bad thing - and you want to wake up faster.
  694.      (NOTE: this is a function of the oscillator design, not the 
  695.      microcontroller.)
  696.  
  697.    IDLE - 
  698.      In IDLE mode, all activities are stopped except:
  699.          - associated on-board oscillator circuitry
  700.          - watchdog logic (if any)
  701.          - the clock monitor
  702.          - the idle timer (a free running timer)
  703.      Power supply requirements on the microcontroller in this mode are
  704.      typically around 30% of normal power requirements of the
  705.      microprocessor.  Idle mode is exited by a reset, or some other
  706.      stimulus (such as timer interrupt, serial port, etc.).  A special
  707.      timer/counter (the idle timer) causes the chip to wake up at a
  708.      regular interval to check if things are OK.  The chip then goes
  709.      back to sleep.
  710.  
  711.      IDLE mode is extremely useful for remote, unattended data logging
  712.      - the microprocessor wakes up at regular intervals, takes its
  713.      measurements, logs the data, and then goes back to sleep.
  714.  
  715.      Since the crystal is still going during IDLE mode, the time that it
  716.      takes to get going again is two tc (2 uSec) - but the trade off is 
  717.      more power consumption.
  718.  
  719.  
  720. 2.5.5) What about EMI?
  721.  
  722.     The control and minimization of Electro-Magnetic Interference (EMI)
  723.     is a technology that is, out of necessity, growing rapidly. EMI will
  724.     be defined shortly but, for now, you might be more familiar with the 
  725.     terms Radio Noise, Electrical Noise, or Radio Frequency 
  726.     Interference (RFI). The technology's exploration includes a wide
  727.     frequency spectrum, from dc to 40GHz. It also deals with 
  728.     susceptibility to EMI as well as the emissions of EMI by equipment
  729.     or components. Emissions corresponds to that potential EMi which
  730.     comes out of a piece of equipment or component. Susceptibility, on
  731.     the other hand, is that which couples from the outside to the 
  732.     inside.
  733.  
  734.     In COP8 designs to date, we have looked at noise situations ranging 
  735.     from 1MHz to 200MHz. EMI, in some cases, can affect radio reception,
  736.     TV reception, accuracy of navigation equipment, etc. In severe 
  737.     cases, EMI might even affect medical equipment, radar equipment
  738.     and automotive systems.
  739.  
  740.     EMI is a form of electrical-noise pollution. Think of the time 
  741.     when an electric drill or some other power tool jammed a nearby
  742.     radio with buzzing or crackling noises. This is annoying - but not
  743.     catastrophic. This is much different than when aircraft navigation 
  744.     errors occur from EMI Interruption of air traffic controller
  745.     service or maybe even computer memory loss due to noise could
  746.     cause two aircraft to collide resulting in the loss of lives and
  747.     property.
  748.  
  749.     The ultimate question is - What is National doing to reduce EMI
  750.     emissions on it's COP8? Well, the answer is...LOTS.
  751.  
  752.     Gradual Turn-On Outputs - The outputs and bi-direction ports (except
  753.     pin G7, CKO) use gradual turn on (GTO) output drives. These drivers 
  754.     generate less EMI than standard drives by having slower turn-on time
  755.     and thereby reducing the peak instantaneous current. They have 
  756.     slightly longer propagation delay than standard drivers.
  757.  
  758.     Idd CHOKE - The rate of change (di/dt) of Idd to the chip nucleus is
  759.     controlled through the use of a Idd choke block. This block actively
  760.     reduces current transients reaching the supply and thus reduces the
  761.     H field emissions from the system.
  762.  
  763.     Level shifters are required for all I/O Port pins to ensure that the
  764.     switching is consistent and to ensure that the resultant changes in
  765.     the internal Vcc are not coupled to the port pins.
  766.  
  767.     The oscillator uses a separate power supply filter to minimize the 
  768.     direct coupling of the oscillator frequency to the supply.
  769.  
  770.     Low EMI Logic - In order to further reduce EMI, the logic in the
  771.     chip is disabled when inactive (by disabling the clocks). This 
  772.     will reduce switching and hence current consumption and EMI.
  773.  
  774.     Not all devices have the above described EMI enhancements - *only*
  775.     the newer devices. National holds 11 patents on EMI reducing 
  776.     technology that is incorporated in the COP8.
  777.  
  778.  
  779. 2.5.6) Instruction Set
  780.  
  781.     The strength of the instruction set is based on the following 
  782.     features:
  783.      o Mostly single-byte opcode instructions minimize program size.
  784.      o One instruction cycle for the majority of single-byte 
  785.        instructions to minimize program execution time.
  786.      o Many single-byte, multiple function instructions such as DRSZ 
  787.        (Decrement Register and Skip if Zero).
  788.      o Three memory mapped pointers: two for register indirect 
  789.        addressing, and one for the software stack.
  790.      o Sixteen memory mapped registers that allow an optimized 
  791.        implementation of certain instructions.
  792.      o Ability to set, reset, and test any individual bit in data memory
  793.        address space, including the memory-mapped I/O ports and 
  794.        registers.
  795.      o Register-Indirect LOAD and EXCHANGE instructions with optional 
  796.        automatic post-incrementing or decrementing of the register 
  797.        pointer. This allows for greater efficiency (both in cycle time 
  798.        and program code) in loading, walking across and processing 
  799.        fields in data memory.
  800.      o Unique instructions to optimize program size and 
  801.        efficiency. Some of these instructions are: DRSZ, IFBNE, DCOR, 
  802.        RETSK, VIS and RRC.
  803.  
  804.     The feature family has seven instructions not available on the 
  805.     basic family devices. These instructions are:
  806.      o Push Data onto Stack (PUSH)
  807.      o Pop Data off of Stack (POP)
  808.      o And Skip if Zero (ANDSZ)
  809.      o Rotate Left through Carry (RLC)
  810.      o If Not Equal (IFNE)
  811.      o Vector Interrupt Select (VIS)
  812.      o Reset Pending Bit (RPND)
  813.  
  814.     The feature family instruction set contains a faster version of the 
  815.     LD B,# (B>15) instruction than the basic family. In the basic family
  816.     this instruction is 2-bytes/3-cycles. In feature family devices, 
  817.     this instruction is 2-bytes/2-cycles. The feature family supports an
  818.     additional addressing mode for the IFEQ instruction; the memory 
  819.     direct-immediate operand addressing mode (IFEQ MD,#).
  820.  
  821.      Accumulator Bit Manipulation Instructions - The Accumulator bit 
  822.      manipulation instructions allow the user to shift the Accumulator 
  823.      bits and to swap its two nibbles.
  824.        Rotate Right Through Carry (RRC)
  825.        Rotate Left Through Carry (RLC)
  826.        Swap Nibbles of Accumulator (SWAP)
  827.  
  828.      Stack Control Instructions
  829.        Push Data onto Stack (PUSH)
  830.        Pop Data off of Stack (POP) 
  831.  
  832.      Arithmetic Instructions - The arithmetic instructions perform 
  833.      binary arithmetic such as addition and subtraction, with or without 
  834.      the Carry bit.
  835.        Add (ADD)
  836.        Add with Carry (ADC)
  837.        Subtract (SUB)
  838.        Subtract with Carry (SUBC)
  839.        Increment (INC)
  840.        Decrement (DEC)
  841.        Decimal Correct (DCOR)
  842.        Clear Accumulator (CLR)
  843.        Set Carry (SC)
  844.        Reset Carry (RC)
  845.  
  846.      Conditional Instructions - The conditional instructions test a 
  847.      condition. If the condition is true, the next instruction is 
  848.      executed in the normal matter; if the condition is false, the next 
  849.      instruction is skipped.
  850.        If Equal (IFEQ)
  851.        If Not Equal (IFNE)
  852.        If Greater Than (IFGT)
  853.        If Carry (IFC)
  854.        If Not Carry (IFNC)
  855.        If Bit (IFBIT)
  856.        If B Pointer Not Equal (IFBNE)
  857.        And Skip if Zero (ANDSZ)
  858.        Decrement Register and Skip if Zero (DRSZ)
  859.  
  860.      Load and Exchange Instructions - The load and exchange instructions
  861.      write byte values in registers or memory. The addressing mode 
  862.      determines the source of the data.
  863.        Load (LD)
  864.        Load Accumulator Indirect (LAID)
  865.        Exchange (X)
  866.  
  867.      Logical Instructions - The logical instructions perform the basic 
  868.      logical operations AND, OR, and XOR (Exclusive OR). Other logical 
  869.      operations can be performed by combining these basic operations. 
  870.      For example, complementing is accomplished by exclusive-ORing the 
  871.      Accumulator with FFh.
  872.        Logical AND (AND)
  873.        Logical OR (OR)
  874.        Exclusive OR (XOR)
  875.  
  876.      Memory Bit Manipulation Instructions - The memory bit manipulation 
  877.      instructions allow the user to set and reset (clear) individual 
  878.      bits in memory.
  879.        Set Bit (SBIT)
  880.        Reset Bit (RBIT)
  881.        Reset Pending Bit (RPND)
  882.  
  883.      Transfer-of Control Instructions - The transfer-of-control 
  884.      instructions change the usual sequential program flow by altering 
  885.      the contents of the Program Counter. The Jump to Subroutine 
  886.      instruction saves the Program Counter contents on the stack before 
  887.      jumping; the Return instructions pops the top of the stack back 
  888.      into the Program Counter.
  889.        Jump Relative (JP)
  890.        Jump Absolute (JMP)
  891.        Jump Absolute Long (JMPL)
  892.        Jump Indirect (JID)
  893.        Jump to Subroutine (JSR)
  894.        Jump to Subroutine Long (JSRL)
  895.        Return from Subroutine (RET)
  896.        Return from Subroutine and Skip (RETSK)
  897.        Return from Interrupt (RETI)
  898.        Software Trap Interrupt (INTR)
  899.        Vector Interrupt Select (VIS)
  900.  
  901.      No-Operation Instruction - The no-operation instruction does 
  902.      nothing, except to occupy space in the program memory and time in 
  903.      execution.
  904.        No-Operation (NOP)
  905.  
  906. 2.5.7) Can I hook up a LED direct?
  907.  
  908.      Yep - you sure can. On all devices is a 8-bit port named D-port.
  909.      D-port pins can sink 10 mA (tested) 40mA (typical), and can
  910.      source 2mA (tested) 22mA (typical). All other ports can sink
  911.      2mA (tested) 17mA (typical) and can source 1mA (tested) 8mA
  912.      (typical).
  913.  
  914.      You should check the datasheet - some parts differ.
  915.  
  916. ----------------------------------------------------------------------
  917.  
  918.  
  919. 3)  COP8 PRODUCTS
  920.  
  921.    This section includes descriptions and references to free and
  922.    commercial software for the COP8.  FTP sites and BBSs contain many
  923.    quality packages and code samples for free.  For heavy duty use, you
  924.    might prefer the many commercial packages that are available.  With
  925.    the public domain (or free) stuff, you're usually on your own.  The
  926.    commercial packages usually provide extensive documentation and
  927.    support.
  928.  
  929.    Because not a lot of little companies use COP8, ('cause until about
  930.    a year ago we didn't make OTPs - the COP8 is used primarily by huge
  931.    companies - I don't think there is an American designed and built
  932.    car that doesn't have a COP in it somewhere - and those guys are not
  933.    going to use OTPs) there is not very much free software for the COP8.
  934.  
  935.     Hopefully this will change. - If you have a good idea for a new 
  936.     product (or are interested in porting your (or somebody else's)
  937.     existing tool to be used with the COP8 - please contact me.)
  938.  
  939. 3.1)  FTP sites
  940.  
  941.    The following is a list of the various anonymous ftp sites that have
  942.    COP8 source code and programming languages.  There are many others
  943.    that  are not listed here that contain bits and pieces.  Usually you
  944.    can find them using Archie and searching for "COP8", "National", or
  945.    "cop8".
  946.  
  947.  
  948. 3.2)  BBSs
  949.  
  950.    The following BBSs sometimes have COP8 information:
  951.  
  952.    National Semiconductor Corporation
  953.        - contains code from Applications Notes and other interesting
  954.          items
  955.        - phone -  (800) - NSC MICRO
  956.                           672 6427
  957.                -  (408) - 781 4818
  958.                               4819
  959.                               4810
  960.                               4807
  961.       - internet - telnet nscmicro.nsc.com
  962.                  - ftp    nscmicro.nsc.com
  963.  
  964.    Circuit Cellar, Inc.
  965.        - contains code from their magazine articles and from the
  966.          original Circuit Cellar articles in Byte magazine, also
  967.          contains many other interesting items
  968.        - The BBS is mentioned in the masthead of each issue (on the
  969.          table of contents page).  Excerpts from the BBS appear in Ken
  970.          Davidson's ConnecTime column in every issue with a description
  971.          of how to access the system at the end of every column.
  972.        - (203)871-1988
  973.        - Voice: (203)875-2751
  974.        - Fax: (203)872-2204
  975.  
  976.    Electronics Now
  977.        - contains code from their magazine articles
  978.        - (516)293-2283
  979.        - 1200/2400
  980.        - 8 Data Bits, No parity, 1 Stop bit
  981.  
  982. 3.3)  Free languages and development tools
  983.  
  984.     There are none. (Besides the Assembler and Software Utilities that
  985.     National gives away)
  986.  
  987.     Hopefully this will change. - If you have a good idea for a new 
  988.     product (or are interested in porting your (or somebody else's)
  989.     existing tool to be used with the COP8 - please contact me.
  990.     National has a program in place with incentives for people who do things
  991.     with COP8 - for more information contact rgetz@esd.nsc.com)
  992.  
  993. 3.4)  Free C compilers
  994.  
  995.     There are none.
  996.  
  997.     Hopefully this will change. - If you have a good idea for a new 
  998.     product (or are interested in porting your (or somebody else's)
  999.     existing tool to be used with the COP8 - please contact me.
  1000.     See above 3.3)
  1001.  
  1002. 3.5)  Plans for COP8-based boards
  1003.  
  1004.     There are none.
  1005.  
  1006.     Hopefully this will change. - If you have a good idea for a new 
  1007.     product (or are interested in porting your (or somebody else's)
  1008.     existing tool to be used with the COP8 - please contact me.
  1009.     See above 3.3)
  1010.  
  1011. 3.6)  Commercially available products
  1012.  
  1013.    Many firms (large and small) offer a variety of COP8 programming
  1014.    languages, support packages, and development systems.  No endorsement
  1015.    is implied by inclusion in this list.  I have made an attempt to
  1016.    include as many companies as possible.  I apologize to those I left
  1017.    out;  It's only because I didn't know about you.  If you want to be
  1018.    included in this list, just drop me a line - please.  Any corrections
  1019.    appreciated.
  1020.  
  1021.    C compilers - ByteCraft - contains a complete C compiler and integrated
  1022.      development environment for the COP8 family of microcontrollers. This 
  1023.      system provides ease of use and debugging capabilities not found in 
  1024.      other compilers.  AI system generates efficient, tight object code and
  1025.      fast execution. Includes linker and built in macro assembler.
  1026.  
  1027.      COP8 C-Code Development System
  1028.      ByteCraft Limited
  1029.      421 King Street North
  1030.      Waterloo, Ontario, Canada
  1031.      N2J 4E4
  1032.      (519) 888 - 6911 
  1033.      support@bytecraft.com
  1034.  
  1035.    Assemblers
  1036.      National Semiconductor Corporation
  1037.      - available for free on ftp:\\nscmicro.nsc.com\pub\cop8\assembler\
  1038.  
  1039.    Fuzzy Logic
  1040.      NeuFuz4 - NueFuz4 software, with up to 4 analog inputs and 1 analog
  1041.                output. Generates COP8 assembly Code.
  1042.      Contact National, or a National distributor.
  1043.      - demo copy on nscmicro.nsc.com
  1044.  
  1045.    In System Emulators
  1046.      iceMaster - Metalink - full in circuit emulator supporting all of
  1047.        the COP8 basic and feature family. Includes features such as a
  1048.        full performance analyzer, 4k - frame trace buffer, symbolic
  1049.        debugging, electrically transparent, 32K program space, hardware
  1050.        breakpoints.
  1051.  
  1052.      debug Module - Metalink - almost full in circuit emulator (does
  1053.        not support hardware breakpoints). Includes features such as 
  1054.        8 software breakpoints, 100 frame trace buffer, symbolic debugging,
  1055.        Sockets for programming COP8 OTPs in DIP, SO and PLCC.
  1056.  
  1057.      Evaluation and Programming Unit (EPU) - Metalink - in circuit 
  1058.        simulation (non real-time emulation). Includes features such as
  1059.        4k program size, 8 software breakpoints, 100 frame trace buffer,
  1060.        Symbolic debugging, 40-pin DIP socket for programming COP8780 and
  1061.        COP87M80 OTPs.
  1062.    
  1063.      All Metalink Tools can be purchased through National.
  1064.  
  1065.    Real-time Operating Systems (RTOS)
  1066.     There are none.
  1067.  
  1068.     Hopefully this will change. - If you have a good idea for a new 
  1069.     product (or are interested in porting your (or somebody else's)
  1070.     existing tool to be used with the COP8 - please contact me.)
  1071.  
  1072.    Programmers for OTPs and Windowed parts
  1073.                     North America     Europe          ASIA
  1074.     Metalink        (603) 926-0797  (49) 8141-1030    (852) 737-1800
  1075.     Xeltek          (408) 745-7974  (49) 2041-684758  (65) 276-6433
  1076.     BP Microsystems (800) 225-2102  (49) 89-8576667   (852) 3888-0629
  1077.     Data I/O        (800) 322-8246  (49) 89-85-8020   (33) 432-6991
  1078.     Abcom                           (89) 808707
  1079.     System General  (408) 263-6667  (31) 921-7844     (886) 2-9173005
  1080.  
  1081.  
  1082. 3.7) Contacting National
  1083.  
  1084.     Worldwide support (in English) on COP8 Tools you can email:
  1085.       coptools@esd.nsc.com
  1086.  
  1087.     For pricing, avaliblity, or support in your native language, call:
  1088.     Country         Tel                       Fax
  1089.     Australia       (3) 558 - 9999            (3) 558 - 9998
  1090.     Brazil          (55-11) 212 - 5066        (55-11) 212 - 1181
  1091.     Bulgaria        (02) 88 - 01 - 16         (02) 80 - 36 - 18
  1092.     Canada          (800) 272 - 9959          (800) 432 - 9672
  1093.     Denmark         (57) 67 - 20 - 80         (57) 67 - 20 - 82
  1094.     Finland         (0) 759 - 1855            (0) 759 - 1393
  1095.     France          (01) 40 - 94 - 88 - 88    (01) 40 - 94 - 88 - 11
  1096.     Germany         (0 - 69) 789 - 1090       (0 - 69) 789 - 4383
  1097.     Hong Kong       (852) 737 - 1600          (852) 736 - 9960
  1098.     Ireland         (01) 260 - 0022           (01) 283 - 0650
  1099.     Italy           (02) 57500300             (02) 57500400
  1100.     Japan           (043) 299 - 2300          (043) 299 - 2500
  1101.     Korea           (02) 784 - 8051           (02) 784 - 8054
  1102.     Mexico          (525) 661 - 7155          (525) 661 - 6905
  1103.     Puerto Rico     (809) 758 - 9211          (809) 763 - 6959
  1104.     Singapore       (65) 225 - 2226           (65) 225 - 7080
  1105.     Spain           (01) 7 - 33 - 29 - 58     (01) 7 - 33 - 80 - 18
  1106.     Sweden          (08) 7228050              (08) 7229095
  1107.     Switzerland     (01) 8 - 30 - 27 - 27     (01) 8 - 30 - 19 - 00
  1108.     Taiwan          (02) 521 - 3288           (02) 561 - 3054
  1109.     United Kingdom  (0793) 61 - 41 - 41       (0793) 52 - 21 - 80
  1110.     United States   (800) 272 - 9959          (800) 432 - 9672
  1111.  
  1112. ----------------------------------------------------------------------
  1113.  
  1114.  
  1115. 4)  COP8 DOCUMENTATION
  1116.  
  1117. 4.1) Periodicals
  1118.  
  1119.    Various magazines and journals (journals seems to be THE popular name
  1120.    for magazines these days) provide articles from time to time on the
  1121.    COP8 line of microcontrollers:
  1122.  
  1123.    The Computer Applications Journal (Circuit Cellar Ink)
  1124.        - programming and construction articles
  1125.        - POB 7694, Riverton, NJ  08077-8784
  1126.        - Fax: (203)872-2204
  1127.        - Voice orders: (609) 786-0409
  1128.        - On-line orders (BBS): (203) 871-1988
  1129.        - Email orders: ken.davidson@circellar.com
  1130.        - $21.95, $31.95 surface Canada and Mexico,
  1131.          $49.95 air all other countries
  1132.  
  1133.    Computer Design
  1134.        - industry announcements and trends
  1135.        - One Technology Park Drive, P.O. Box 990, Westford, MA  01886
  1136.        - (508)692-0700
  1137.  
  1138.    The Computer Journal
  1139.        - programming and construction articles
  1140.        - PO Box 535, Lincoln  96648
  1141.  
  1142.    Dr. Dobbs Journal
  1143.        - programming articles, concepts, and designs
  1144.        - 411 Borel Ave., San Mateo, CA  94402
  1145.        - (415)358-9500
  1146.  
  1147.    Electronic Engineering Times
  1148.        - industry announcements and trends
  1149.        - 500-B Bi-County Boulevard, Farmingdale, NY  11735
  1150.        - (516)293-3000
  1151.  
  1152.    Electronics Now
  1153.        - construction articles
  1154.        - Box 55115, Boulder, CO  80321-5115
  1155.        - $19.97 one year
  1156.  
  1157.    Elektor Electronics
  1158.        - programming and construction articles
  1159.        - World Wide Subscription Service Ltd
  1160.          Unit 4, Gibbs Reed Farm, Pashley Road
  1161.          Ticehurst TN5 7HE, England
  1162.        - 27 UK pounds
  1163.     or
  1164.        - Old Colony Sound Lab, P.O. Box 243, Peterborough, NH 03458
  1165.        - Tel. (603) 924-6371, 924-6526
  1166.        - Fax: (603) 924-9467
  1167.        - $57 USA and Canada per year
  1168.  
  1169.    Embedded Systems Programming
  1170.        - programming and systems design articles
  1171.        - Miller Freeman Publications
  1172.        - 500 Howard St., San Francisco, CA  94105
  1173.        - (415) 397-1881
  1174.  
  1175.    Microcomputer Journal (formerly Computer Craft)
  1176.        - programming and construction articles
  1177.        - 76 N. Broadway, Hicksville, NY  11801
  1178.        - $18.95 one year, foreign $23.00, foreign air mail $76.00
  1179.  
  1180.    Midnight Engineering
  1181.        - 1700 Washington Ave., Rocky Road, CO  81067
  1182.        - (719)254-4553
  1183.  
  1184.    Nuts & Volts Magazine
  1185.        - A National Publication for the Buying and Selling of
  1186.          Electronic Equipment
  1187.        - 430 Princeland Court, Corona, CA  91719
  1188.        - Mailed third class, USA only:  $17.00 one year
  1189.                                         $31.00 two years
  1190.        - Mailed first class, one year only:  $34.00-USA
  1191.                                              $35.00-Canada/Mexico
  1192.        - Foreign/Air Mail - $70.00;  Foreign/Surface - $39.00
  1193.        - (800)783-4624
  1194.        - Email:  74262.3664@Compuserve.com
  1195.  
  1196. 4.2)  Data Books / Application Notes
  1197.  
  1198.    If you know of any books that cover the COP8, or if you can provide
  1199.    any details on the books listed here, please send me a note.  Thanks.
  1200.  
  1201.    Books provided by National about the COP8
  1202.  
  1203.    COP8 Databook
  1204.      - Lit # 400007-001
  1205.      - Current databook for COP8
  1206.  
  1207.    COP8 Advertisement
  1208.      - Lit #620900-001
  1209.      - Introduces 8-bit microcontrollers and COP8
  1210.  
  1211.    Utility Disk
  1212.      - Mac Version - Lit #630000-001
  1213.      - Win Version - Lit #630001-001
  1214.      - Typical microcontroller application and sample application code
  1215.  
  1216.    Product Overview Disk
  1217.      - Mac Version - Lit #630004-001
  1218.      - Win Version - Lit #630005-001
  1219.      - Self-lead COP8 overview. Shows product features/benefit and 
  1220.        includes an electronic selection guide.
  1221.  
  1222.    COP8 Selection Guide
  1223.      - Lit # 630006-001
  1224.      - Selection guide including 20 application examples
  1225.  
  1226.    COP8 Selection Sheet
  1227.      - Lit #620899-001
  1228.      - Selection guide only
  1229.  
  1230.    COP8 Designers Information Kit
  1231.      - Lit #630007-005
  1232.      - Includes databook, Selection Guide, Independent Software Analysis
  1233.        Utility and Overview disks
  1234.  
  1235.    Independent 8-bit Instruction Set Analysis
  1236.      - Lit #630008-001
  1237.      - Independently prepared software analysis of National's COP8,
  1238.        Motorola's M68HC05, Intel's 8051 and Microchip's PIC16C5X.
  1239.  
  1240.    8780 EPU Product Brief
  1241.      - Lit #610506-001
  1242.      - Metalink's COP8780 Evaluation / Programming Unit
  1243.  
  1244.    Debug Module Product Brief
  1245.      - Lit #610520-001
  1246.      - Fact sheet on Metalink's Debug Module
  1247.  
  1248.    iceMaster Product Brief
  1249.      - 630074-001
  1250.      - Fact Sheet on Metalink's in-circuit emulator
  1251.  
  1252.    COP8C Product Brief
  1253.      - Lit #610505-001
  1254.      - Fact Sheet on ByteCraft's C compiler for COP8
  1255.  
  1256.    NueFuz Product Information Pack
  1257.      - Lit #633101-002
  1258.      - Intro to NeuFuz4 (disk, app-not and fact sheet)
  1259.  
  1260.    Application Notes
  1261.      - Lit #100823-001 - Timekeeping using a COP800
  1262.      - Lit #100643-001 - EMI / RFI Board Design
  1263.      - Lit #100959-001 - Battery charger with Neufuz
  1264.      - Lit #400007-001 - Others can be found in the 1994 databook. 
  1265.  
  1266.    Programmer's Reference Guide
  1267.      - Programmer's Reference Guide includes block diagrams, connection 
  1268.        diagrams, memory map, instruction set, bytes and cycles per
  1269.        instruction, and device features.
  1270.      - Lit #630018-001 - COP820/840
  1271.      - Lit #630019-001 - COP888CL / COP888CF / COP888CG
  1272.  
  1273.    COP800 Basic Family Users Manual
  1274.      - Doc #420410703-001
  1275.      - Describes all basic family devices, in-depth features and
  1276.        common pitfalls
  1277.  
  1278.    COP888 Features Family Users Manual
  1279.      - Doc #420411060-001
  1280.      - Describes all feature family devices, in-depth features and
  1281.        common pitfalls
  1282.  
  1283.    COP8 Assembler / Linker / Librarian Users' Manual
  1284.      - Doc #424421632-001
  1285.      - Printed version of COP8 Assembler Manual.
  1286.  
  1287.    NeuFuz User's Manual
  1288.      - Doc #424421645-001
  1289.      - Manual for Neural / Fuzzy software
  1290.  
  1291.    Dial-A-Helper User's Manual
  1292.      - Doc #420410902-001
  1293.      - Manual for National's BBS
  1294.  
  1295. __________________________________________________________
  1296.  
  1297. Some parts Copyright (c) 1994 by Russell Hersch,<sibit@datasrv.co.il>
  1298.    all rights reserved. (Used with permission)
  1299.  
  1300. The rest is Copyright (c) 1995 Robin Getz all rights reserved.
  1301. -----------------------------------
  1302. Robin Getz - rgetz@esd.nsc.com
  1303.  
  1304.  
  1305.  
  1306.