programmare una 18U42

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

CPD18U42p, eprom e eprom programmer…

Durante la modifica di un vecchio RTX civile Bosch ho avuto la necessità di programmare la eprom
in cui sono memorizzati i dati dele frequenze di ogni canale.
E qui sono nati i primi problemi, la eprom è una CDP18U42P, di cui allego anche il datasheet, è un
elemento da 256 byte, ovvero 2kbit, i cui segnali sono mal gestibili da un vecchio, ma comune,
programmatore di eprom
Dunque uno zoccolo adattatore non funziona.
In aiuto mi è venuto lo schema di un semplice programmatore dedicato, con annesso software, ad
opera di Richard Newton G0EWH, che ringrazio.
Le righe che seguono, lo schema e il software sono opera sua.
Da parte mia una sola affermazione, se si legge quanto Richard ha scritto, se non si commettono
errori, il programmatore e il suo software funzionano perfettamente.

During the modification of an old RTX Bosch (for civil bands), I had the need to program its
EPROM, in which are stored data of the frequencies for the channels.
Just at this point I found the first problem because the EPROM is a CDP18U42P, (please find
enclosed its datasheet), it is a 256 bytes, ie 2kbit, but its signals are not easy manageable
Neither a socket adapter works!
It came to my aid a simple diagram of dedicated programmer, with software included, a work made
by Richard Newton G0EWH, that I thank very much.
The next text, the diagram and software are made by him.
One statement in addition: if you read what Richard wrote, if you do not make mistakes, the
programmer and its software work perfectly!

Hardware:
PC Asus “S-presso”, 2Gb ram, 3 GHz (sw –h necessary…) running in DOS (win98), boot from the
flash disk ( http://www.iw1axr.eu/articoliEF/boot_dos.pdf )
LPT port integrated on M.B. $0378 (LPT1)

IW1AXR, Dan 01/01/2014


18U42 Control Software V1.1 Documentation (Dated: 25-Feb-2006)

Abstract

The 18U42 is a simple EPROM burner and reader intended for amateur use. The project has been
designed in order to program the CDP18U42CD EPROM as used in Bosch transceivers such as the
KF163 DigX .

Copyright & Contact Information

Hardware design, control software and interface firmware are © Copyright 2006 by Richard Newton.
They are licensed as FREELY DISTRIBUTABLE software and used at your own risk as the author
cannot accept any responsibility as it was developed for own use and made available for the benefit of
fellow radio amateurs.

Please direct all queries to: Richard Newton, G0EWH


Email g0ewh@yahoo.co.uk

Acknowledgements

Most grateful thanks are due to P. Dowie G8PZT, who helped me with the source code.

This project is based on EPROMr 2.0, (C) Copyright 1998 Lewin A.R.W. Edwards who can be
contacted at sysadm@zws.com, http://www.zws.com and has released EPROMr into the public
domain.

System Requirements

• 80386sx or better CPU


• 1Mb RAM
• DOS (including Windows 95/98 in so-called "DOS mode")
• PS/2-compatible bidirectional parallel port

Using the DOS Software

The DOS software bundle comprises the executable control program, 18U42.EXE.

Note: If running this software inside OS/2, your CONFIG.SYS file must specify IOPL=YES, and the
DPMI_DOS_API property of your DOS box must be set to ENABLED.

Command-line options are:

-b Check EPROM is blank.

-d Run hardware diagnostic (requires external test hardware).

-f Use software timing (NOT recommended; but may be necessary on some PCs).

-h Use special timing to fix problems with certain Pentium(r)-class PCs. Do not use this switch
unless it is necessary for your system; refer to the FAQ.
-paddress Use LPT port at base I/O address (default is 378h, LPT1). There should be no space
between the -p switch and the address, and the address should be specified in hexadecimal.

-n (Used in conjunction with -w) Do not verify after write operation. The use of this switch is
not recommended.

-v Verify EPROM Specify size of generic device in bytes (decimal), or override programmed
size of one of the default chip types. This parameter should be specified after the -ttype parameter.

-w Write EPROM (if this parameter is not specified, a read operation is assumed).

Some example command lines are shown below:

Write "kf163x.bin" to EPROM:


18u42 -w kf163x.bin

Read EPROM to "dump.bin":


18u42 dump.bin

Run hardware diagnostic on 18u42 attached to port 278h (LPT2):


18u42 -p278 -d

© Copyright 2006 by Richard Newton. All rights reserved. All trademarks, service marks and other registered marks
are the property of their respective owner.

18U42 Frequently Asked Questions


FAQ Index (Dated: 25-Feb-2006)
IMPORTANT: This FAQ does not detail troubleshooting procedures for mis-constructed 18u42 hardware. It is
assumed that the hobbyist has sufficient skill to follow the assembly instructions accurately. Incorrect construction can
result in almost any conceivable problem.
Question: Can I substitute 4020/4024/other chips for the 74HC4040?
Problem: All bytes read back are $FF (255 decimal).
Problem: Cannot reliably burn CDP18U42CD
Problem: Reading the same chip twice yields different results.
Problem: Erratic results reading and/or burning chips on Pentium(r)-class PCs.
Problem: Burn operations are always partially unsuccessful the first time around.

Question: Can I substitute 4020/4024/other chips for the 74HC4040?


Answer:
The circuit design specifies the 74HC4040 ICs. No other type has been tested.

Problem: Cannot reliably burn CDP18U42CD


Reason:
The original EPROMr v2.0 design included 33k pulldown resistors on the EPROM data bus (which is connected
directly to the host PC's parallel port). These may be necessary on a few PCs in order to work around peculiar oddities
of certain parallel port designs. On PCs which do not require this pulldown workaround, it may not be possible to burn
reliably, since the PC's parallel output buffers will not be able to pull the data lines up far enough. The author has
omitted them for his own particular PC, but this reference is retained in case of problems.
Fix:
Provide the pulldown or pullup resistors by connecting their common leads to either +5V, ground.
Problem: All bytes read back are $FF (255 decimal)
Reason:
The 18u42 1.0 hardware requires a parallel port that is compatible with the PS/2 specification for bidirectional
operation. Most modern systems should be compatible, but the factory-shipped settings may disable this functionality.
Fix:
Check your system's CMOS settings for an option which may be labeled "Parallel Port Mode", "Parallel Port Type", or
similar. Acceptable settings are "EPP", "EPP+ECP", "EPP1.7", "EPP1.9", "ECP", "Enhanced", "Bi-Direct","Bidir", or
similar. Settings "SPP", "Standard", and "Normal" are not compatible with the EPROMr V2.0 hardware.
Exception:
Certain notebook systems, including the Toshiba Portegé T3400 series and others based on the same logic board, and
the NEC Versa S, have fundamentally incompatible parallel port hardware. Even in "Bi-Direct" mode, these systems
will not work reliably with the p18u42.

Problem: Reading the same chip twice yields different results.


Reason:
There are several possible causes for this problem, including:
Excessively long cable between 18u42.
Electrical noise on data bus.
Host timing error and/or incorrectly specified counter ICs.
Damaged or incorrectly specified counter ICs.
Intermittent connection due to poor construction.
Fix:
Suggested fixes for the causes listed above are:
Use a parallel cable no longer than 1.5m.
Try the read operation with no chip in the device socket and your hand resting on the pins of the socket. If the file read
back is not all $FF bytes (255 decimal), you have a noise problem. Keep your hands well clear of the EPROM while
reading or burning. Verify that any pulldown or pullup resistors fitted on the data bus are wired correctly. Installing the
project in a grounded metal box may help with this problem.
Your machine may be under-timing the width of the clock pulses so that it falls outside the minimum active time for the
particular counter IC variant you have chosen (metal-gate CMOS or 74HC series). This is characterized by "streaks" of
the same byte in a chip dump, as the counter stays at the same address for several (a semi-random number) of byte read
operations due to a too-short clock pulse. Try in this order: turning off your PC's "turbo" function, disabling level 2
cache systems, and using the alternate timing switch for the 18u42 control software. If all these methods fail, and you
are using CD4040 parts, try using the specified 74HC4040 parts instead.
Replace the counter ICs with known-good parts of the specified type (74HC4040).
Verify all connections with a continuity tester and resolder any which are suspect.

Problem: Erratic results reading and/or burning chips on Pentium(r)-class PCs.


Reason:
The 18u42 uses the host's CMOS real-time clock for timing. On certain systems, mostly fast Pentiums, this timing
method fails and the counter ICs are clocked too quickly.
Fix:
Try using switch '-h' which is designed to combat the Pentium timing problem. This switch will not work properly
inside Windows or OS/2. It will also make the read/burn process considerably slower, so you should avoid using this
switch if it is not necessary for your PC.

Problem: Burn operations are always partially unsuccessful the first time around.
Reason:
The 18u42 design does not permit fast burn/verify, burn/verify operation. This has occured on the odd EPROM.
Running the same burn operation again resulted in a perfectly burned chip.
Fix:
You must run the burn operation again until it verifies successfully. Because of this design artifact in the parallel 18u42,
it is STRONGLY RECOMMENDED that you do NOT disable auto-verify-after-burn mode.

© Copyright 2006 by Richard Newton. All rights reserved. All trademarks, service marks and other registered marks
are the property of their respective owner.
Example of file ascii for Bosch KF163 dig X:

01 1456250 1450250
02 1456500 1450500
03 1456750 1450750
04 1457000 1451000
05 1457250 1451250
06 1457500 1451500
07 1457750 1451750
08 1456125 1450125
09 1455750 1455750
10 1456000 1450000
11 1456375 1450375
12 1456675 1450675
13 1456875 1450875
14 1457125 1451125
15 1457375 1451375
16 1457675 1451675
17 1457875 1451875
18 1452000 1452000
19 1452250 1452250
20 1452500 1452500
21 1452750 1452750
22 1453000 1453000
23 1453250 1453250
24 1453500 1453500
25 1453750 1453750
26 1454000 1454000
27 1454250 1454250
28 1454500 1454500
29 1454750 1454750
30 1455000 1455000
31 1455250 1455250
32 1455500 1455500

KF163X.EXE scans this file and produces KF163X.BIN, a binary image of the
CDP18U42CD EPROM for a 12.5kHz reference frequency ONLY. Receive data is
stored in addresses 00 to 7F (0 to 127) and the Transmit data is stored in
addresses 80 to FF (128 to 255), four addresses for each channel.

For the 10kHz reference frequency models, please use KF163X10.exe found in
the KF163X10.ZIP archive

An example KF163X.PRG and its .BIN file are included. Use DEBUG.EXE to view
the binary file, i.e "DEBUG KF163X.BIN" then "d" to dump twice and then "q"
to quit DEBUG, again using the commamd prompt.

Any feedback would be welcome.

The program was written by Richard Newton, 2nd March 2006. (g0ewh@yahoo.co.uk)
Istruzioni per l'uso KF163X.EXE per ottenere l’immagine della eprom CDP18U42CD utilizzata
nella versione Bosch KF163 DigX .

Si basa sul prescaler S89 che utilizza un rapporto di divisione di 100/101 e


frequenza di riferimento di 12,5 kHz e 25kHz .

Il suo un programma basato su DOS e può essere eseguito dal prompt dei comandi in Windows 98

KF163X.PRG è un file di testo ASCII . Ogni riga contiene : -

<numero_canale> RX> Frequency> <TX Frequency>

ad esempio : -

01 1455000 1455000
02 1456125 1450125

KF163X.EXE analizza il file e produce KF163X.BIN , l'immagine binaria del


CDP18U42CD EPROM per una frequenza di riferimento 12.5kHz SOLTANTO. Ricezione dati
memorizzati in indirizzi 00 a 7F ( da 0 a 127 ) e i dati di trasmissione verrà memorizzata nella
indirizzi 80 a FF (128 255) , quattro indirizzi per ciascun canale .

Per i modelli di riferimento di frequenza 10kHz , si prega di utilizzare KF163X10.exe trovato in


l'archivio KF163X10.ZIP

Un esempio KF163X.PRG e il file . BIN sono inclusi. Utilizzare DEBUG.EXE per visualizzare
il file binario , vale a dire " DEBUG KF163X.BIN " poi " d " per scaricare due volte e quindi " q "
per uscire DEBUG , sempre da DOS

Segue lo schema elettrico

Qui l’archivio completo:


http://www.iw1axr.eu/articoliEF/prog18u42.zip

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy