circuit cellar nº 249

84
7/30/2019 circuit cellar nº 249 http://slidepdf.com/reader/full/circuit-cellar-no-249 1/84

Upload: dario-iglesias

Post on 14-Apr-2018

287 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 1/84

Page 2: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 2/84

Page 3: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 3/84

Page 4: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 4/84

Page 5: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 5/84

Page 6: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 6/84

Page 7: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 7/84

Page 8: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 8/84

Page 9: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 9/84

Page 10: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 10/84

Page 11: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 11/84

Page 12: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 12/84

Page 13: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 13/84

Page 14: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 14/84

Page 15: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 15/84

Page 16: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 16/84

Page 17: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 17/84

Page 18: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 18/84

Page 19: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 19/84

Page 20: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 20/84

Page 21: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 21/84

Page 22: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 22/84

Page 23: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 23/84

Page 24: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 24/84

Page 25: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 25/84

Page 26: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 26/84

Page 27: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 27/84

Page 28: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 28/84

Page 29: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 29/84

Page 30: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 30/84

Page 31: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 31/84

Page 32: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 32/84

Page 33: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 33/84

Page 34: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 34/84

Page 35: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 35/84

Page 36: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 36/84

Page 37: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 37/84

Page 38: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 38/84

Page 39: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 39/84

Page 40: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 40/84

Page 41: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 41/84

Page 42: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 42/84

Page 43: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 43/84

Page 44: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 44/84

Page 45: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 45/84

Page 46: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 46/84

Page 47: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 47/84

Page 48: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 48/84

Page 49: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 49/84

Page 50: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 50/84

Page 51: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 51/84

Page 52: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 52/84

Page 53: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 53/84

Page 54: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 54/84

Page 55: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 55/84

Page 56: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 56/84

Page 57: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 57/84

Page 58: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 58/84

Page 59: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 59/84

Page 60: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 60/84

Page 61: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 61/84

Page 62: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 62/84

Page 63: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 63/84

Page 64: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 64/84

Page 65: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 65/84

Page 66: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 66/84

Page 67: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 67/84

Page 68: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 68/84

Page 69: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 69/84

Page 70: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 70/84

Page 71: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 71/84

Page 72: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 72/84

the subsequent locations will hold

the remaining portion of your appli-cation. If you are using interrupts,then the assembler creates a jumpinstruction that branches to theactual beginning of your applicationand around the interrupt vectors.Interrupts have their own permanentvector address as well, a low-priority

CIRCUIT CELLAR ® • www.circuitcellar.com

A p r il 2011 –I s s u e249

where the bootloader might be locat-

ed. At power-up or reset, the micro-controller’s program counter is forcedto the reset vector. In most micro-controllers, this is normally zero, thevery bottom of the flash memoryprogram area. This location holds thefirst instruction of your application.Without the use of any interrupts,

interrupt vector and a high-priori-ty interrupt vector.

Figure 1 shows where these arelocated in the PIC18F2320. Inthis case, the microcontrollerexecutes a jump instruction atthe reset vector (0x0000) to theapplication code placed in the on-chip program memory. The boot-loader must now take charge ofthe reset vector location. It gainscontrol by permanently replacingthe jump destination (normallythe application address) with itsown address. Execution nowbegins with the bootloader code.Figure 2 shows the structurewhen the bootloader is placed atthe end of the on-chip program

space. When the bootloader is placed

at the top of flash memory, it placesthe original jump to the applicationat the end of the on-chip programspace, just below itself. This createsa permanent place for a branchinstruction to the beginning of theapplication (application reset vector).

Figure 3 shows the structure whenthe bootloader is placed at the begin-ning of the on-chip program space. Inthis situation, it places the originaljump to the application at a perma-nent location in the on-chip programspace, just above itself. Again, thiscreates a permanent place for abranch instruction to the beginningof the application (application resetvector).

Both structures have their advan-tages and disadvantages. Placing thebootloader at the top of flash memo-ry means that the application can bewritten as normal (i.e., beginning atthe reset vector). However, the inter-rupt vectors are controlled by the

application. Placing the bootloader atthe bottom of flash memory meansthe application must be located(ORGed) somewhere other than0x0000. The interrupt vectors arenow under bootloader control andmust be remapped for use with theapplication. Let’s look at how thisaffects the application.

APPLICATIONYou can think of the bootloader

and the application as two entirely

Photo 1— While both the serial and USB interfaces have provisions for data and control lines, onlythe data lines—TX and RX—need to be implemented in a minimal interface. The serial interfacecan be used by populating the MAX232 chip. The USB interface can be implemented by choosingthe appropriate jumpers on JP4/5.

"""

! ! $

#%

Page 73: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 73/84

Page 74: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 74/84

CIRCUIT CELLAR ® • www.circuitcellar.com

A p r il 2011 –I s s u e249

separate programs. While they eachrequire their own program space,since only one is in control at a time,they can share the same data memo-ry and peripherals. When you writean application there are generally norestrictions on where it will reside.The assembler will organize yourapplication code to begin at the nor-mal reset vector. A power on or resetwill therefore begin directly executingyour application code. Referring backto Figure 2, a bootloader placed at the

approach). If the host program sees thebootloader is high, it will make twonecessary changes. First, it replaces thereset vector to force a jump to thebootloader code (to check for a trigger).And second, it places a jump to theapplication code just below the boot-loader, so that the bootloader knowshow to get to the application code.

If you decide to place the bootloadercode at the bottom of flash programmemory space, the application codemust be handled a bit differently thannormal. Refer back to Figure 3. In thisinstance, the bootloader will alreadyhave control over the reset vector sothe host program doesn’t need tomake any changes to this. The inter-rupt vectors are in control of the boot-loader, so use of these by the boot-

loader is possible. However, how canyour application use these?Instead of placing a return from

interrupt ( RETFIE ) at the end of anyinterrupt code, the bootloader uses ajump to a predefined location (wherethe application is located), whichallows the application to have accessto the execution flow of each inter-rupt vector.

Let’s look at this a little more close-ly. The length of the bootload code isknown. Let’s say it’s 800 instructionslong, which is 0x0320. You could startthe application at address 0x0321, butit makes sense to use a nice evenaddress based on block size, like0x0400. Normal applications, and inthis case the bootloader, use the threevectors: reset (0x0000), high priority(0x0008), and low priority (0x0018).You’ve determined that the applica-tion now begins at an application vec-tor of 0x0400. In keeping with theoriginal offsets for the interrupts, that

would make the high-priority vectorat 0x0408 and the low-priority vectorat 0x0418. The low bootloader nowknows that it can branch to the appli-cation at 0x0400 and uses branches to0x0408 and 0x0418 at the end of itsinterrupt code. This means that everyapplication written for use with thisbootloader must use new addresses forthe three associated vectors, an applica-tion reset vector at 0x0400, an applica-tion high-priority interrupt vector at0x0408, and an application low-priority

top of flash program memory will notinterfere with the application, exceptthat the maximum size of the applica-tion has now been reduced by the sizeof the bootloader. There is no changein the way the application handles theinterrupt vectors. This will eliminatethe possibility of using these fromwithin the bootloader, as it has nocontrol over them (unless you requiresome special coding of these in everyapplication you write, which kind ofdefeats the cleanliness of this

Page 75: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 75/84

www.circuitcellar.com • CIRCUIT CELLAR ®

7 3

A

PROJECT FILESTo download code, go to ftp://ftp.circuitcellar.com/pub/Circuit_Cellar/2011/249.

REFERENCE[1] E. Schlunder, “High-Speed Serial Bootloader forPIC16 and PIC18 Devices,” AN1310, Microchip Tech-nology, 2010.

SOURCESMCP2200 USB 2.0-to-UART Protocol converter

Microchip Technology, Inc. | www.microchip.com

Jeff Bachiochi (pronounced BAH-key-AH-key) has been writing for Circuit Cellar since 1988. His background includes product designand manufacturing. You can reach him at jeff.bachiochi@imaginethat now.com or at www.imaginethatnow.com.

interrupt vector at 0x0418. In addition, it must place aRETFIE instruction at each application interrupt vector,even if these are not used. This is necessary to completethe interrupt code started by the bootloader.

THE VANISHING SERIAL PORTIt’s true. Computers are now made without serial ports—

well, at least the serial ports as defined by the DB25 andDE9, which we have come to recognize as serial connec-tors. USB has totally replaced these. But I’ll bet you have atleast one USB serial (or parallel) dongle that you can pluginto your USB slot to get back that serial port that justwon’t go away. So, adding a serial port to your product isn’tgoing to make it a dinosaur! But wait, this column comesat a very opportune time. Microchip just released an inex-pensive, easy-to-use, serial-to-USB IC that enables you toadd USB capability to your UART-based microcontroller.And, it works perfectly with this bootloader and supportinghost program.

Refer to Figure 4 and Photo 1 . The schematic shows the

serial-based circuitry and the USB-based circuitry connect-ed to a microcontroller. Note that the cost in parts for theserial solution might actually be slightly more than theUSB solution. And, the USB solution requires less realestate. Although I didn’t use it for hand assembly reasons,the USB IC is available in a 5 mm × 5 mm 20-pin quad flatno-leads (QFN) package.

You may remember from a past column that I worked onan assembly translation of USB support for PICs that havean internal USB peripheral. First, let me say that those ofyou who use C have access to bootload code throughMicrochip’s application libraries and those supported bymost other manufacturers. Those of you who have beenfollowing my rantings over the years know that I have anitty-gritty, need-to-know (some might even say “sadistic”)desire to use only assembly language. Deciding to use anon-board USB peripheral changes the complexity of thebootloader code drastically. While support for the actualprogramming of the device remains constant, the supportfor the USB peripheral makes the bootloader size increasedramatically. In this case, the assembly code I reworked tomake use of this bootload scheme increased by a factor offour. Now, instead of requiring an offset of 0x0400 for theapplication, it must be 0x1000. So, at least in small applica-tions where it might seem like using a microcontroller with

integrated USB peripheral could save money, the larger (andmore complicated) bootloader might end up reducing theamount of room you have for the actual application.

UPGRADES POSSIBLEYou can use the basic bootloading technique I described

to upgrade virtually any device or product. And having theability to do so can lead to more profit when you’re design-ing for your employer or client. Many of the applicationsyou run on your PC have the ability to check for upgrades,download, and install themselves with little user effort.This is all thanks to an Internet connection. It only makessense to provide your products with the same capabilities.

WHO KNOWS?While Intel might own the prize for the first micro-

processor in the 1970s, it was a quite a few years beforeperipherals were added along with a microprocessor in thesame package. Initially, these microcontrollers had ROMas well. PROM (OTP) enabled manufacturers to one-time-program the parts as needed, while EPROM (windowed)UV-erasable parts were expensive and therefore used onlyfor developing code. Who knows when and who intro-duced the first flash memory-based microcontroller? I

Page 76: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 76/84

CIRCUIT CELLAR ® • www.circuitcellar.com

A p r i l 2 0 1 1 –

I s s u e

2 4 9

1 2 3

4

5

6 7

8

9

10 11

12 13

14

15

16 17 18

19 20

The answers will be available in the next issue and at

www.circuitcellar.com/crossword.

Down

2. Used to brighten things [three words]3. Used to weave the Web [four words]7. Mechanical, not real8. 10 –9 s9. Common text message: “Rolling on the floor laughing”11. Required to login13. Creates fluidity, such as liquid or air17. Ω

20. Used to build electronic circuits [two words]

Across

1. Makes direct connections [two words]4. Social networking guru5. A group of messages6. Used to enclose text10. Protocol allowing the exchange of data between

networked devices12. Between J and L14. One way a computer reads data15. Data, a series of lines [two words]16. Another word for main board or system board18. Creator of Unix-type operating systems19. Permits current forward and backward

Page 77: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 77/84

www.circuitcellar.com • CIRCUIT CELLAR ® 7 5

A

l 2 0

I

2 4 9

THE DIRECTORY OF

PRODUCTS AND SERVICES

AD FORMAT: Advertisers must furnish digital files that meet our specifications (www.circuitcellar.com/advertise). ALL TEXT AND OTHER ELEMENTS MUSTFIT WITHIN A 2" x 3" FORMAT. [email protected] with your file or send it to IDEA BOX, Circuit Cellar, PO Box 180, Vernon, CT 06066.

For current rates, deadlines, and more information contact Peter Wostrel at 800.454.3741, 978.281.7708 [email protected].

The Vendor Directory at www.circuitcellar.com/vendor/ is your guide to a variety of engineering products and services.

IDEA

BOX

-OSAIC )NDUSTRIES )NCtel: 510-790-1255 fax: 510-790-0925WWW MOSAIC INDUSTRIES COM

L Low cost 2.5”x4” C-programmablecomputer

L 16-bit HCS12 processor clocked at 40 MHzL 8 PWM, 8 counter/timer, and 8 digital I/OL 16 10-bit A/D inputsL Dual RS232/485 ports, SPI and I 2C portsL 512K on-chip Flash, 512K RAM with

Flash backupL Plug-in I/O expansion, including Ethernet,

Wi-Fi, GPS, 24-bit data acquisition, UART,USB, Compact Flash card, relays, and more ...

PDQ Board TM - A Fast I/O-RichSingle Board Computer

$159/ 100s

www.TechnologicalArts.com

Adapt9S12Modular Prototyping System

For education & development

Evaluate * Educate * Embed

Toll-free (USA & Canada):1-877-963-8996

Topologies Supported:Planar, Stack, Backplane, Tower

MCU Families Supported:S12A, C, D, E, NE, XD, XE, XS

Page 78: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 78/84

CIRCUIT CELLAR ® • www.circuitcellar.com

A p r il 2011 –I s s u e249

! "#

$ % &%

% ' ( !)%" #!) %&"

*" #& *

% # +

ATRIA Technologies Inc.www.AtriaTechnologies.com

MicrocontrollerModules

x 8 & 32 bitx Freescale Flexisx MC9S08 seriesx MCF51 series

CommunicationModulesx Bluetoothx RS-232x USB

I/O Modulesx 2x20 LCDx Keypad

GREAT For:x Projectsx Breadboardsx Experimentsx Labs

Kits Available

ORDER NOW

BASIC On Board EliminatesDevelopment Tools

Page 79: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 79/84

www.circuitcellar.com • CIRCUIT CELLAR ® 7 7

A

l 2 0

I

2 4 9

Industrial packagingWeather resistantStandard ô´ ILWWLQJ$99.95 USD qty. 1

www.maxbotix.com

High acoustic power Real-time calibrationTiny size$39.95 USD qty. 1

Power-up calibrationSmallest MaxSonar Low power, 2.5V-5.5V$29.95 USD qty. 1

XL-MaxSonar-EZ

LV-MaxSonar-EZ

MaxSonar-WR (IP67)

MaxSonar-WRC (IP67)Compact packagingWeather resistantQuality narrow beam$99.95 USD qty. 1

MaxSonar Perfect for OEMs & Engineers

Page 80: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 80/84

CIRCUIT CELLAR ® • www.circuitcellar.com

A p r il 2011 –I s s u e249

Across

2. KILOWATTHOUR —1,000 Watthours[two words]

4. TERMINAL —Where electricityenters/exits a device

6. BALUN —Balanced/unbalanced10. KEYED —OOK is on/off what?11. SILICONMONOXIDE —SiO [two

words]15. DECADE —0 to 9, Counter 16. VERNIER —Measurement, Cali-

bration, used with main scale18. PATCH —Quick fix19. IRONOXIDE —Rust [two words]

Down

1. LANGUAGES —Tcl, Lisp, Fortran3. BASELOAD —Minimum power deliv-

ered5. BATTERY —CR2032 is a standard7. ZERO —Empty set size8. TRIGGER —Schmitt9. MIL —0.001″

12. COPPER —Element in a “groundisland”

13. EXABYTE —1,024 Petabytes14. TWEETER —Speaker for high-fre-

quency sounds17. EXTENSIBLE —X

CROSSWORD ANSWERS from Issue 248

TCPmaker for control over the Web Easy as 1-2-3:

1. De ne Your Data , with variable names that

YOU create.2. Lay Out Your Content (with gorgeousweb-ready screen controls that you can grabon to ) using TCPmaker’s drag & drop VisualPage Designer.3. Generate Your Code , for all Microchip Ccompilers, to “wire it all together.”

NO PC PROGRAMMING AT ALL – just point yourweb browser at your device!

www.tracesystemsinc.com888-474-1041

From the makers of HIDmaker FS:

Simple Upgrade Management System

Low cost integrated system manages upgradesacross di erent processors & connectivity types:

> Lets your end users upgrade your PICrmware safely, simply, and securely.> Automatically delivers upgrade by email.> Simple for non-technical end users.> Encrypted system protects your rmware

from theft or from being programmed into thewrong device.> Grows with your product line: for a new

product w/ di erent processor or connectivitytype, just add another SUMS bootloader.

UART-WiFi, UHF EPC Gen2 RFIDReader, Powerline Communication

!

"" # " $% %

www.linksprite.com

# " & '%( %) %

* ('

+'( , ('

''(' ('

% ' + -( &% , $% . % (/

# % . - % '0 ''(' $% %

!

1 ! % '

See our full range of products, including books, accessories, and components a t:

www.melabs.com

USB Programmer for PIC® MCUs

(as shown)$89.95

RoHSCompliant

Programs PIC MCUs including low-voltage (3.3V)devices.Includes Software for Windows 98, Me, NT, XP, and Vista.

With Accessories for $119.95:Includes Programmer, Software, USB Cable, and Programming Adapter for 8 to 40-pin DIP.

microEngineering Labs, Inc.www.melabs.com 888-316-1753

PICBASIC PRO ™ Compiler

PICBASIC PRO ™ Compiler $249.95

Bridges the gap between easeof use and professional level results. The simplicity of thelanguage allows both hobbyist and engineer to master it quickly, but the engineer appreciates what’s happening

under the hood. This is a true compiler that produces fast, optimized machine codethat's stable and dependable.

Supports:More than 300 PIC ® MicrocontrollersDirect Access to Internal RegistersIn-Line Assembly LanguageInterrupts in PICBASIC and Assembly Built-In USB, I2C, RS-232 and MoreSource Level Debugging in MPLAB

Page 81: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 81/84

78 AAG Electronica, LLC

75 All Electronics Corp.

32 AP Circuits

70 ARM

76 Atria Technologies, Inc.

77 Bitwise Systems

77 BusBoard Prototype Systems Ltd.

27 Comfile Technology, Inc.

76 Custom Computer Services, Inc.

33 CWAV

75 Decade Engineering

77 Earth Computer Technology

36, 37 Elektor

67 Elektor

72 Elprotronic, Inc.

19 Elsevier, Inc.

Page

72 EMAC, Inc.

49 Energy Micro AS

59 ESC Silicon Valley

69 Embedded Developer

72 ExpressPCB

62 ezPCB

12 Fastwel, Ltd./Eremex

75 FlexiPanel Ltd.

20 Futurlec

18 Grid Connect, Inc.

14 Humandata Ltd.

44 , 45 IC Bank

1 Imagineering, Inc.

18 Ironwood Electronics

C3 Jameco

34 Jeffrey Kerr, LLC

11, 32 JK microsystems, Inc.

75, 76 JK microsystems, Inc.

76 Lakeview Research

77 Lawicel AB

11 Lemos International Co., Inc.

78 LinkSprite

35, 73 Linx Techonologies, Inc.

77 Maxbotix, Inc.

77 MCC, Micro Computer Control

78 microEngineering Labs, Inc.

15 Midwest Patent Law

75 Mosaic Industries, Inc.

5 Mouser Electronics, Inc.

C2 NetBurner

29 NXP Semiconductors

C4 Parallax, Inc.

Page Page Page

71 Pico Technology Ltd.

51 Pololu Corp.

77 Reach Technology, Inc.

26 Saelig Co. Inc.

76 Scidyne

21 Sealevel Systems

61 Sensors Expo & Conf. 2011

20 Tag-Connect

2, 3 Technologic Systems

75 Technological Arts

77 Tern, Inc.

78 Trace Systems, Inc.

53 Triangle Research Int’l, Inc.

15 TronicsZone

7 WIZnet Co., Inc.

www.circuitcellar.com • CIRCUIT CELLAR ®

INDEX OF A DVERTISERS

P REVIEW of May Issue 250

Theme: Measurement & Sensors

June Issue 251Deadlines

Space Close: Apr. 13

Materials Close: Apr. 20

Theme

Communications

ATTENTION ADVERTISERS

Call Peter Wostrelnow to reserve your space!

800.454.3741 or 978.281.7708

e-mail: [email protected]

7 9

A p r i l

2 0 1 1

– I s s u e

2 4 9

Virtual Sensing: Build a Virtual Alarm System

Control Shaft Encoders

Reprogrammable UAV Autopilot System (Part 2):Software and Testing

Microprogramming a CPU (Part 2):A Look at the Meta-Assembler

Stereo Spectrum Analyzer

THE CONSUMMATE ENGINEERFunctional Upset

LESSONS FROM THE TRENCHESDesign Development (Part 1): Planning and Tools

FROM THE BENCH Error Checking

Page 82: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 82/84

0 CIRCUIT CELLAR ® • www.circuitcellar.com

A

p r i l 2 0 1 1 –

I s s u e

2 4 9

PRIORITY

I predict that some day you won’t have to read this dribble anymore. No, seriously, it seems that while I often have muchto say about certain technologies, I don’t remember ever just making general predictions about a bunch of concepts or products and their futures. I suppose that utterly failing to read all the signs correctly in the past has deterred me fromspeculating in public; but, then again, I must have done a few things right to get where I am. So, here goes, and don’tshoot the messenger. ;-)

The Cloud: As much as I love the sound and smell of humongous quantities of computer hardware, there will be a vastmetamorphosis in business away from owning physical IT hardware and instead leasing software and services “in thecloud.” A cloud-based OS will arise that, if not from Microsoft, will mean certain end to the MS monopoly. However, withoutsome content standardization, the rapid commercial adoption of the cloud will linger. In the end, everything will be browser-based and you will use a single logon (and, more importantly, a single subscription) for all of your services and devices. Andremember the foreign call center support you hated in the past? It will be replaced by new “accent-less” e-mail support fromthe same people abroad. ;-)

Google vs. Facebook: Google seems to have a scattergun approach to business products and may ultimately lose thewar. The fact that 99% of the planet is on Facebook and I’m not suggests that Facebook’s future success is absolutelyensured. When I’m wrong, I’m always dead wrong! There is an opportunity to move rapidly up the corporate ladder for “quick learners” (obviously not me) who understand the enterprise value of using social networks to engage an audienceabout the company’s message, products, and services.

Mobile Computing: While I’m not sure about the exact format, mobile devices will continue to expand their processingabilities and bandwidth. They’ll ultimately replace PCs as the most common route for web access. Any business that stillhas a large-format homepage with a gigabyte of graphics isn’t going to make it in a new small-screen format world. Allcomputing devices will run some rendition of “apps,” and more commercial enterprises will use smartphone near-field com-munication (like RFID) to make purchases and financial transactions. Android sales will outpace iPhone, but comparisonsare irrelevant. Android’s introduction put smartphone development and competition on steroids, but it doesn’t ensure thesame quality among all the products sharing the brand. A bit of “buyer beware” consciousness is needed when purchas-ing mobile devices: anything is wise, at least in the short term.

The Tablet Wars: The iPad and its future variants may end up dictating the market. iPad’s avalanche of success was pri-marily about perfect timing. E-readers and netbooks had introduced the concept of portable entertainment/computing/pre-sentation appliances, but they were too narrowly focused for majority interest. With the addition of location, motion, video,and a variety of other contextual inputs, tablets will dominate this market segment as netbooks go extinct and low-end gener-ic notebooks become endangered species. Along with the world’s evolving understanding of “apps,” the tablet will becomethe new shared computer that anyone can pick up and use (as opposed to your private notebook or smartphone).

Ubiquitous Computing: Let’s face it. You’re already using a lot of computers. Your phone, your transportation, your work, and your entertainment all depend on them. I can’t say how soon, but the next generation of implementation willinvolve putting processors into everything else that you wouldn’t ordinarily think about. Clothes that automatically set their washing cycles, TV dinners that set their microwave cooking times, business cards that auto-update a recipient’s data-base, etc. Welcome to a completely networked life.

And a few final quick observations: the disk drives in your next laptop will be flash; the DSLR you covet will be super-seded by a cheaper compact camera with an interchangeable lens; you can toss your present e-readers because soonthey should be color (before becoming extinct); basic cell phones will continue to exist along with high-end 3G and 4Gsmartphones; the Apple zombies will continue to worship the fruit and won’t buy other brands (no matter what); engineer-ing a new IP product with only IPv4 addressing will be career suicide; mobile device addiction will become a valid concern;Facebook will buy Skype; and web-connected TV will gain momentum.

So, that’s it. I realize that some of these predictions are probably dead right and others are possibly total misses. The gam-bler’s creed is to always bet on the winners. I trust you’ll have better luck picking winners than I’ve had all these years. ;-)

A Guess to Come

[email protected]

by Steve Ciarcia, Founder and Editorial Director

INTERRUPT

Page 83: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 83/84

Page 84: circuit cellar nº 249

7/30/2019 circuit cellar nº 249

http://slidepdf.com/reader/full/circuit-cellar-no-249 84/84