Communicating from one micro to another??


Results 1 to 6 of 6

Threaded View

  1. #3


    Did you find this post helpful? Yes | No

    Default PIC to PIC comms

    You do not state any distance or speed restrictions so I assume you have your devices within a metre or so. That means you can work up to at least 100,000 bps with the DEBUG and DEBUGIN commands - assuming 20 MHz crystals.

    I have several applications with three or more PICs chattering amongst themselves. In one case I use a bidirectional data lne with the SERIN/SEROUT commands at 9600 bps. In another I use separated data in and data out lines with the DEBUG/DEBUGIN commands. The DEBUG approach should also be able to use a single shared TX/Rx line. The Master Controller (MC) is a PIC 16F877A as is one of the slaves. The second slave is a PIC 16F88. The slave 'F877A mixes gases while the 'F88 runs a Peltier heater/cooler plus a DS1620 and controls temperature. The MC drives some analyser equipment.

    Usually, each processor has a single bidirectional data line to the other processors. In addition, each processor has two strobe lines between them.

    Whenever the MC needs to send a command temperature to the 'F88 or a desired gas mix to the slave 'F877, it raises the relevant Strobe 1 line. Each slave checks once per loop to see if there is a new command waiting. As soon as the slave sees that Strobe 1 is high it then knows the MC has new data for the slave. The slave raises Strobe 2 and uses a DEBUGIN command with a timeout to load the new command which arrives in a checksum protected packet at 100,000 bps from the MC.

    Likewise, if a slave needs to talk to the MC, it raises Strobe 1 and waits for the other processor to reply by raising Strobe 2. The slave then sends a short checksum protected packet to the MC via the DEBUG command. Except when a command exchange is needed, all PIC to PIC lines are configured as inputs and for safety there is a 330 ohm resistor on all PIC to PIC lines.

    In my case the packets are only a few characters long and data rate is 100,000 bps so the data exchange takes place in a few milliseconds.

    HTH
    Brian
    Last edited by BrianT; - 25th October 2006 at 00:01.

Similar Threads

  1. How to transfer data from 3 micro to 1
    By amindzo in forum mel PIC BASIC Pro
    Replies: 10
    Last Post: - 16th September 2008, 13:36
  2. Ideal backup power for PIC micro
    By emavil in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 22nd March 2007, 00:07
  3. Micro Code Studio - Warning message
    By flotulopex in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 17th November 2006, 21:17
  4. micro resources
    By volcane in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 4th May 2006, 21:57
  5. Micro code studio free?
    By Michael in forum mel PIC BASIC Pro
    Replies: 8
    Last Post: - 17th February 2006, 20:45

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts