| fireether |
After reading the thread at clubtsx.com about the Navi system - thank you Jedi for posting it - I would like to share what I know so far from reading theirs and from what I know and think so far from what I've seen.
Anybody who is confused to what I'm saying, please read the forum at TSX before reading further.
I believe the Customized chip could be the SH4 processor along with some other logic circuits inside. Yes it would have cost alot of money to make, but there are other reason to make it other than to make it harder for people to hack the units.
Space. I'm a computer engineer and I have a long history in electronics - and space is very important - especially if you want to make a device thats the same size as a big CD drive and market it as a full blown computer. So perhaps Mitshushibi (sp?) or another company are making those chips for more than one market. If Alpine was the one making those chips, why not combine the GPS chip with the big chip? Sure it'll be bigger, but it can be done. So therefore the big chip probably have alot of CORE components that can be used over a wide market, and also would have a market life that would last a long time - in other words - can be used for many years and not just for a specific number of years.
So in conclusion - I would like to get a good picture of the whole board on both sides and see how many chips there are. There could be chips on the other side of the board that were missed, and whatever chips we cant figure out - would be in the main chip. I would assume the SH4 processor is in the big chip along with some ROM (more on that later), probably an I2C, SPI interface with ethernet, maybe a sound/speech processor. Video may not be on board because video can vary and it would be better to be able to have capability with a wide number of video processors. Sound may be in, but it depends because most of the upgrades could be made externally - i.e. more memory for sound if the processor has RAM support.
The smaller the unit, usually the smaller the memory. That brings us to the subject of memory. From what I've seen on Microsoft's site and what I've seen from the car and other peoples comments, I believe there is a bootrom inside the processor chip that is a perment ROM - it cannot be updated. And the purpose of this ROM is to bootup from a flash RAM or ROM that could be external to the CPU and probably is. However if the boot image is corrupted, then the internal ROM would have subroutines to recover. Think of it as your computer - if your hard drive gets corrupted, your BIOS still allows you to insert a floppy and reinstall your operating system. Any company who developes systems like what windows CE runs on is asking for trouble if they dont provide for a backup way to re-install the operating system when it gets corrupted.
For handhelds its via a serial cable. However for the Navi system, I believe its through the DVD-Rom interface and the PCMCIA card, and possibly also a serial interface. We already know that when the OS boots up, it allows for a new version of the Navi DVD to be inserted and then can be flashed into the device - thus updating the software on the device. This argues for the device booting up using flash rom and storing settings there, but using RAM. More on this later. Back to the point: When the operating system is in the RAM - then it allows for the flash rom to be updated via the DVD or PCMCIA card - and the drivers for those are loaded on system bootup. However, what if the flash rom is corrupted? It may default to a serial link if that occurs, or to a PCMCIA card because a PCMCIA card (compact flash) can emulate a hard drive - and if the CPU has ATA support built in - this is the perfect way for the program in the internal ROM to load the system file and thus restore the system.
Now, lets get to why I believe the program is stored in the RAM. Notice in the Acura MDX manual, it says not to leave your lights on AUTO if you will not use the car for more than few weeks - thats for those of you who have the AUTO setting for your headlights. Now, why doesnt it say the same thing about the Navigation device? Why when I turn on the ignition but I dont start the car, does it come on, and then when I start the car (its off for a second) does it restart all over?
The answer, I believe, is in that the flash ROM is copied to the RAM - and then when it looks up maps, it can copy the area around where you are to the RAM as well. When the device fully boots up, notice it takes 3-5 seconds or more to show the map. That is done by aquiring where you are, or using your last known position (not sure on this) and copying potions of the map to RAM. When you zoom out and look at other areas, it takes a little longer to load than when you look around your area. Coincidence? I think not.
Now, since it loads into the RAM, this would argue for its long loading time. Look at handhelds that use the windows CE system. You turn them off, then turn them on, and they come up the way they are. The Navigation unit does not - it stays in that Acura menu for few minutes - not even the diagnostic hotkeys works. And then after it starts up, you can then hotkey into it and use it even if the DVD is not in. The startup time is the same - with or without the DVD. And thus everytime the ignition is turned off, the Navigation system loses power and loses whats in its memory. Now, the users settings are saved in a EEPROM, but the program is saved in flash memory.
Remember that the general rule of making chips for applications is that the more complex and expensive the chip is, the more you want to be able to sell this chip to any place and they can use it without having to do too much - a chip that is very powerful but can be used for more applications than just cars. Now, look at the lifespan of Flash memory. Compact flash, in particular. It can be read infinite amounts of times, but it only has a life of a billion or so writes. Whats the best way to cut down on the number of writes to flash memory? By writing to it ONLY when the operating system is loaded from a media - be it dvd or pcmcia card, to the device. The user settings can be stored in EEPROM - which has an infinite write lifespan. EEPROM is slower than Flash memory, but if the system wrote to the EEPROM while doing other tasks - it can be done in the background. Also mostly whats stored in the EEPROM would be user information, user settings, things that only take up few bytes and therefore wouldnt take that much time to write. |
|
|
| fireether |
So, for those of you who want to find a way to backup the memory of the navigation system, good luck. When the ROM is internal to the CPU, you cant. This way the designers can be assured that no matter what happens, the system can always be reflashed (I'm assuming flash memory is external) and even if somebody on the design line makes a boo-boo, it can be fixed. Most of the time its fixed by inserting the DVD, going into the diagnostic menu and then selecting update, or so. Some technicans in the Acura dealership are taught how to do that, but mostly they're told how to over the phone - and if that doesnt work - then the unit is sent to Acura. This way the techicans dont have to learn too much about fixing the system, and that means less cost for Acura. A shipping cost of 50 bucks is alot less than few hundred from training employees.
Also, theres a checksum in the binary file. This way if any part of it is corrupted, then the system would know. All cars come from the dealership with the system installed, therefore, whats the chance of a system getting really messed up? Do the math. :) So they save money by having a simple way to update the system, and if that doesnt work, ship it to the techs.
So what I would do is the same as what PRMan of tsxclub and others there said - burn a DVD (maybe a CD would work?) and try it. I dont have tools on expanding the BIN file and individually modifying the files within. However, I would have to assume theres a checksum on the files. However, could try and find a way to run additional applications, or changing the boot order. Maybe the system will let it go, maybe it wont. Play with it. Just rememeber not to mess with the OS or the diagnostic menu programs too much, since those allow you to re-flash the system. Otherwise I suggest you guys to find the backup way to flash the system if it doesnt accept CD or PCMCIA when the flash portion is corrupted.
So far:
Possible 32 MB Flash ROM - Windows CE systems tend to have a Program space and Application space in memory - program space is where programs run in memory, and application space is where programs are stored. This could follow a different way by having 64 or more MB of ram, 32 MB of flash rom - remember that microsoft website said that BIN files are 1/2 size of normal files, thus 10 or 11MB bin file could be 20-22 MB normally, which would fit on a 32MB flash rom. Another way to know for sure is to measure how long it takes to flash the ROM - and then calculate that with a known data rate/sec. Theres also a EEPROM, most likely serial EEPROM - could be 1MB or 2MB, which is enough for calendar, address book, and settings - but it could be 8MB. The internal ROM could be 8MB or 4MB, and have low-level code that starts up the system.
Last of all, I strongly think theres ROM inside that provides for protection against fools and boots up the system. The reason why - if this chip was made to run windows CE and/or other operating systems, there would be some need for protection against corruption - which can cost the end company alot of money if they have to get the units and then fix them by hand by attaching probes and so forth. So there has to be protection and a way to startup the operating system and seeing if its sane - and if not, to reload it. Also to make sure that everything checks out, and so forth. Moreover, it makes the product more valuable if the end company doesnt have to put in their own "bios" to protect against that. Also look at hand-held units - if you mess with the internal flash rom and corrupt it, they allow you to attach it to a serial cable and use a special key combination to start up a bootloader to reinstall the operating system.
Sorry if I rambled on, I just wanted to point out things that I strongly think, from my experience with computers and my learning experience in computer engineering - which also deals with embedded systems. I'm not that brave to crack open my navigation unit yet because of warrenty reasons, but I'm brave enough to do software stuff, once I have the right tools.
Thank you guys.
-Noah |
|
|
| xcel |
Hi Fireether:
___Not to rain on your parade but with the cost of the Sirf IIe/LP chipset for a GPS receiver, a 400 MHz X-Scale w/ PocketPC2002 and 2003 just a week or two away, and the ability to connect via RGB to a touch screen LCD, why are you trying to reinvent the wheel? A PocketPC or Shuttle boxed based PIII w/ RGB to a touch screen should be all that is needed for just about anything? Tying in the A/C and other X NAVI screen functions (vehicle motion sensors for when the GPS receiver loses fix) would be a SOB but as for the computing power, it is all there. Intellinav will work off a Laptop or PDA and that could solve any memory issues you may have as well?
___I am not a Computer engineer but am a PC video performance as well as PocketPC – GPS NAVI enthusiast and I am not sure where you are headed is all …
___Good Luck
___Wayne R. Gerdes
___Hunt Club Farms Landscaping Ltd.
___Waynegerdes@earthlink.net |
|
|
| fireether |
:-)
I accidently posted this as a new thread - it was meant to be a reply to the other thread, which deals with figuring out the navigation system and so forth.
Read there for more information, and reason why to do this? Curiousity. Also its an existing system, what better to add to it rather than putting in a new system? But I do agree than having your own new system allows for more flexibility in having what you want, and having more control over what programs it can run, and so forth - and you can do what you want and not be limited to what Acura does.
However, curiousity is the answer to why I'm doing this. :) |
|
|
|