PGMFI Logo
Library> UPD7004C Destinations: Home | Library | Change Log | Index
Search | Go

The NEC UPD7004C is an ADC chip found in OBD0 MPFI ECUs.

Documentation on it was very hard to find. :) We looked and googled for months, and then finally I emailed NEC and they got back to me within 10 hours!!! Talk about customer service! Download the uPD7004C.PDF datasheet

l3st4rd says: i got a description of the uPD7002. it has 3 internal registers(here 4000, 4001, 4002):

  • 4000h is the control register
  • 4001 and 4002 are the data registers.

a measure is started by sending one byte to the control register. it can operate in 8 and 12 bit mode. the control bits are:

  • bit 0: } control bits for channel multiplexer
  • bit 1: } 00 = channel 0, 01 = channel 1, 10 = channel 3...
  • bit 2: no function (or possilby 3rd channel ctrl bit for 7004?)
  • bit 3: 1 = 12bit mode, 0 = 8bit mode
  • bit 4 to 7: no function

*note by 1net: Please take the above description with a grain of salt as it is NOT for 7004. In upd7004, we have only 2 registers: 4000 and 4001. The upd7004 has only 10bit mode, but since the code only reads 4001, the resolution is effectively 8bit... the 2lsb are discarded and not read.

In practice, use of the chip is somewhat like what follows:

  • the external interrupt 1 routine jumpes to 0064h, where it reads the value from 4001h (A/D HIGH byte).
  • then it resets the A/D low byte by writing 0 to 4001h
  • then it starts the next 8bit measure by sending 0 - 7 to 4000h(control register).
  • the first seven times it takes the values from channel 0 to 6 and stores them at external ram 0000h - 0006h. *the next 8 times, it's called, it takes the value from channel 7 and stores it at external ram 0007h - 000Eh (this all assuming that internal mem 07Dh is a counter from 0 to 0Eh)

Now that we have the datasheet, this can more definitively be settled.

Note to self: chip is used exclusively in parallel mode. Make appropriate changes to the following table.

Further note: Channel 7 is multiplexed using a Toshiba 8 channel analog MUX. 15 channels total A/D capability in ECU.

function short pin uPD7004C pin short function
Channel 4 CH4 1 uPD7004C 28 CH3 Channel 3
Channel 5 CH5 2 uPD7004C 27 CH2 Channel 2
Channel 6 CH6 3 uPD7004C 26 CH1 Channel 1
Channel 7 CH7 4 uPD7004C 25 CH0 Channel 0
Reference Voltage VREF 5 uPD7004C 24 GND Analog Ground
Digital GND GND 6 uPD7004C 23 VDD Analog supply
  DB7/SO 7 uPD7004C 22 _CS Chip select
  DB6/SI 8 uPD7004C 21 _RD/SCI  
  BD5/_SHIFT 9 uPD7004C 20 A0 control address input
  DB4/SCKO 10 uPD7004C 19 _WR/_STB  
  DB3/SOEN 11 uPD7004C 18 MC Mode select (high=parallel)
  DB2/CODE 12 uPD7004C 17 CLK Clock

  DB1/DEV1 13 uPD7004C 16 EOC End Of Converstion (Active low)
  DB0/DEV0 14 uPD7004C 15 VDD Digital Power suppply

channel mapping (including MUX):

ADC-channel MUX-channel sensor
0 - MAP sensor
1 - TP sensor
2 - Alternator (voltage regulator)
3 - PA sensor
4 - ECT sensor
5 - IAT sensor
6 - '89-91 JDM Si R? : secondary O2; '88-91 US Si / HF, '88-89 US teg: EGR
7 0 O2 sensor
7 1 voltage reference for ADC ?
7 2 ?
7 3 ?
7 4 ?
7 5 ?
7 6 ELD
7 7 Connector B18 (unused ???)

Attachment?: Modify: Size: Date: Who: Comment:
uPD7004C.PDF mod 556339 05 Mar 2004 - 18:37 blundar Datasheet for UPD 7004C

Revision: r1.7 - 27 Jun 2005 - 10:08 GMT - 1net { Edit | Attach | History | More }
Copyright © 2002-present by the contributing authors. All material on this collaboration platform is the property of the
contributing authors, and is covered by the Non-Commercial Share-Alike License unless explicitly stated otherwise.
Ideas, requests, problems regarding the PGMFI TWiki?? E-Mail the WikiAdmin
Site Designed By: Digital Fusion   Need a website?