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.

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

  1. SEEprog Serial EEPROM programmer

    Features SEEprog is universal programmer of all types of serial EEPROMs in 8-pin package. SEEprog en ...

  2. ELNEC Programmer

    BeeHive204 Very fast universal 4x 48-pindrive concurrent multiprogramming system with ISP capability ...

  3. BeeProg2C Extremely fast universal USB interfaced programmer

    http://www.elnec.com/products/universal-programmers/beeprog2c/ FPGA based totally reconfigurable 48  ...

  4. 设备管理 USB ID

    发现个USB ID站点,对于做设备管理识别的小伙伴特别实用 http://www.linux-usb.org/usb.ids 附录: # # List of USB ID's # # Maintain ...

  5. usb.ids

    # # List of USB ID's # # Maintained by Vojtech Pavlik <vojtech@suse.cz> # If you have any new ...

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

    这本书要想买到,在大陆看起来比较难,理出个目录,看个大概: 另外在这个地方可以预览前20页:http://openebook.hyread.com.tw/ebookservice/hyviewer/o ...

  7. JDicom使用指南

    适用条件本指南用于使用JDicom进行环境模拟.产品调试. 一.安装JDicom运行JDicom安装程序之前,需安装JRE 1.3及以上版本.否则,弹出如下图所示报错 安装JRE 1.4:双击运行可执 ...

  8. 和S5933比较起来,开发PLX9054比较不幸,可能是第一次开发PCI的缘故吧。因为,很多PCI的例子都是对S5933,就连微软出版的《Programming the Microsoft Windows Driver Model》都提供了一个完整的S5933的例子。 在这篇有关DDK的开发论文里。

    和S5933比较起来,开发PLX9054比较不幸,可能是第一次开发PCI的缘故吧.因为,很多PCI的例子都是对S5933,就连微软出版的<Programming the Microsoft Wi ...

  9. SecureCRT辅助解决方案

    SecureCRT辅助解决方案 1. 下载SecureCRT 7.3版本并激活: 2. SecureCRT linux配色方案: 3. SecureCRT设置log保存方案: 1. secureCRT ...

随机推荐

  1. Python 类的名称空间和组合

    一.Python类的名称空间 class Student(object): School = '北京大学' def __init__(self): pass stu1 = Student() stu1 ...

  2. PHP 利用nginx的X-sendfile控制下载,提高下载效率

    https://blog.csdn.net/qq_34839657/article/details/52812885 https://www.jianshu.com/p/bf5c387830b7 为了 ...

  3. spring data jpa条件分组查询及分页

    原book对象 package com.shaying.domain; import javax.persistence.Column; import javax.persistence.Entity ...

  4. CentOS7 安装python库(numpy、scipy、matplotlib、scikit-learn、tensorflow)

    0.1准备工作 安装好CentOS7,配置好网络,确保网络畅通. 0.2root授权 首先:当前用户为kaid # vim /etc/sudoers 在root ALL=(ALL) ALL之后添加: ...

  5. jQuery常用事件方法详解

    目录 jQuery事件 ready(fn)|$(function(){}) jQuery.on() jQuery.click jQuery.data() jQuery.submit() jQuery事 ...

  6. IDEA 部署项目的时候出错:Jar not loaded错误

    2011-10-18 17:03:52 org.apache.catalina.loader.WebappClassLoader validateJarFile 信息: validateJarFile ...

  7. Eolinker——代码注入插入随机参数值

    因为目前eolinker的API自动化测试不支持“构造参数”,所以用到随机数时,可使用代码注入的方式来实现 分步指南 示例:“重置密码”接口,每次运行重置的密码要求不重复 再此接口的“代码注入”区域写 ...

  8. python合并图片

    因项目需求需要将图片合并故写了一个python脚本,在这里放个笔记 #!/usr/bin/env python #coding=utf-8 import Image import os import ...

  9. IEEEXtreme 10.0 - Counting Molecules

    这是 meelo 原创的 IEEEXtreme极限编程大赛题解 Xtreme 10.0 - Counting Molecules 题目来源 第10届IEEE极限编程大赛 https://www.hac ...

  10. office 文档转pdf

    本地先安装 金山wps,并确保可用 工程目录 1.使用前,先执行install.bat 安装jacob 到maven本地仓库 2.复制 jacob-1.18-M2-x64.dlljacob-1.18- ...