Make a printer-port EEPROM programmer and dongle

You can easily use a PC‘s printer port for serial-EEPROM programming. You can use a device-programmer circuit used to program the MicroWire serial EE-PROM 93CXX (Figure 1). The circuit is so simple that any further simplification seems impossible. This programmer circuit contains no microcontroller, as most device programmers do. It needs neither a separate power supply, or "wall-wart," nor a cable. When in use, it directly plugs into the PC‘s printer port. However, you still can use a cable if convenient—for PC printer ports behind the PC, for example. The circuit also requires neither a resistor nor a decoupling capacitor.

These advantages come from the PC‘s printer-port resources and the architectural simplicity of the MicroWire serial EEPROM. The printer port comprises the 8-bit data, status, and control registers. Each register has its unique address. On the classic IBM PC, the data port serves solely for output, but the control port can serve as either input or output. The eight-pin, tiny, serial EEPROM consumes less than 1-mA current in the active state, and the printer port‘s data pin can supply a few milliamps, so this design uses D7 (Pin 9) as a power-supply pin. No decoupling capacitor is necessary in practice.

The MicroWire chip uses the CS (chip-select), SK (clock-signal), DI (data-input), and DO (data-output) pins to control its read/write operations. This design uses the chip-select signal from the reverse level of the control bit  (Pin 17). It also ties together pins DI and DO and connects them to the Control bit  (Pin 1), which can serve as input or output, thereby saving one pin. These selections caused no problems in practice. Because control Pin 1‘s logic is the reverse of the logic level on bit C0, the software must take care of the inversion. The MicroWire interface normally requires a pullup resistor on the DO pin, but such a resistor is already inside the PC, so it‘s unnecessary.

Once you settle on the hardware design, the main task is to write software. This task is not difficult. For many embedded-system-software engineers, it‘s routine and interesting. A freeware executable program, Pseep2.exe, is available for this purpose. A sample demo program, secret.bin, allows you to practice the programming. Click hereto download the software for this Design Idea. It handles only one MicroWire device—the popular 93C46‘s read/write operation as an example. Another important feature of this circuit is that, once you program the 93CXX device, the system becomes a primitive dongle. You can then use it as a hardware-protection device for your valuable software. Only you know whatever was programmed in the device.

When the protected software runs, it first checks whether the device is present at the printer port and whether the code matches what you programmed. If a match doesn‘t exist, the software refuses to continue and exits. The dongle is primitive, but it does illustrate the basic principle of dongle-protection technology. You can build the circuit using wire-wrapping or point-to-point soldering techniques on a solderless breadboard, in which case you‘ll need a cable, or with your own pc board. It‘s a one-evening project.

时间: 2024-08-03 23:42:10

Make a printer-port EEPROM programmer and dongle的相关文章

The Difference Between a Router, Switch and Hub

Some technicians have a tendency to use the terms router, switch and hub interchangeably,  but have you ever wondered what the difference is? Some technicians have a tendency to use the terms router, hub and switch interchangeably. One minute they're

Linux Booting Process: A step by step tutorial for understanding Linux boot sequence

One of the most remarkable achievement in the history of mankind is computers. Another amazing fact about this remarkable achievement called computers is that its a collection of different electronic components, and they work together in coordination

Instruction-Set Support for Invocation of VMM-Configured Services without VMM Intervention

A processing core comprising instruction execution logic circuitry and register space. The register space to be loaded from a?VMCS, commensurate with a VM entry, with information indicating whether a service provided by the processing core on behalf

JDicom使用指南

适用条件本指南用于使用JDicom进行环境模拟.产品调试.一.安装JDicom运行JDicom安装程序之前,需安装JRE 1.3及以上版本.否则,弹出如下图所示报错安装JRE 1.4:双击运行可执行程序j2re-1_4_2_04-windows-i586-p.exe点击选择"我接受该许可证协议中的条款(A)",单击[下一步]选择安装类型为"典型",单击[下一步]安装程序开始安装进程安装完成.单击[完成]系统提示重启操作系统.单击[是]立即重启系统,单击[否],不重启

书籍推荐《以C语言解析电脑》

这本书要想买到,在大陆看起来比较难,理出个目录,看个大概: 另外在这个地方可以预览前20页:http://openebook.hyread.com.tw/ebookservice/hyviewer/online_browser.do 1 個人電腦架構概述(第11頁) 1-1 名詞解釋(第12頁) 1-2 Intel/AMD PC架構圖(第15頁) 1-3 系統各區域功能(第17頁) 1-4 AMD架構圖(第20頁) 1-5 效率的迷思(第21頁) 1-6 開機流程(第22頁) 1-7 IRQ(第

Ubuntu下找不到ttyUSB*问题解决

一.硬件连接 确认Ubuntu对USB转串口设备的支持. 1.# lsmod | grep usbserial如果有usbserial,说明系统支持USB转串口. 如果没有,先安装ch340驱动或者cp210驱动 CH340LINUX驱动下载地址:http://www.wch.cn/download/CH341SER_LINUX_ZIP.html 二.查看电脑的内核版本输入 uname -r可以得到自己的ubuntu内核版本 我的内核版本是: [email protected]:~$ uname

AK300 OBD2 cas key maker key programmer Features

AK300 CAS Key Maker Key Programmer for BMW(Support in 2002 -2009 years) especially for BMW CAS system key programmer. AK300 BMW CAS Key Programmer is a very popular BMW key programmer, many car owners and repairers are very familiar with AK300. Featu

NTB EEPROM设置与跨节点数据传输

NTB EEPROM设置与跨节点数据传输 双控双活系统中除了需要监测系统状态的心跳之外,还需要能够跨节点传输数据的通道.PCIE非透明桥(NTB)由于其基于标准的PCIE规范,软件依赖少,速度快,配置简便,受到许多人的青睐.基于PCIE NTB进行跨节点数据传输的原理很简单,如下图所示意: 较之于普通的PCIE/PCI设备的配置空间寄存器,NTB上多了bar2/3,bar4/bar5的地址转换寄存器,本地节点发送过来的命中bar2/bar3或者bar4/bar5的TLP的地址高位会转换成相应的地

【iOS与EV3混合机器人编程系列之三】编写EV3 Port Viewer 应用监测EV3端口数据

在前两篇文章中,我们对iOS与EV3混合机器人编程做了一个基本的设想,并且介绍了要完成项目所需的软硬件准备和知识准备. 那么在今天这一篇文章中,我们将直接真正开始项目实践. ==第一个项目: EV3 Port Viewer== 项目目的:在iOS设备上通过WiFi连接EV3并且读取EV3每个端口的数据. 大家可以一周之后在App Store上搜索EV3 Port Viewer,那么我已经做了一个范例App发布了,正在审核中 应用的基本使用要求:将EV3和iPhone同时连接到同一个WiFi网络中