Single-Connection Digital Processor Programming via Manchester Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As integrated circuit digital processors shrink in size and number of input-output connections, they become vulnerable to damage from high voltages used for programming, necessitating a method to program without high voltage and reduce the number of connections required.

Innovation Solution

A digital processor system utilizing a single bit connection for programming, comprising a central processing unit, program memory, instruction encoder/decoder, serial decoder and encoder, single bit bus receiver and transmitter, and a single bit programming connection, where programming instructions are transferred through a single conductor programming bus using Manchester encoding to enter and exit programming mode.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If high voltage is used to signify programming mode, then programming mode can be reliably indicated, but circuit elements may be damaged due to inability to withstand high voltage

Engineering Contradiction:
Improveprogramming mode indicationVSAvoidcircuit element damage
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent changes the voltage parameter from high voltage to a string of logic 1s (data pattern) to indicate programming mode. Instead of using voltage level as the signaling mechanism, the system uses a specific data pattern (continuous logic 1s for a predetermined number of cycles) that can be reliably detected without exceeding circuit element voltage tolerances.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If multiple connections are used for programming, then reliable data transfer and mode control can be achieved, but the number of I/O connections increases

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidnumber of connections
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple programming functions (data transfer, mode indication, clock signaling) into a single I/O connection. By combining these functions and using Manchester encoding, the system achieves reliable programming through one connection that carries both data and control information, eliminating the need for separate dedicated programming pins.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single I/O connection used for programming can also serve other functions during normal operation, making it multi-functional. The connection is not dedicated solely to programming but can be reused for general-purpose I/O operations, reducing the total number of pins required on the processor package.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If dedicated programming pins are used, then programming functions can be reliably performed, but other functions cannot be associated with programming pins during normal operation

Engineering Contradiction:
Improveprogramming function reliabilityVSAvoidpin functionality
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The programming connection is designed to be universal, serving both as a dedicated programming interface during programming mode and as a general-purpose I/O pin during normal processor operation. The single connection can be configured for different functions based on the operational mode, maximizing pin utilization and reducing the total pin count required.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7487331B2Programming a digital processor with a single connection
Publication Date: 2009.02.03 CRESTONE IP MANAGEMENT LLC
  • US7487331B2 patent drawing
  • US7487331B2 patent drawing

AI summary

A digital processor may be coupled to a processor programmer through a single conductor programming bus. The digital processor and the processor programmer, each may have a single programming connection (e.g., terminal, pin, etc.) coupled to the single conductor programming bus. The processor programmer may comprise an instruction encoder/decoder, a Manchester encoder, a Manchester decoder, a bus receiver and a bus transmitter. The bus receiver and bus transmitter may be coupled to the single connection that may be coupled to the single conductor programming bus. The instruction encoder/decoder may be coupled to a programming console, e.g., a personal computer, workstation, etc. The digital processor may comprise an instruction encoder/decoder, a Manchester encoder, a Manchester decoder, a bus receiver, a bus transmitter, a central processing unit (CPU), and a program memory. The bus receiver and bus transmitter may be coupled to the single connection, e.g., terminal, pin, ball, etc., on an integrated circuit package containing the digital processor. The single connection may be coupled to the single conductor programming bus. The instruction encoder/decoder may be coupled to the CPU and the program memory.