Single-Connection Digital Processor Programming via Manchester Encoding
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
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
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.
Data Source
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.

