Intercommunication between two or more megaAvrs

Go To Last Post
71 posts / 0 new

Pages

Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I know the way using analog signals using decoders ...but is there any other efficient way?

Salman

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OneWire, SPI, I2C, UART, CAN, Lin, Ethernet, Wi-Fi, Bluetooth, USB ... I could go on.

 

Could you be a bit more specific about the usage scenario?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

salmanma6 wrote:
the (sic) way using analog signals using decoders

Oh yeah - what way is that, then?

 

Quote:
is there any other efficient way?

I hardly think using analogue signals counts as "efficient"?!

 

But there's a huge range of options; eg,

 

  • Async serial (UART/RS232);
  • SPI
  • I2C
  • CAN
  • other serial
  • Parallel
  • Ethernet
  • Wireless - a whole topic in itself
  • PSTN modem
  •  

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
salmanma6 wrote: the (sic) way using analog signals using decoders Oh yeah - what way is that, then?

Lighten up Andy.  Could be the OP is referring to Modems such at the old Nat Semi device that I cannot remember the part number for as an example?

 

awneil wrote:
I hardly think using analogue signals counts as "efficient"?!

Back in the day and for long haul thats what you used.  FSK was a favorite.

 

Anyway as already noted there are a myriad of options.  Its all based on your requirements.

 

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

Last Edited: Wed. Mar 8, 2017 - 05:00 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
I hardly think using analogue signals counts as "efficient"?!

Well, I suppose that one could consider using e.g. RS232 transceiver to be an analog signal with a decoder.

 

As in your other recent queries, you need to give a lot more information...

 

-- How far apart are the nodes?

-- What is the needed transfer rate (speed)?

-- What is the needed transfer rate (volume)?

 

And, perhaps most important:  Why?

 

Why are you thinking of adding a link between two AVRs?  What problem are you trying to solve?  Why can't an AVR model with perhaps more resources do the job?  That makes the system design much less complicated and other benefits.

 

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

jgmdesign wrote:
Could be the OP is referring to Modems such at the old Nat Semi device that I cannot remember the part number for as an example?

That's one way of using analogue signals - but by no means the way!

 

Another would be DTMF.

 

Following what theusch said, I guess Ethernet and most Wireless (which is not just radio) comms could also be considered "analogue" ... ?

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

See I'm basically want to display words in 3 led matrix modules....suppose one megaavr contains the logic of time (I can use other pins but I want to know how this works)..another avr contains code to display letters on led matrix modules
Suppose if time is bw 5:30 am and 12:00pm ...I would like to display "MOR"... Similarly for Afternoon and evening..

Salman

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

And also...sun rise and sun set times vary !

Salman

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

salmanma6 wrote:
suppose one megaavr contains the logic of time ... another avr contains code to display letters on led matrix modules

 

But, again, why would you have to separate Mega AVRs to do that??

 

If you really must have 2 AVRs, how far apart will they be?

 

  • On the same PCB?
  • On different PCBs, but in the same enclosure?
  • In separate pieces of equipment, but not more than a foot or so apart?
  • In separate pieces of equipment, but close enough to be wired together?
  • Further apart than that?

 

Do you want the communication to be wired, or wireless?

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For two AVRs talking to each other, USART is probably the simplest way to inter-connect them especially when the data only needs to go in one direction and then it'd be SPI followed by I2C.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

UART "simplest"? IMHO it doesn't get simpler than SPI and as long as the master polls the slave that can be "bi-directional".

 

I suppose actually 8 data lines (and a strobe) would be the very easiest of all ;-)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
UART "simplest"? IMHO it doesn't get simpler than SPI

Simpler?  Perhaps.

 

Pins?  About the same.

 

But -- many are not fans of AVR8 SPI slave.  I'm included in the "many".  For me UART would be "simpler".  YMMV.

 

OP is adding a lot of complications for the stated goal.  And didn't answer many of my questions directly.  A bank of 7-segs is almost an afterthought on AVR8 designs.

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
UART "simplest"? IMHO it doesn't get simpler than SPI

I think I would also have said UART but, reconsidering, you're probably right - because SPI removes all those nasty baud rate issues ...

 

But the advantage of UART is that it's easier to test/debug by just watching the data on a terminal - especially if you make your protocol ASCII...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Don't forget the UART is a USART, so add one pin for the clock, and now you don't have to worry about the baud rate, choose any you want.

 

Jim

 

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Brian Fairchild wrote:
For two AVRs talking to each other, USART is probably the simplest way to inter-connect them

Agreed.

 

Baud rate issues are easier to solve than SPI issued IMO YMMV.

 

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

theusch wrote:
A bank of 7-segs is almost an afterthought on AVR8 designs.

I've posted my x6 "driver":

https://www.avrfreaks.net/comment...

 

In https://www.avrfreaks.net/comment... I said (where OP wanted a "slave" to update 4x 7-segs):

The idea is to offload the main cpu from having to refresh the screen.

 I'm lost a little bit.  While one wo0uld probably want to refresh each digit at ~60Hz or faster, that is still say 250 refreshes per second, or one every 4 milliseconds.  Turn off previous column, apply row bit pattern, set new column takes a few microseconds.

 

Let's be conservative and say it takes 10us every millisecond.  That is 1% of the AVR's time.  You will spend less than that communicating with this slave? 

...and the screenful of "driver"  https://www.avrfreaks.net/comment...

 

 

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

jgmdesign wrote:
Could be the OP is referring to Modems ...

 

In theory one could implement a modem using a DtoA...

and decode it with an AtoD...

It's an interesting concept...

 

jgmdesign wrote:
A bank of 7-segs

 

Clock?

 

Perhaps the OP should rephrase the question, starting with the application and thoughts on architecture?

Last Edited: Thu. Mar 9, 2017 - 03:37 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

more precisely....in one avr i have the logic of months...i did programming such a way that month numbrr is stored in one variable ...which varies from 1 to 12....for each number ...i want to transfer this to other avr...other avr will display example"jan","feb"..etc...on led matrix modules...

Salman

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have an 8535 cheerfully running three two-digit seven-segment displays.  I'm using discrete transistors (2N3904) for the common anodes, and a timer interrupt to control switching between the three.  The two on my desk are acting as clocks, but I've also repurposed the same design as counters for a motion controller.  If you run the counters too fast, the counting interrupt tramples on the display update interrupt and one of the displays gets real bright for awhile (the others going real dark).

 

Two minor details with my approach was that ExpressPCB wouldn't make the board at their cheapest level - Too many holes (two sets of displays'n'chip'n'buttons and stuff) and that I'd laid it out with great sweeping buses from chip to display to display, and that made every single display need a different combination of diodes on for any given value. leading to enormous hand-made lookup tables ( 3x ~120 16-bit entries each - Sometimes they don't only display 00-99) that weren't much fun to make.  Calibrating the clock crystal wasn't much fun either.

 

Oh, and the piezo buzzer buzzes at half the frequency of the display update, a couple kHz or so (if buzzing).  It was there, so I used it. 

 

If you want the assembler code let me know.

 

S.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The OP could, for example and by way of a learning exercise, have a separate AVR for each character of the display and a 'master' AVR which does the actual timing. Each display AVR has their RXD lines connected together and to the masters TXD line. No other interconnect is needed as there is no need for the displays to talk back to the master. Every second the master could transmit the time and date as a simple 8 byte string (start character + Y,Y,M,D,H,M,S). Each slave would be responsible by extracting the byte it needs from the string and updating its connected display.

 

It's not an efficient way to do it and it's not how most of us would do it but it is a way.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Advantages of UART over SPI is that they can be easily tested with a PC/RPi (gtkterm, teraterm, minicom, python scripts can be used - even  hyperterminal can work)

drawbacks are you need a Xal on both sides (but, for a clock application, that is not absurd)

 

Are you sure using a lot of avrs (one per C line, say?) would be funnier than only two? (IMO one avr is more than just enough, and easier to program : no need to manage transmission lines)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

salmanma6 wrote:
more precisely....in one avr i have the logic of months...i did programming such a way that month numbrr is stored in one variable ...which varies from 1 to 12....for each number ...i want to transfer this to other avr...other avr will display example"jan","feb"..etc...on led matrix modules...
You still aren't answering the fundamental questions from above. Why even use two CPUs - doing things in one is almost always the simpler solution. If there are to be two how far apart are they? 2mm ? 2cm? 20cm? 2m? 200m? 2km ? I'm assuming that up to about 20cm you would be talking about two CPUs on the same PCB. That would again raise the question of why two and not just one big one doing everything? There are also questions about the environment - if they were (say) 2m apart on separate PCBs through what kind of environment would any connecting cable be passing? If it's "noisy" it may require a "robust" kind of connection like differential signalling such as RRS485 or USB.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

7 cm a part.yeah i can do it in with one avr .I want to see how it works.i just wanna know the ways it works.laugh

Salman

Last Edited: Thu. Mar 9, 2017 - 11:15 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You are making a rod for your own back but anyway. At that distance you can use pretty much any of the "direct wire" interfaces mentioned above. The 3 you probably want to be choosing between are UART, SPI or I2C (which Atmel call TWI).

 

UART connects each direction with just a single wire. It is a one-to-one protocol. One end sends a byte and the other receives it.

 

SPI has a wire for each direction but also a third wire to provide a common clock signal. It is a selectable one-to-one protocol. You may have several receivers on an SPI bus. First you enable one and then it becomes a one-to-cone communication

 

I2C has just two shared wires (clock and data). Anyone one the bus can send or receive and you can have multiple devices "listening". An "address" is passed in the data to say which device is the actual target for any particular message.

 

As you are talking about just two AVRs in a one-to-one connection UART or SPI may be the more obvious choices.

 

(to use UART both AVRs need to transmit/receive at "known" rates and to be sure that they are both running at accurate enough speeds to ensure this it is usual to run each with a crystal - you can get away without but you may have problems (as about every 10th post on Freaks tells us!))

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Y not USART sir?

Salman

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

USART = UART. They are the same thing. The only reason Atmel added "S" in the middle of UART is that they added a "Synchronous" mode to later models of the UART. So the acronym is now Universal Synchronous / Asynchronous Receiver Transmitter.

 

But no one in reality ever actually uses the synchronous mode (well, OK, maybe 1 in 100?) so for me it will always be just UART and I use the terms UART and USART interchangeably.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Okay....Can I use Rs 232c for this purpose. Where is it mainly used for.
Seriously
I used web..but didn't get satisfied answer...
And also about max 232c...please
Elaborate

Salman

Last Edited: Thu. Mar 9, 2017 - 02:22 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

salmanma6 wrote:
7 cm a part
If the two devices are that close, conversion to RS-232 levels is probably overkill. Just connect TXD of each device to the RXD of the other.

 

Edit: However, sure you can use the MAX232 or similar to convert the TTL levels to RS-232.

David (aka frog_jr)

Last Edited: Thu. Mar 9, 2017 - 02:22 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Another solution would be to use 4 wires + strobe ....  (months are 1..12 can be coded on 4 bits). Software is almost straightforward, 7cm are short enough for ttl, and it is very fast (but, if ou want to change every months, does it matter?)

 

UART does not need max232 (on each side, as they invert, IIRC: if you put then on a PCB, it might be longer than 7 cm....). There are good tutorials in the very avrfreak site about uart/serial transmission https://www.avrfreaks.net/forum/t...

But I am afraid you need a Xal (at least for debugging, as internal clocks can vary): anyway, you need it ... for an accurate clock... 10% errors means you can wait for 3 days before mont changes...

 

Edited you can have a look at the arduino library sources (but it would be much  easier to understand if you read tutorials before...)

Last Edited: Thu. Mar 9, 2017 - 02:55 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm sorry...I didn't get you...Can u explain further

Salman

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here are the basic options - I didn't include dbrion's idea - that would be an alternative...

 

As you can see using "RS232" (and by implication two MAX232) hugely complicates this and is not necessary for 2 micros that are 7cm apart. It might be worth it if they were 7m apart!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

But OP says one remote micro for each of the LED arrays, right?  So multi-drop?

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Oh right. So I2C I guess it is then?

 

(I suppose MPCM on the UART might be possible too?)

 

I guess I was misled by this 7cm figure - thinking it was just two AVR separated by a distance of 7cm . So what are we actually talking about? Twenty different AVR with each one 7cm further on from the previous?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Figure 4...we are using max 232 ...where is rs 232c?..just asking

Salman

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

RS232 is a standard that defines electrical signalling. So in my picture those two lines between the two MAX232 are using +12v and -12V to carry the 0 / 1 states. That is "RS232". I believe RS232C (with a C on the end) is a 5V version of this.

 

If you have the chips 7 cm apart why in the name of all that is holy are you wasting the expense and complication of adding MAX232 and RS232 level signals into the design. The point of RS232 is for when signals need to be carried many metres down cables potentially subject to a lot of electrical noise. It's VERY unlikely you are going to encounter this in the 7cm between two chips on a single PCB. So you are wasting time/effort putting MAX232's (two even!!) into the design.

 

Also note that UART/MAX232/RS232 is still a one-to-one connection. If the suggestion here is not just two AVR but "two or MORE" AVR then this is not the solution anyway. You need a solution where you can have multiple devices connected.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@OP...

 

please explain fully how the displays are positioned and the distances involved.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sir I already told..its 7 or 10cm.
Will you just tell me which ways I have to implement in which schenario.Thanks
BTW what is full form of op?

Salman

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

@OP

 

One more question...why do you want to use two AVRs when you could use chips meant to drive LED displays?

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

salmanma6 wrote:
BTW what is full form of op?

OP = Original Poster. So in this thread it means YOU.

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
I believe RS232C (with a C on the end) is a 5V version of this.

No, it's not,

 

There is a separate RSxxx number for that - which escapes me at the moment ...

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

awneil wrote:
No, it's not,
Oh yes, I was thinking of the UART the BBC model B used to have which was RS432 which is the non level shifted version. Sorry for the confusion.

 

(so just out of interest what does the 'C' on the end of RS232C indicate?)

 

EDIT: OK 'C' seems to just mean "3rd issue" really.

Last Edited: Fri. Mar 10, 2017 - 09:25 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

salmanma6 wrote:
Figure 4...we are using max 232 ...where is rs 232c?..just asking

 

Here is Cliff's diagram colour-coded to show where the RS232 is:

 

  • Blue lines are at the microcontroller's  Logic levels (usually 3V or 5V);
     
  • Red lines are RS232.

 

 

Note that all these interfaces are widely used and documented - and have been for many decades.

 

There is no shortage of information available in books & on the interwebs; eg,

 

SPI: https://en.wikipedia.org/wiki/Se...

 

I2C: https://en.wikipedia.org/wiki/I%...

Official I2C specification: http://www.nxp.com/documents/use...

 

UART: https://en.wikipedia.org/wiki/Un...

USART: https://en.wikipedia.org/wiki/Un...

 

RS232: https://en.wikipedia.org/wiki/RS...

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
The only reason Atmel added "S" in the middle of UART is that they added a "Synchronous" mode to later models of the UART

It's not just Atmel - "USART" is a common name for a thing that does both sync & async.

 

But no one in reality ever actually uses the synchronous mode

Actually, the RS232 standard does define both sync & async modes - one of the reasons they used so many pins (25) for the standard connector was to accommodate the clocks!

 

The sync modes were used by some dial-up modems.

 

https://en.wikipedia.org/wiki/RS...

 

But, for many years now, very few applications use sync RS232 - that's why the PC dropped all those extra pins and standardised on the 9-pin D-type.

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You are teaching granny to suck eggs. I know all that. But seriously, when is the last time you saw someone using sync? Right back in the days of 300/1200/2400 (v22/V22Bis/etc) modems I can remember there also being sync varieties but that's about the last time I saw a practical application. For local "sync" connections surely anyone would choose SPI/I2C these days? So UART sync would only be over long wires.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
back in the days of 300/1200/2400 (v22/V22Bis/etc) modems I can remember there also being sync varieties but that's about the last time I saw a practical application.

Likewise.

 

Edit: and when was the last time you used a 25-way D-Type for RS232 ... ?

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Fri. Mar 10, 2017 - 10:18 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Granny Lawson? Oh I hope that does not catch on... devil

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Reply no.18...what chips can u use to drive led arrays?

Salman

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

salmanma6 wrote:
Reply no.18...what chips can u use to drive led arrays?

 

I was thinking of something like a tpic6c595.

 

It's an 8-bit shift register which can drive 100mA on each open-drain output and so is ideal for directly driving 7-segment displays.

 

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
There is a separate RSxxx number for that - which escapes me at the moment ...
RS562 ?

Linear Technology

RS232/RS562 Transceivers

http://www.linear.com/products/rs232|rs562_transceivers

...

The RS562 standard is a similar low voltage version of the RS232 standard, with the primary difference being RS232 specifies a minimum driver output voltage of ±5V and RS562 specifies a minimum driver output voltage of ±3.7V, easing power supply requirements.

...

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

salmanma6 wrote:
I know the way using analog signals using decoders ...but is there any other efficient way?

Not analog... Digital using decoders

Salman

Pages