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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/23/11 15:23
Read: times


 
Msg Score: +1
 +1 Informative
#183438 - Caution on Using SiLabs Parts
Responding to: ???'s previous message
SiLabs MCUs are really great parts with all the features that they support including the on-chip debugging. There is however an important design consideration that must be taken when using the parts with the priority cross bar. It is very important to decide at the beginning of any project just what set of peripherals you intend to use and nail that down tight in both some documentation you write and in your initialization source code. If you do not do this and you decide later to add a peripheral or take one away and and you have already built your PC boards then you will be an unhappy camper when I/Os move around.

So it is best to find a balance between the maximum peripheral configuration you would ever expect to need and the complement of regular port I/Os you need for the project. Note that some SiLabs part families support some registers called the "skip" or "bypass" SFRs that can be used to cause the priority crossbar to skip certain positions when assigning peripheral pins. These can be used to make a maximal configuration not make peripherals move around by setting the bypass (or skip) bits for peripherals that are not currently enabled on the crossbar. The skipped pins can be used for general I/O until some future software version comes and enables the peripheral and turns off the corresponding skip bits. To talk full advantage of that may require some careful thinking how that re-deployed pin is actually designed into the circuit on your board.

Maarten has made an excellent suggestion to play with the configuration wizard to get a good handle on how the crossbar works visually. I do want to make a small correction in what he wrote though.
Maarten Brock said:
When you disable a high priority peripheral the lower peripherals with lower priority shift down to lower pin numbers. Or when you enable one they shift up.

The shifting that occurs is along the order of assignments for the crossbar for any particular part family. Disabling the high priority peripheral does not necessarily move the lower priority peripherals to lower pin numbers. In fact for a C8051F340 family part they would move to higher pin numbers! Same appears to be true for the C8051F120 part. Others may vary based on the chip package and pinning.

Michael Karas

List of 9 messages in thread
TopicAuthorDate
C8051F120 SPI0 and UART1            01/01/70 00:00      
   priority crossbar            01/01/70 00:00      
      Caution on Using SiLabs Parts            01/01/70 00:00      
         Hurtful choice            01/01/70 00:00      
            the story            01/01/70 00:00      
               Best is normally in the middle            01/01/70 00:00      
                  TY            01/01/70 00:00      
         I meant port pins            01/01/70 00:00      
            The Skip Registers            01/01/70 00:00      

Back to Subject List