Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/20/10 14:03
Modified:
  08/20/10 14:04

Read: times


 
#178151 - how do you know?
Responding to: ???'s previous message
Do not address posts to a specific person, I'll answre the best i can, but others may have better/more suggestions

The hardware we are using had been running successfully for years (now, the model is not in the market) with no field failures and hardware issues.
how do you know? it may have had errors that were not reported

The tristate logic at slaves end is already implemented in this hardware.
We have no idea about the earlier running software and its logic.
Now, we implemented a fresh software for the same hardware, and facing some minor issues which I had already posted.

there are no minor issues, only issues. The only place you find minor issues is in 'feature enhancements'

So, from our side, no issues related to hardware, and changes in hardware are , to say, not possible for now.
there ARE "issues related to hardware" are you sure the original software did not run the bus at, say, 1200 baud

The main problem we are facing is:

a) an arbitrary slave is failing to get addressed, I mean to say, failing to send acknowledge.
Then, the master starts counting the fails for 5 times, and then confirms that the slave has lost the communication flow, and treats this case as an error (type 1).

Q1. How to fix this error case, and how to revoke the failed slave to get back into the track?

best guess, your software goes "out to lunch". Go through your software with the attitude "anything, everything can come on the UART, bad transmission, noise, missing bits ...) and make sure that WHATEVER happens from the UART will not 'hang' your software. An example: what happens if a transmission is incomplete.

b) a slave, after getting addressed, is failing to send the end of data byte.
Now, the master notes error (type 2) and sends communication reset command to all slaves, in a way to refresh the communication at slaves end.

This error rate decreased by 50% when we added your trick of sending 'no data byte' before the end of data byte from slave to master.

why comm reset ALL slaves?, not a problem, just sounds excessive

try running the rig at 1200 baud both ways and see what happens.

Erik

Note; most transmission problems (reflections, ringing etc) will not be a problem if the output is steady till all reflections etc have died out. That is why a lower baudrate will 'fix' bad hardware

List of 46 messages in thread
TopicAuthorDate
Multiprocessor Communication 8052            01/01/70 00:00      
   missing info            01/01/70 00:00      
      Hardware and slaves placement            01/01/70 00:00      
         How to TriState???            01/01/70 00:00      
            Using Tristate IC in Slave Card            01/01/70 00:00      
               at the receive ...            01/01/70 00:00      
               RE: I think that this IC handles the Tristate situation            01/01/70 00:00      
               then you need to read            01/01/70 00:00      
                  At the Master end            01/01/70 00:00      
                     again, you need a schmitt            01/01/70 00:00      
                        Hysterese            01/01/70 00:00      
                        Re: Thanks...Info about hardware we are using            01/01/70 00:00      
                           how do you know?            01/01/70 00:00      
                              Lowering baud rate            01/01/70 00:00      
                           Really            01/01/70 00:00      
                              Modified the code in Master and Slave            01/01/70 00:00      
                                 Haven't seen full code - slave protocol state fully cleared?            01/01/70 00:00      
                                    Slave protocol code            01/01/70 00:00      
                                       Slave send code fails to synchronize            01/01/70 00:00      
                                          breaking infinite waits in slave acknowledge wait            01/01/70 00:00      
                                       Stop fooling yourself            01/01/70 00:00      
                                          why didn't you before posting updated code            01/01/70 00:00      
                                          How to reset?            01/01/70 00:00      
                                             Hard reset by doing a hard reset.            01/01/70 00:00      
                                          Errors gone            01/01/70 00:00      
                                             But slave still doesn't synchronize with a resend request            01/01/70 00:00      
                                                that is not the way to do it            01/01/70 00:00      
                                                   too late for an edit            01/01/70 00:00      
      Reduced Baud Rate            01/01/70 00:00      
         not surprised            01/01/70 00:00      
            Never reboot for a transfer error            01/01/70 00:00      
               never be an afterthought            01/01/70 00:00      
                  Transfer validation before implementing command processing            01/01/70 00:00      
                     a trick            01/01/70 00:00      
                        address coding example required            01/01/70 00:00      
                           example            01/01/70 00:00      
                        Added "No message" byte            01/01/70 00:00      
                  never be an afterthought: Amen            01/01/70 00:00      
               Slave Recovery in Error            01/01/70 00:00      
                  Find out Why            01/01/70 00:00      
                     absolutely            01/01/70 00:00      
                        worse in the real world            01/01/70 00:00      
                  in addition: rise baudrate            01/01/70 00:00      
               Slaves follow Synchronization            01/01/70 00:00      
   + Error Checking?            01/01/70 00:00      
      It would be smart to assume that a percentage of messages...            01/01/70 00:00      

Back to Subject List