Search This Blog

Friday, August 20, 2010

Rest of the story......

Well lemme tell you about the rest of the story......

The next day i happened to go there with many of my classmates...Many were really bugged up by the technology there but let me tell you one thing....its a place on earth where every embedded system designer would wish to be.....
Let me get into the concepts part rather than the boring story........
Again i am going to divide this into say 3 units to be precise. Each one is gonna give you, the readers i mean, a brief outlook of Microchip's payed classes which was charged at 10$ per class...Be happy that you are getting it for free.I mean you all are making a profit of 30$ and also the pleasure of sitting back rocking your chair where ever you are just by this blog.....wish i had someone who could do the same.....

The first part is about Microchip's enhanced PIC 16 microcontroller and their pro-C compiler for programming their PIC controllers. The second part is about USB connectivity for embedded systems design which again was one of their lectures for 10$. The last one is the very interesting one which is harvesting the solar energy to power up the main electrical grid....It was like a product info class but still the concepts were good though obsolete...

1) Coming to the Enhanced PIC16 microcontrollers, PIC controllers follow the Harvard architecture unlike the Von-Neumann architecture which follows the method wherein there is a common memory space for both data and code... In case of Harvard architecture, the code and memory areas are different which owes its speed compared to the other architecture..also adding coding complexities to the system.....
I noted some features of PIC16 in my notebook during the lecture...Hope some of them would be useful..


  • Enhanced Mid-range Core with 49 Instruction, 16 Stack Levels
  • Flash Program Memory with self read/write capability
  • 96 LCD segment drive support
  • Internal 32MHz oscillator
  • Integrated Capacitive mTouch Sensing Module
  • MI2C, SPI, EUSART w/auto baud
  • 3 ECCP & 2 CCP (Enhanced/Capture Compare PWM)
  • Comparators with selectable Voltage Reference
  • 14 Channel 10b ADC with Voltage Reference
  • 25mA Source/Sink current I/O
  • Four 8-bit Timers (TMR0/TMR2/TMR4/TMR6)
  • One 16-bit Timer (TMR1)
  • Extended Watchdog Timer (EWDT)
  • Enhanced Power-On/Off-Reset
  • Brown-Out Reset (BOR)
  • In Circuit Serial Programming (ICSP)
  • Wide Operating Voltage (1.8V – 5.5V)
  • Low Power PIC16LF1939 variant (1.8V – 3.6V)
  • You can just google out the specifications in the google searc tab which i have provided in my blog at the bottom.....
    I even have a google book embedded in the books store of my blog...Fell free to visit them....
    Coming to Pro-C compiler, here are some snapshots which i managed to rip up from their website... I mean they only told the entire C language fundamentals... Not much stress was laid on the core of the topic itself....Funny........
    • Linker

      • Added a new linker command-line switch, --sort-section name|alignment, to sort sections by section name or maximum alignment.
      • Added SORT_BY_NAME and SORT_BY_ALIGNMENT to the linker script language to permit sorting sections by section name or section maximum alignment.
      • New switch: --print-gc-sections to list any sections removed by garabge collection.
      • Addded a new command-line option '--default-script=FILE' or '-dT FILE' which specifies a replacement for the built-in, default linker script.
      • Linker scripts support a new INSERT command that makes it easier to augment the default script.
      • Linker-script input-section filespecs may now specify a file within an archive by writing "archive:file".
      • The --sort-common switch now has an optional argument which specifies the direction of sorting.
      • The Linker sources are now released under version 3 of the GNU General Public License.
     
    • Binary Utilities


      • pic32-readelf can now display address ranges from .debug_range sections. This happens automatically when a DW_AT_range attribute is encountered. The command line switch --debug-dump=Ranges (or -wR) can also be used to display the contents of the .debug_range section.
      • pic32-objcopy recognizes two new options, --strip-unneeded-symbol and --strip-unneeded-symbols, namely for use together with the wildcard matching the original --strip-symbol/--strip-symbols provided, but retaining any symbols matching but needed by relocations.
      • Added -g/--section-groups to pic32-readelf to display section groups.
      • Added --globalize-symbol and --globalize-symbols switches to pic32-objcopy to convert local symbols into global symbols.
      • Added -t/--section-details to pic32-readelf to display section details
      • Added -W/--dwarf to pic32-objdump to display the contents of the DWARF debug sections.
      • Added -wL switch to dump decoded contents of .debug_line.
      • Added -F switch to pic32-objdump to include file offsets in the disassembly.
      • Added -c switch to pic32-readelf to allow string dumps of archive symbol index.
      • Added -p switch to pic32-readelf to allow string dumps of sections.
      • The Binutils sources are now released under version 3 of the GNU General Public License.




      2) Coming to the USB part, ill try to brief you with some of the main concepts which i know and learnt there....USB is a mechanism by which the host can access resources by the method of PnP or Plug n  Play....They are generally hot swap devices which means that you have no need to power down your system to remove and deallocate the resource handles. Let me explain this with a scenario. Consider your own PC. This has a USB port. This single USB has the ability to support a maximum of 127 devices. Dont expect that you can use a hub and multiply this number. In USB all devices acts as nodes as if they were directly connected to the host or in this case your PC and it doesn't matter how many hubs are placed between your PC and your device. The PC will not bother to differentiate this as a hubbed connection or as a stand alone connection( direct connection). When you see your USB port i.e the one on your PC, it is a standard A type USB interface. Always the host will have a A type connector. There is a reduced size version of the connector called as the B connector which you might see on many target boards. There is another flat type yet same length as that of the A type is called as the mini-B type.Same length but shorter width...........Now there is another type in fact the last one called as the micro B which you would generally find on your mobile phones. Let me get into the hardware details. the USB cable are of 3 categories based on the speed of data transmission.....The first is the USB 1.1, then are USB 2.0, USB 3.0 which happens to be the latest high speed stuff....The cable will have 4 wires of which two are related to power and other two related to data transmission.There is actually no need for focusing anything beyond USB1.1 as the embedded systems need this USB mainly for the purpose of burning the code onto the RAM of the smart device and not for communicating with the host always...So for the purpose of writing the program onto the flash chip, USB 1.1 would do a lot at the present day......Generally there will be a USB interface controller to synchronize with the target device. This can be a dedicated controller or can be any microcontroller with a USB support doing the job of the USB controller...More details regarding this can be found in the two books which i have embedded in the books store.....

      3) Lastly i would wish to tell about the solar energy harvesting concept that they have developed...Pretty simple.....U have a solar panel which would harvest nearly 100W power...you feed this to a buck-boost inverter circuit...a pretty complex one...this produces the required voltage which gould drive back the current into the grid which inturn means charging the main electrical grid...there has been many incentives by the government ...specifically in germany, there is an incentive of 0.39$ per watt generation of power fed into the grid.....coming back to the circuit, the buck-boost voltage is then sensed by a microcontroller ( a PIC controller ). The controller also senses the main line voltage and phase...by matching the inverter's phase to that of the main line, the power is forced into the grid....thereby you can actually make the electric usage meter to run back........There is a wide scope for development in this sector...lot of government incentives also provided....Hope u may take this development as your career sometime.......


    No comments:

    Post a Comment

    Note: Only a member of this blog may post a comment.