cancel
Showing results for 
Search instead for 
Did you mean: 

problem with USART multi-processor mode

xinjin
Associate II
Posted on March 06, 2013 at 08:33

Dear,

    I met the problem when use the USART multiprocessor mode. In my USART communication application, even for one USART, there are 3 different addressses for different data packages. But STM32F4 only provide one address to be compared. If I don't use the multiprocessor mode, I cannot identify the data or address on the bus. The basic requirement for me is to identify the data or address on the bus and if the addresses are not for this node, it will ignore or mute. The addresses for one node not only fixed one. So how can I implement?  It works different with ARM7.

B.R.

Jin

#9-bit #multiprocessor
15 REPLIES 15
Posted on March 08, 2013 at 02:13

Maybe you could use a part with multiple UARTs, and have each UART configured for a different address...?

+1 on multiple RX connections

Isn't the address match only on the low order 4 bits? Could you use the high order bits to differentiate the streams?
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
xinjin
Associate II
Posted on March 08, 2013 at 06:27

Take the AT91SAM7S multidrop mode for example:

 Multidrop Mode

If the PAR field in the Mode Register (US_MR) is programmed to the value 0x6 or 0x07, the

USART runs in Multidrop Mode. This mode differentiates the data characters and the address

characters. Data is transmitted with the parity bit at 0 and addresses are transmitted with the

parity bit at 1.

What I need is to identify the address from data, and the compare of address is done by software.

I have considered to use multiple USART, but there is a problem that, because the node for me is dynamic, maybe it is not fixed. So I can't know how many nodes needed before handshake.

Posted on March 08, 2013 at 08:11

''What I need is to identify the address from data, and the compare of address is done by software''

Yes! That's exactly what we've been saying to you!!

''the node for me is dynamic, maybe it is not fixed. So I can't know how many nodes needed before handshake.''

Ah - that's not what you've been saying so far in this thread!

So far in this thread, you've been saying that it is 3 addresses!

xinjin
Associate II
Posted on March 08, 2013 at 09:26

3 address is only one node. There are also other node include different number addresses depending on number of the packages they would response. Anyway, that may be a solution of my case. However, I just want to know if STM32F4 can work like the multidrop mode of ARM7 or any other old MCU, such as Renasus. Appreciate for all of your help.

B.R.

Jin

xinjin
Associate II
Posted on March 08, 2013 at 09:53

Isn't the address match only on the low order 4 bits? Could you use the high order bits to differentiate the streams?

unfortunately, the high order 4 bits is the same, the differences are on the low order 4 bits.

Posted on March 08, 2013 at 14:05

''I just want to know if STM32F4 can work like the multidrop mode of ARM7 or any other old MCU''

What does the documentation tell you?