Design, implementation, and integration of a portable memory device into a microcomputer software development system.

David John Helffrlch · 1982

During the software development process for a microcomputer controlled system, the use of EPROH (Erasable Programmable Read Only Memory) for program memory can facilitate the debugging process. The reusability of this device keeps costs down while new software versions are tested on the target system. In a production facility it is Important that time spent debugging be minimized. As systems become more complex the required number of debugging iterations for each system increases. Verifying proper performance of systems having EPROH resident program memory becomes, unacceptably time consuming; therefore a more efficient software development process is needed. The following approach is found to fill the above requirement best: A portable nonvolatile data repository is built which eliminates the need for programming or erasing EPROMS in order to test software. The device accepts program data from the software development minicomputer and preserves the data while the device is being carried to the target machine. During target system operation, it emulates program memory via direct umbilicals to the target microcomputer's data, address, and control busses. Within the data repository, fast NMOS technology RAM (Random Access Memory) chips are chosen to emulate volatile scratch pad memory while low power CMOS ram chips supported by battery power emulate the nonvolatile program memory. The organization and pinout of these chips are ' chosen to ease the process of reconfiguring the devipe for varying RAM/EPROM memory maps. System flexibility is further enhanced by using a microcomputer to control the data loading process. The microcomputer is utilized to implement data verification during and after the loading process. Its location within the chassis of the Portable Memory device allows data verification at the emulation site without significantly * degrading device portability. In summary, the Portable Memory is a software development tool capable of interfacing directly to both the development minicomputer and the target microcomputer. The Portable Memory is designed and implemented with special considerations for data integrity and operating environment. 0. Introduction The Bell and Howell Manufacturing Facility in Phillipsburg, N.J., has a real-time software productivity problem. The complexity and size of the softward packages produced keeps increasing, and the time spent debugging these packages grows correspondingly. The development of a method to keep this debugging time under control is described in this paper. The development process is presented in four phases. The first section (Chapter 1) describes the facility where the Portable Memory was developed. The second section (Chapter 2) discusses the alternatives considered for solving the productivity problem. The third section (Charters 3 through 9) describes the development of the Portable Memory, and section four (Chapters 10 through 12) explains how the Portable Memory operates. 1• Background The Phillipsburg division of the Bell and Howell Business Equipment group located in Phillipsburg, New Jersey, manufactures a type of business machine called an inserter. This machine automates the process of mailing large quantities of letters. This process is important to a variety of large businesses. Because of the diversity of organisations within Phillipsburg's customer base, nailing problems encountered at Phillipsburg take not one but many fonts. The ability of the company to respond with specially designed machines per customer requirement is important to the success of the operation* 1.1 Electronic Control rocesa involves a. number of 4 The envelope stuffing pr s run-time decisions* Functions available on the inserted Include conditional feeding of inserts, multiple feeding of inserts, and sorting by sip code or by weight. Each process is triggered by computer generated bar code commands which appear on the user's paper medium* A fiberoptic system on the Phillipsburg machine reads the data and an electronic system decodes the information and implements the functions* 1*2 Microcomputer Control Until 1975, most Phillipsburg systems were special purpose digital logic designs implemented in a high noise threshold technology* The microcomputer was introduced as an alternative system embodiment at that time* 1*2*1 Benefits of Microcomputer Control The decision to bring the microcomputer to Phillipsburg was motivated by a desire for cost reduction* Savings were anticipated dua to the Microcomputer'a ability to serve as a general purpose electronic control device* Costs have in fact been reduced* Because the hardware changes little from system to system, fewer drawings are required* Engineering tine has also dropped in those applications which have a closely-related predecessor system available upon which to build* Software containing conditionally assembled statements has been written which can be easily modified to respond to customer demands* 1*2.2 4040 Microcomputer Soft errors due to noise are liable to occur in an electrically noisy environment such as that of the Phillipsburg inserter; so a high voltage (15 volt) microprocessor was specified, the Intel 4040* The 4040 is a single chip four bit parallel MOS central processor* It contains the necessary hardware to accept and process single level interrupts, and can address up to 8K bytes of EPR0M* The assembly language instruction set has 60 instructions and a 10*8 microsecond cycle time* The microcomputer is packaged in a single board* It has 64 inputs and 128 outputs, with seven prioritised interrupts* There is an 8K EPROM memory space, a 960 nibble volatile ran space, and a 512 nibble nonvolatile ran space* 1.3 Software Development Cycle Each machine manufactured at the Phllllpsburg facility is designed and debugged by a single applications engineer. First, the hardware design is completed and released to production control so the production process may begin* Then, the software design is begun* A block diagram of the software development cycle appears in Figure 1* / After the system design has been completed in some high level process language or flow chart, the design is coded in 4040 assembly language* Program development then proceeds with the aid of a minicomputer* 1.3*1 PDP 11/04 Minicomputer There are two POP 11/04 minicomputers at Phillipsburg* The operating systems resident on these machines provide all the standard software development tools, including an editor and an assembler* 1*3*2 IN1010 Progn The International Microsystems Model 1010 Programmer is a microcomputer-controlled instrument capable of proSOFTWARE DEVELOPMENT CYCLE

Read the paper · More papers on PaperTik