DPB2 FAQ

Secure Micro Selection Table

Make your next embedded control project easier with Dallas Soft Microcontrollers. You'll never unplug, erase and reprogram EPROMs again. Just download your HEX file to DPB2 via your PC's serial port. We provide all needed program loading tools.

The "T" versions such as DS2250T include a real-time clock and calender with its own crystal and back up battery. This means that all your data memory is non-volatile.

These parts are perfect for data logging and other applications where data must be retained between power-up cycles.

Secure module family Controller chip used Memory onboard (maximum) Module Package Special features Typical use
single-piece price
DS5000(T) DS5000FP 32 KBytes combined code and data memory DIP40 epoxy with gold pins Only secure micro available in a DIP40 package Use where DIP40 package is required, such as existing 8051 socket.
$68.75 DS5000T-32-16
DS2250(T) DS5000FP 64 KBytes combined code and data, upper 32 KBytes of 64 KByte part must be data SIMM40 Much lower cost than DIP package, same function as DS5000(T). Best value if you can design in a SIMM40 socket.
$52.50 DS2250T-32-16
DS2251(T)  DS5001FP 64 KBytes code and 64 KBytes data, plus 64 KBytes peripheral space  SIMM72 Additional peripheral address and data bus. Timekeeper can interrupt controller. Maximum I/O addressing of all secure micros.
$92.50 DS2251T-128-16
DS2252(T) DS5002FP 64 KBytes code and 64 KBytes data SIMM40 Ultra-secure, used in bank teller machines. Timekeeper can interrupt controller. Maximum security against program or data theft.
$100 DS2252T-128-16

Common Features: serial programming hardware for easy program loading over the controller's UART. The "T" versions such as DS2250T include a real-time clock and calender with its own crystal and 10-year lithium back up battery. All modules are built with SMT controller chip such as DS5002FP, SRAM and clock and calendar. For high volumes or special applications, you may wish to design the Secure Micro components onto your own board. We can assist with this.

Note: prices shown are subject to change and are for the maximum memory version of each part. Call or email for larger quantity pricing.

Secure Micro Description

DS5000(T) DIP40 package with up to 32 KBytes of partitionable code/data memory. The best choice when you must retrofit an existing DIP40 8051 socket. The Timekeeper must be read to determine if an alarm has occurred, it cannot interrupt the processor. Uses the DS5000FP core processor.

DS2250(T) SIMM40 package with up to 64 KBytes of memory. The upper 32 KBytes must be data, and the lower 32 KBytes can be partitioned as part code and part data. The DS2250 is electrically identical to the DS5000, but the 2250 package is much less expensive. The DS2250T-32 32-KByte processor is the best value in the soft micro line. Like the DS5000, the Timekeeper must be read to determine if an alarm has occurred, it cannot interrupt the processor. Uses the DS5000FP core processor.

DS2251(T) SIMM72 package with up to 128 KBytes of memory. The DS2251T has a unique Peripheral Bus which provides an additional address and data bus over and above the standard 32 I/O pins of most 8051s. But note that the timing on this bus is quite rigid - verify that it will work with your specific I/O peripherals at your intended MCU crystal. Uses a fast parallel interface Timekeeper which can interrupt the processor. Uses the DS50001FP core processor.

DS2252(T) SIMM40 package with up to 128 KBytes of memory. Ultra-secure version, used in many bank teller machines. Uses a fast parallel interface Timekeeper which can interrupt the processor. Based on the DS50001FP core processor.

 

Common DPB2 questions

How will DPB2 save me time?

Several ways:

  1. All processor signals are brought out to labelled headers for easy probing or wiring to the prototype area.
  2. Pre-written I/O driver library for all DPB2 I/O.
  3. Profusely commented sample programs which you can use as the starting point for your own application.
  4. Variety of enclosures, keypads, LCDs, etc., available from Systronix and others. These all assemble easily and quickly to DPB2 using standard interfaces and connectors.
  5. Standard euroboard size fits hundreds of enclosures from companies such as Schroff, BICC/VERO, Rose, Carlon and many others.

What is the purpose of DPB2?

There are several uses for DPB2:

  1. Experiment with the Dallas soft/secure microcontrollers. To learn more about these easy-to-use and highly-integrated parts, click here: Dallas Soft/Secure Microcontrollers. DPB2 has sockets for all the soft micro packages: DIP40, SIMM40 and SIMM72.
  2. Quickly prototype a simple machine or process controller. DPB2 includes the most popular kinds of embedded control I/O: RS322 serial port, LCD interface, keypad interface, 8-bit ADC, four buffered digital inputs, four high-current open collector outputs, and a generous prototyping area.
  3. Build DPB2 into your own machinery. If your volume doesn't justify the time and expense of developing your own custom control hardware, DPB2 with its many options can save you a ton of money and time.
  4. Many customers use DPB2 as a programmer for the Dallas soft/secure microcontrollers. An optional ZIF socket plugs into DPB2's DIP40 socket and is recommended if you will be programming DS5000s.

What controllers can I use with DPB2?

Any of the Dallas soft/secure microcontrollers: DS2250, DS2250T, DS2251, DS2251T, DS2252, DS2252T, DS5000 and DS5000T.

Can I use other 8051s with DPB2?

Yes and no. DPB2 has no external memory sockets. You could use a processor such as an 8751 in single-chip mode (no external memory), but then you wouldn't have all the special features of the Dallas microcontrollers such as in-circuit program loading.

How do I write a program for DPB2?

We recommend using our BCI51 Pro BASIC compiler. We provide a library of I/O drivers and sample programs. All our I/O drivers are tested and come with source code and example programs. BCI51 Pro has special features just for the Dallas microcontrollers. This will save you a lot of programming time. If you prefer, you can use your favorite 8051 C compiler or assembler.

Can I write my program in C or assembler?

Sure, some of our customers prefer this. We still give you the I/O drivers with source code. Since they are written in mixed BASIC and assembly code, they can be ported to C or used as an assembly code library. Other customers have successfuly adapted the I/O drivers to C..

How do I load my program into DPB2?

Just plug a "straight through" serial cable (not a null modem cable) from your PC to DPB2. We include a DOS loader (it runs fine under Windows) which will quickly transfer a HEX file from your PC to DPB2. It's a quick and easy process, and far superior to the EPROM burning drudgery of the past. If you need a kit of serial cables and DB25 to DB9 adapters and gender changers, we have a 4-piece kit available for only $15. It includes a 6 foot DB9 extension, and adapters to connect DPB2's DB9M connector to just about any DB9 or DB25 PC serial connector.

How can I use a Dallas Loader Script File?

The Dallas loaders can be invoked with a script file as a command line parameter. This is a great feature. Why? First, because the PR command is buggy. DO NOT USE the PR command. It often does not set the range and partition correctly. Second, a script file is faster than manually typing the commands and using the bad PR command. Third, you can set the load baud rate to be higher so loading is faster, then set it back to what your application needs.

This script file sets COM1, forces program mode (this is NOT the same as PR command, it just forces DTR on rather than toggling it). It sets the download speed to 19200 baud. Then it sets RAnge and PArtition. Then it LOADs the file ecc4.hex. Then it sets the speed of the COM port back to 9600 (since that's what the program ECC4 uses). Then it turns off DTR (we know it was on because of the prior PGMODE). Then it starts Terminal Emulator mode. That's it!. Notice that I don't use VERIFY. I've never had a verify fail in over 5 years, and not using it cuts the programming time in half.

Suppose this file name is ECC4 (with no extension to keep it short). Invoke it from the DOS command line thusly:

kit ecc4
Here's the script file:
com 1
pgmode
speed 19200
ra 8000
pa 6000
load ecc4.hex
speed 9600
dtr
te

I make a script file for every program I will be loading frequently, and give it the same name as the program without an extension.

And here's a final tip. Use the new all-in-one loader KIT.EXE available on this web site.

Using KIT with Windows 95

The KIT loaders work fine in a DOS window under Windows 3.11 or Windows 95. It's important in Win95 to leave the DOS prompt properties->memory->conventional memory->protected box unchecked. This allows the KIT software to write directly to system memory. Checking the protection box will cause the KIT loader TE program to cause a Win95 exception in memory above 640K. I don't know if this is video memory or a buffer related to the COM port.

Also, run the loader in full-screen mode. Running in a partial-screen window gives Windows too much of the PC processor time, and you will lose serial I/O characters in communication with the loader.

Dumping HEX files after unlocking a locked part

DS5000 and DS5001 family devices will read back zeros after unlocking a locked part.

The DS2252, however will appear to read back a HEX file. In fact, the data is meaningless random characters and will change each time you lock and unlock the part. This is normal.

LCD and other I/O device conflicts

When a soft microcontroller resets, all its Port pins are at a high voltage level. This means that any devices connected to those pins, if activated by high level inputs, will be enabled. After a reset, all the LCD strobes on DPB2 will be at a high level. This puts the LCD in read mode, driving the Port0 data bus. By itself, this is not harmful.

You should know that the relay outputs of DPB2 have their own reset logic, so that the open collector outputs are ALWAYS DISABLED upon power up, even if a microcontroller is not functional or even installed in DPB2. This is an important safety feature. Relay outputs cannot become active until the controller writes to the relay output device, AND also asserts the relay output enable.

If you attempt to use other I/O devices, such as the keypad, ADC, or digital inputs and outputs, immediately after a reset, the LCD will be driving Port0 and will prevent using it for other purposes. Even initializing other I/O devices will not be reliable, since all DPB2 I/O devices share Port0 as their data path.

The solution is simple: initialize the LCD and its strobes before you initialize or use any other I/O devices. If you are using our LCD include files, all you need is a GOSUB LCD_INIT. This clears the LCD and sets up its internal registers, and then disables the strobes from the controller to the LCD, freeing Port0 for other devices.

This situation applies to any 8051-family design which shares Port0 among I/O devices, and enables the devices directly with Port pins. Designs which use memory-mapped I/O do not have this situation, assuming the I/O decoder resets all its outputs to the inactive state.