Wednesday, October 2, 2013

Staying power of 8051- A closer look at the 80C251 Soft Core

In my last post on 8015 couple of days back, I promised to revisit the soft core descendant of the 80C251 processor. Here we take a closer look at what it has to offer.

The advantage of micro-controllers is that it can offers many peripherals on chip. The more it can offer, more diverse systems can be implemented with it. So, let's take a look at the peripherals the DQ 80251, the soft core has to offer. One unique peripheral is a block that is JTAG compatible hardware. Other units on-chip include a power management unit, an interrupt controller, 4 x 8 bit I/O units, 2 x timer/controllers, and  a full duplex serial port. We shall take a look at the peripherals in another post.

Meanwhile let us look at the debug facilities available through the access provided in the core. The interface follows the JTAG and other standards. The soft core bundle comes with a set of debug software too. So when you have created a device and implemented a system, you would be able to get a detailed look at what is happening when your application code is running. Major source of problems at development time is how the program logic was implemented. The logic used in developing algorithm(s) could be wrong. next thing is the problem in semantics. You used source statements meant to implement some logic but the exact semantics (that is rigid in programming languages) could be different. The same thing can extend to object code level. The compiler used may have used some machine instructions to implement the source statements but the actual machine code may do things differently, based on what it is defined to do.

To understand what exactly has happened inside the target machine can only be decoded by looking at the processor status (the ALU, registers, Stack pointer, any special registers, the flags, etc.), values of relevant variables, etc. Any good debug system should let you control execution and find these information bits.

The debug process breaks the chain of execution at some suitable point (chosen by the developer/tester) and allowing you to look at the relevant information as mentioned already. You should be able to do this after a block of code has been executed or even after every statement is executed. The debug hardware module and the software provided gives quite a sophisticated set up. You should be able to debug most kinds of systems implemented using the DQ80251.

10 steps to selecting a microcontroller

In an article in EDN, 10 things to be looked at for selecting a micro-controller were discussed. The items discussed were 

  1. Looking at the interfaces you are going to require for connecting to external devices
  2. Look at the software architecture
  3. Select an architecture
  4. Assess memory needs
  5. Evaluate microcontroller and select one
  6. Cost and power constraints study
  7. Check availability
  8. Make sure development software support is available
  9. Take up testing of actual devices
This is a good check-list. But, do remember that it is an iterative process, not a sequential one. You will need to go back and forth between the steps. For example, at step 6 you find that the controller you selected at step 5 does not meet your power budget, you will need to go back and look at other alternatives as in step 5.

At step 1, the problem may look like a simple hardware issue. Not so with embedded systems. Hardware and  the external connections influence what amount of software you might need. If the connections are for USB or may be even Ethernet (communications in general) will need software support of the communications protocol stack.

Software architecture will determine if it will be able to support the processing you require, how often you need interrupts to be serviced, how complex those services are, if you need floating point support. In fat you will need to consider here if floating requirements are heavy enough to make sure floating point support is available on-chip.

You should have a fair idea of what kind of micro-controller you are going to need. Current needs, likely future needs, costs involved, software development tool available are some factors to be considered to arrive at a couple of likely candidates.Likely memory requirements and what addressable memory is available with the controller are some other considerations too. If you are trying to make a minimal hardware system, you need to look for adequate amount of on-chip memory. This assessment should include some extra resources as features always creep up and additional memory is required eventually. If planning on external memory, the hardware needed should be minimal and address logic should be simple. Often the external memory access is slower. You will need to make sure the access time will be acceptable.

Rest of the steps are quite self evident. Of these, the software support point is very crucial though.Read the EDN article here.
Full credentials of Debasis

Tuesday, October 1, 2013

8051 micro Has Tremendous Staying Power, Evolves into Quad-Pipelined Soft Core

The latest avatar is a soft core and much evolved version of the 8 bit microcontroller family. The designing company the Digital Core Design has been working with the 8051 for a long time, for past 11 years! This core is a 16/32 bit version of the industry standard and much popular 80C51 and 80C251 devices. While the 80C51 was, as we all know, was a preferred 8 bit device, the 80C251 was an evolve 16 bit version. This core being offered has a 32 bit option too.

The devices you could create out of this core could be more than 50 time faster that the 80C51 and about 5 times faster than the 80C251. One feature that contributes to the speed up is the heavily pipeline processor core. What is more interesting is that it will consume much less power to get that performance. The on-chip configurable debug unit (compatible with JTAG) is interesting. The PMU or the power management unit is useful for managing the power use and optimizing the power to performance. Rest of the peripherals are predictable and compatible with what you have come to expect in the 8051 devices. The designers provide all the support needed for compiling specific devices including the VHDL and Verilog source code.

This sure is an interesting device and we plan to spend more time on the same in future posts.

For complete details about Debasis please look up the this site.