This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Multiprocessor communication in short distance

Other Parts Discussed in Thread: MSP430F2112, MSP430F5419, SN75HVD10

I have a project of LED display of three large 7-segmets digits I’ve decided to split the project into 4 boards one as a master controller where it gives the customer all interface options and features he requires and three identical digits each is powered by small microcontroller such as MSP430F2112 (this makes the design more flexible to make displays with more or less digits in the future), the problem is the communication, the distance from the master controller board to the nearest digit board is about 50 cm (20 in) and from any digit to the next digit is 10cm (4 in) I think that UART direct is not designed for such distance and also RS485 is designed for much larger distance and needs driver any one could please recommend a suitable communication method please.

  • Supposedly it's one-way communication? And project is not for mass-manufacturing?

    Mina Anton said:
    I think that UART direct is not designed for such distance

    You mean TTL CMOS UART? Actually it shall work for even longer distances. I find TTL CMOS UART solution still feasible for you. You have to avoid EMI and ground noise - so you need high-current bus driver on host, strong ground, shielded cable, shall keep cable capacitance low. It shall work on "slow speeds" like 19200bps and lower. Easiest way to do it - make prototype, run tests, check signal quality on bus using scope. Testing could be continuous CRC'ed data block transmission, during test each segment driver indicate number of bad blocks.

  • Ilmars said:
    I find TTL UART solution still feasible for you.

    I cringe whenever I see people suggest using TTL or CMOS level signals openly outside of a lab/development environment. As soon as customers are involved you have to think about reliability.

    I get the impression from the OP that all the boards are not housed inside one single box. ESD easily destroys MSP430 I/O cells. In this case a small, cheap RS-232 transceiver might be appropriate between boards.

    But then again, maybe I'm biased since people's lives literally depend on the reliability of the equipment that I design.

  • Brian Boorman said:
    I cringe whenever I see people suggest using TTL or CMOS level signals openly outside of a lab/development environment.

    Well... Then perhaps you are not old enough to recall millions of _consumer_ computers that in fact used TTL levels - in Centronics and SCSI. Yes, both interfaces had bus drivers and ESD protection but they were designed surely for use "outside of a lab/development environment".

    Brian Boorman said:
    cheap RS-232 transceiver

    I disagree here. If it's board-board communication bus then there's no need for rs232. Single differential driver on master and differential receivers on slaves will be enough. It will be cheaper and will consume less power.

  • Ilmars said:
    Well... Then perhaps you are not old enough to recall millions of _consumer_ computers that in fact used TTL levels - in Centronics and SCSI. Yes, both interfaces had bus drivers and ESD protection but they were designed surely for use "outside of a lab/development environment".

    Trust me, I'm old enough that some of our new-hires could be my kids. :-)

    I see that you qualified your remarks with the use of drivers and protection. Yes, you are correct, but those extra components is what made it ok to do that.

    The other difference is that when those interfaces were popular, the gate oxide thicknesses of the transistors were literally orders of magnitude thicker than they are today on the deep-submicron processes. The gate oxides on these 20/40/60 (-ish) nm processes are much less tolerant of ESD.

    I think that a lot of younger engineers (fresh out of college) perhaps don't have that historical reference nor appreciation for ESD sensitivity (until they learn the hard way).

    I just don't think that simple wires between processor port pins is ok outside the lab. I think you'll agree with that.

  • Brian Boorman said:
    I just don't think that simple wires between processor port pins is ok outside the lab. I think you'll agree with that.

    Yes, definitely I do agree. You can't expose uC pin to outside world without proper protection. However I still believe that properly designed TTL CMOS UART serial interface bus will work for particular application well. It will be cheapest solution too.

    In designs I like (and tend to) elegance and simplicity yet still meeting target specification. It's not that hard to find components, appnotes, reference designs and develop bus that will widthstand not only "consumer" body-model ESD tests but also MIL-std lightning tests :) For particular application it will be just unnecessary and expensive overkill, nothing close to good engineering.

  • Dear Friends, thank you very much for your support and you nice conversation, It took me some time to get every thing done and running, now let me share my experience with you:

    first I used an open collector buffer (7407) to shift the voltage level from 3,3v (from the MSP430F5419) to 5V, then I used a voltage divider (27K/47K) on every receiver board (all the three digits boards) and it was working fine and this was like a proof of concept and it was IN the LAB.

    I modified the design to use the RS485 (SN75HVD10) a little bit expensive but I used it in previous project and it is very reliable.

    The system is now fully functional and using RS485 network may help me to use only one master board to drive several panels and thus reduces the overall coast

    Thank you all again for your support, it helped me a lot

     

**Attention** This is a public forum