Phillip wrote: >Hi Bob >Thanks for taking the time to answer my questions. >That is all good news as far as I'm concerned I really did not want to >operate my stuff at 5V unless I had to. >I am writing an application for GPS repeater using an 18F6520 that provides >absolute transmit power control and the next task is to communicate with the >two serial ports. >One port will have a GPS receiver (to measure the GPS power level) and the >other will be used for remote control and of course the boot >loader/programming. > > > VERY interesting. I used that tiniest Trimble GPS receiver. Nice, quality stuff. I was able to bit-bang the receiver at 4800b, since it didn't need a full duplex UART. >I did not expect to write a boot loader out of a)sheer laziness and b)I >"assumed" that microchip or some third party would provide a boot loader >that was "standardized and more feature rich that I could use and spare me >devoting a lot of time to development (no on ever accused me of writing >code quickly) to what falls into the wheel and fire category or at least >should in my mind. >So my next question > > Is there as "standard" boot loader for microchip stuff? >Can an I use yours?............it sounds fab to me. > > > Well, my PIC was a PIC16F88 so it can't be the SAME as yours. But I can help you with it. Wanta do it off-list? Just email me directly. Just to get started... I used the Microchip 32Kx8 SPI EEROM in SOIC8, but Atmel and others have it in Mini-8. The 18F6520 has a program codeword space of 32K so you will need to use a 65Kx8 device (microchip has one, everybody else does, too). I think the 6520 erases and writes 4 words at a time. Plan for your command protocol to include one command of about 72 bytes to send each code packet, which is to be installed into the EEPROM. Storage information as well as chksum is included. Allow about 512 words to handle the processing for the update. I recommend part of the bootblock to be the most critical part of the update code, with the rest residing in the uppermost part of memory. >Because of your GPS leg work (heh heh get it? leg work)you might be >interested to know we have just filed a patent for what we call a GPS spot >locator. >As you most likely know from your GPS leg work a GPS re-radiator or a >repeater gives you the location of the roof antenna. >A spot locator will receive the GPS signal and bust out the nav data and >then skew the signals and then re-transmit them so the if you stand under >the emitter it will be the same as if the roof was not there. >By locating arrays at strategic locations and controlling the transmit power >(also having as many or as few as the granularity you need of them) you can >track things indoors. >The cool thing is that if you keep the clock within one chip you can use the >GPS on a train or vehicle traveling at high speeds and never miss a beat >in/out tunnels. >(Didn't mean to give a marketing spiel just thought you'd like to hear about >it.) > > > That is awesome! I don't want to blab too much on such an open forum about what I did. The Feds will love to buy your capability. Email me offline, I'll try to help. I'll spec out the critical pieces for you. > >Phillip >Things should be as simple as possible but no simpler > > > >Phillip Coiner >CTO, GPS Source, Inc. > > >Your source for quality GNSS Networking Solutions and Design Services, Now! > >-----Original Message----- >From: piclist-bounces@mit.edu [mailto:piclist-bounces@mit.edu] On Behalf Of >Bob Axtell >Sent: Wednesday, April 05, 2006 10:46 AM >To: Microcontroller discussion list - Public. >Subject: Re: [PIC]: Microchip offer chip programming service > >Phillip wrote: > > > >>Hi >>I've been following all this programming thread with some interest. >>I have a lot of designs that operate at 3V but it hurts none of my >>components to let the programmer take the supply to 5V. >>I have to operate at 3V for of a couple of reasons. >>1)In some configurations I "steal" power from the antenna voltage GPS >>receivers send to their antenna so 3V consumes less power 2)some receivers >>though still quite rare only supply 3V to start with. >>(Actually it is always just a hair above 3V because the antenna >> >> >preamplifier > > >>operates at 3V then you need to send a little more to over come the I^2R >>losses so to make a long story short an LDO reg will give you 3V no >>problemo) >> >> >> >> >I know what you are doing. I did a cellular modem / GPS anklet for >criminals. > > > >> >>Now I have a future product where the firmware will be wildly complex but >> >> >it > > >>will not "steal" power.....if it did it would quickly drain all available >>power from all but the most high end/robust GPS receivers. >>To say that I'm going to nail the code on the first release or not want to >>change this or that for some of my customers in the first few revisions is >>wish full thinking at best and stoopid at worst. >> >> >> >> >If you can release errorless code, Uncle Sam could use a guy like you, >because at the very >least, you can walk on water. Ever rolled dice in Vegas? I'd buy the >plane ticket... > >All kidding aside.. NOBODY does that. If somebody tells you that >somebody did that, you >better reach around and make sure you still have your wallet, cause if >he'll lie about that, >he's apt to do ANYTHING. > > > >>My quantities are fairly low and testing will be very complex. >>So I have no problem with adding the header for the ICSP but I can't expect >>my customers in the field to have handy dandy ICSP or to open the box to >>connect to it plus when these are fielded they are some times >>installed/mounted in the rafters with a man lift and I use a blue tooth >>serial link to control the thing. >> >> >> >> >> >What I would do is use a 5-pin spring-loaded probe array to install >minimal firmware, like a >"bootloader". Then program it through the normal bluetooth serial >channel. I have done >two designs like this and they work very well. AND they both ran at >3.3V. These were both >PIC16F88, not nearly as powerful as the PIC18F6520. > >To solve the need to update the firmware almost entirely, I stored the >new firmware in a >32K I2C EEPROM until all had been received, then went on an "updating >binge" for 2-3 >minutes until everything was installed (nothing else could operate >during the binge). Another >advantage about the storage scheme is that it allows you to perform a >CRC of the data. >The data stored is NOT in hex, it is in actual data; that way the >compiler outputs data is not >a factor. > > > >>I wanted to leave my basic designs at 3V if I could because the RF portion >>works fine there no need to reinvent the wheel etc. >>So is the lesson I need to take away from all this is that in order to >>realistically be able to alter my code in the field via a serial port I >> >> >will > > >>need to operate the PIC at 5V??? >> >> >> >> >No, if you are using the bootloader scheme, it is 3V just like standard >operation. It just >might take a few mS longer to program each batch of new data (the F88 >installs 16 words >at a time). No 5V is needed when doing internal updates, unless you need >to change the >configuration word. BTW, My scheme could install internal EEROM data as >well, by simply >writing it like normal operation. > > > >>(Right now I'm using a 18F6520 or it I might go larger if it turns out I >>need more I/O or use a second device. >> >> >>I'd love to hear any of the groups thoughts and advice....thanks in advance >>for any replies. >> >> >> >> >I have a lot of experience with this, be glad to give some advice... if >not too much, I will >do it for free. NOTE: when updating firmware make SURE the packet is >thoroughly vetted >(protected from error during transfer), cause firmware data has to be >bulletproof. > >--Bob > > > -- Note: To protect our network, attachments must be sent to attach@engineer.cotse.net . 1-520-850-1673 USA/Canada http://beam.to/azengineer -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist