Originally Posted by
Tom H
1. GM has an unpopulated connector on both the TSide and ESide boards that I have mentioned. This permits an auxiliary computer to be connected to the system. The way it works is very tightly coupled with the software and hardware used. The auxiliary computer puts ram in a memory space that is not used by other chips on the boards. When attached it initializes a tag that software looks at to establish if there is this added computer. There is then a bunch of handshaking between the two software (aux and PCM). Once complete the aux is given a time slice (I don't remember the time or rep rate at the moment). This allows the aux to get in, read whatever and return the address space to the PCM CPU.
To give an idea of how large this was, the PCM code that runs it resides above the calibration (TSide ends at $4326) and below the operational code (TSide starts at $4E8A). So that's about 3000 bytes. For the ESide the size is similar. It includes canned routines to access TPU registers. I have some of this documented but it is quite difficult without seeing an example of the hardware used.
While I believe this is what GM used, there are other possibilities... The DLC can run at 40Kbps. That's not fast but the PCM can be set to monitor with repetition thus eliminating the request/reply sort of protocol.
For ALDL you are stuck with 8.192 kbps if comms is to take place with the other modules.
2. The architecture used is not compatible with DMA. There needs to be some sort of handshake with the bus master (CPU) for DMA to take over the bus. I believe this was never part of the design.
3. In the '97 PCM I think the fastest you will get is through the class 2 interface. Using a mode $2A, up to six PIDs can be requested. There is an option to repeat at up to 25ms intervals. To keep this up as you would when logging, you must send keep alive/device present messages $3F such that the operation doesn't time out.
-Tom
Bookmarks