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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/14/07 15:25
Read: times


 
#132916 - Get a 1X Chip
Responding to: ???'s previous message
If you use a derivative chip (such as one of the SiLabs parts) with a 1X crystal to the the machine cycle rate then you should be able to find time for processing at the 115.2K baud rate. At a somewhat standard 8N1 type serial port format there are 10 clocks per character which computes 11520 bytes per second flowing on the RS485 line. My calculation indicates that this is 86.8 microseconds per byte. Now at the 1X clock divide ratio and using a 22.1184MHz crystal you will realize a total of 1920 machine cycles per byte on the serial port.

SiLabs parts have a good average of instructions at 2 machine cycles each and so this gives you some 1000 assembler level instructions ot work with. Should be possible to make work!!

If I were you, in this application, I would definately use the 1X SiLabs part. I would also write the serial port interrupt logic in as tight of assembler as possible. If you have the Keil tool set it is no problem mixing C and Assembler code together in one program.

One other thing I would do is in the serial port interrupt routine I would loop back to check if another character has arrived and if so process it before leaving the interrupt service routine. This way you can save the interrupt latency time overhead on some of the bytes received.

One last suggestion I would recommend is to carefully design your RS485 interface to make it so that you do not end up receiving the bytes you send duuring an outgong packet. This is a common error in some designs where the receiver part of the RS485 chip remains enabled during transmit and you end up potentially doubling the interrupt load while sending.

- Michael Karas


List of 68 messages in thread
TopicAuthorDate
Speed Recommendation            01/01/70 00:00      
   Time for processing            01/01/70 00:00      
   Get a 1X Chip            01/01/70 00:00      
      another 485 issue            01/01/70 00:00      
         slightly less            01/01/70 00:00      
            who gives a hoot            01/01/70 00:00      
               maybe yes, maybe not...            01/01/70 00:00      
   Choose the appropriate tool!            01/01/70 00:00      
      Don't have much of a choice!            01/01/70 00:00      
         drop the "coding standards"            01/01/70 00:00      
         Yikes.            01/01/70 00:00      
            down memory lane            01/01/70 00:00      
               a possible compromise...            01/01/70 00:00      
                  Well...            01/01/70 00:00      
               The other end of the spectrum ...            01/01/70 00:00      
                  afer quite a few iterations....            01/01/70 00:00      
                     The guide to writing unmaintainable code says:            01/01/70 00:00      
         That's the kind of nonsense...            01/01/70 00:00      
   put some load on the hardware            01/01/70 00:00      
      Jan, oh Jan            01/01/70 00:00      
      9-bit - more work for the hardware!            01/01/70 00:00      
         true, but...            01/01/70 00:00      
            It is...            01/01/70 00:00      
               calculate the ISR after making the ISR skip            01/01/70 00:00      
   Optimizing C            01/01/70 00:00      
      just one example            01/01/70 00:00      
         The advantage is...            01/01/70 00:00      
            If the thinking had preceded the coding ...            01/01/70 00:00      
               you miss the point            01/01/70 00:00      
                  then what's the chance of having him to C-craft?            01/01/70 00:00      
                     zero            01/01/70 00:00      
                     Job security, of course.            01/01/70 00:00      
      Examples are not equivalent            01/01/70 00:00      
         Wasn\'t saying that they were.            01/01/70 00:00      
            I just tried SDCC...            01/01/70 00:00      
               Hm, can you post the assembly output ?            01/01/70 00:00      
                  Keil does this            01/01/70 00:00      
                     Interesting.            01/01/70 00:00      
                     Optimizing and Keil/SDCC/Raisonance            01/01/70 00:00      
                        Retort            01/01/70 00:00      
                           Register Banks...            01/01/70 00:00      
                              benchmarks            01/01/70 00:00      
                              tools differ            01/01/70 00:00      
                              Clarification            01/01/70 00:00      
                                 comments            01/01/70 00:00      
                                    not to write things twice            01/01/70 00:00      
                                       no need            01/01/70 00:00      
                                          And how does this produce two incarnations?            01/01/70 00:00      
                                             like this            01/01/70 00:00      
                                                hehe            01/01/70 00:00      
                                                   this is no better confusion-wise            01/01/70 00:00      
                                                      what is "efficient"            01/01/70 00:00      
                                                         ok is \'safe\' better?            01/01/70 00:00      
                                                            How to convey our ideas to the mcu?            01/01/70 00:00      
                                                               Carefull now, you could end with Prolog :)            01/01/70 00:00      
                                                                  my kids            01/01/70 00:00      
                                                            Huge code != huge time            01/01/70 00:00      
                                                               This comes under the heading of "famous last words            01/01/70 00:00      
                        the question I always raise on this            01/01/70 00:00      
                           Here's Why...            01/01/70 00:00      
                  SDCC            01/01/70 00:00      
                     Thanks. Also interesting.            01/01/70 00:00      
                     SDCC peephole optimiser conflict            01/01/70 00:00      
                  Raisonance            01/01/70 00:00      
   help me ,I NEED SOME HELP ON MY PROJECT            01/01/70 00:00      
      that is NOT 'help'            01/01/70 00:00      
      Well that is not the way to get it!            01/01/70 00:00      
      start a new thread!            01/01/70 00:00      

Back to Subject List