Difference between revisions of "Paraflasher"

From flashrom
Jump to navigation Jump to search
m (→‎Components: Fix link to LM1084 datasheet)
 
(31 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''THIS PAGE IS STILL UNDER CONSTRUCTION AND IS NOT LINKED ANYWHERE YET'''
'''THIS PROJECT IS STILL UNDER CONSTRUCTION'''
 
Welcome to '''The Paraflasher Project'''. Open source hardware for developing open source software.
 
The project is maintained by [[User:linux_junkie|Joseph Smith]].
 
[[File:Paraflasher.jpg|frameless|600px]]


Welcome to '''The LPCflasher Project'''. Open source hardware for developing open source software. The project is maintained by [[User:linux_junkie|Joseph Smith]].


'''INSERT PICTURE'''


==Overview==
==Overview==
The LPCflasher is low-cost simple flash programming device. It can be used to flash a variety of LPC flash chips and firmware hubs (FWH). The hope is someday it will also be able to support SPI chips. It is also meant to be modular so you can flash a variety flash chip packages. The LPCflasher is based on an old LPC programmer built to flash LPC chips on the xbox, the [http://rex.xbox-scene.com/LPC2/LPC-Rev1/LPC2.html LPC^2 (Low Parts Count LPC Programming Cable)]. The LPCflasher is not for sale, it is meant for that "do-it-yourself" kind of person. Although if the project becomes popular, bare PCB's could be produced and sold at cost. Anyone with novice to moderate soldering skills can build one.
The Paraflasher (Parallel Port Flasher) is low-cost simple flash programming device. It can be used to flash a variety of LPC flash chips and firmware hubs (FWH). The hope is someday it will also be able to support SPI chips. It is also meant to be modular so you can flash a variety flash chip packages. The Paraflasher is based on an old LPC programmer built to flash LPC chips on the xbox, the [http://rex.xbox-scene.com/LPC2/LPC2.html LPC^2 (Low Parts Count LPC Programming Cable)]. The Paraflasher is not for sale, it is meant for that "do-it-yourself" kind of person. Although if the project becomes popular, bare PCB's could be produced and sold at cost. Anyone with novice to moderate soldering skills can build one.
 
'''Other Pictures'''
 
<gallery>
File:Paraflasher_top.jpg|Top
File:Paraflasher_bottom.jpg|Ugly Bottom
File:Paraflasher_front.jpg|Front
File:Paraflasher_right.jpg|Right
File:Paraflasher_left.jpg|Left
</gallery>


==Components==
==Components==
{| border="0" cellpadding="2"
{| border="0" cellpadding="2"
|- bgcolor="#6699ff"
! Component
! Recomended Specs
! Part Used
! Price Paid ($US)


|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
! DB25 Connector
! DB25 Connector
| Type:D Sub
|  
| No. of Contacts:25
*Type:D Sub
| Gender:Plug
*No. of Contacts:25
| Contact Termination:Right Angle Through Hole
*Gender:Plug
| Used [http://www.farnell.com/datasheets/78807.pdf ITW McMurdo DB25PNF]
*Contact Termination:Right Angle Through Hole
| [http://www.farnell.com/datasheets/78807.pdf ITW McMurdo DB25PNF]
| 3.82


|- bgcolor="#eeeeee"
|- bgcolor="#eeeeee"
! 7 Resistors
! 10-Bit FET Bus Switch With Level Shifting
| Resistance:1kohm
| Power Rating:250mW (1/4W)
| Material:Metal Film
|  
|  
| Used [http://www.irctt.com/pdf/CMF.pdf IRC / TT Electronics CMF1/41001FLFTR]
*Package/Case:SOIC (DW)
*No. of Contacts:24
*Supply Voltage (Min/Max):4.5V/5.5V
*Supply Current (Max):3uA
| [http://focus.ti.com/lit/ds/symlink/sn74cbtd3861.pdf Texas Instruments SN74CBTD3861DW]
| 0.64


|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
! SOIC To DIP Adapter
|
*Package/Case:28-DIP
*No. of Contacts:28
*SOIC Mounting Type:Surface Mount
*DIP Mounting Type:Through Hole
*DIP Pitch Spacing:2.54mm
| [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=220296579262 MIND_TEK SOIC surface mount PCB adaptor]
| 1.60
|- bgcolor="#eeeeee"
! Octal Buffer
! Octal Buffer
| Package/Case:20-DIP
|  
| IC Generic Number:74HC244
*Package/Case:20-DIP
| Supply Voltage Max:6V
*IC Generic Number:74HC244
| Mounting Type:Through Hole
*Supply Voltage Max:6V
| Used [http://www.st.com/stonline/books/pdf/docs/8024.pdf STMicroelectronics M74HC244B1R]
*Mounting Type:Through Hole
| [http://www.st.com/stonline/books/pdf/docs/8024.pdf STMicroelectronics M74HC244B1R]
| 0.40


|- bgcolor="#eeeeee"
|- bgcolor="#dddddd"
! Header Connector
! Header Connector
| Gender:Header
|  
| No. of Contacts:16
*Gender:Shrouded Header
| Pitch Spacing:2.54mm
*No. of Contacts:10
| No. of Rows:2
*Pitch Spacing:2.54mm
| Used [http://www.molex.com/catalog/pdf/MX70280.pdf Molex 10897162]
*No. of Rows:2
|}
| [http://www.molex.com/pdm_docs/sd/702461001_sd.pdf Molex 70246-1001]
| 0.87


====USB B Connector====
|- bgcolor="#eeeeee"
Gender:Receptacle
! USB B Connector
|
*Gender:Receptacle
*No. of Contacts:4
*Connector Mounting:PC Board
*Contact Termination:Right Angle Through Hole
| [http://www.adam-tech.com/rick/FinalSingle/CatPg127-134.pdf Adam Technologies USB-B-S-RA]
| 0.39


No. of Contacts:4
|- bgcolor="#dddddd"
! PTC Resettable Fuse
|
*Hold Current:0.25 Amp (250mA)
*Trip Current:0.5 Amp (500mA)
*Current Rating (Max):40 Amps
| [http://www.littelfuse.com/data/en/Data_Sheets/Littelfuse_60R.pdf Littelfuse 60R025XU]
| 0.26


Contact Termination:Right Angle Through Hole
|- bgcolor="#eeeeee"
! Blue LED
|
*Bulb Size:5mm
*LED Color:Blue
*Forward Current:20mA
*Forward Voltage:3.4V
| [http://www.optekinc.com/datasheets/OVLFx3C7SERIES.PDF OPTEK Technology OVLFB3C7]
| 0.74


Connector Mounting:PC Board
|- bgcolor="#dddddd"
! LED Resistor
|
*Resistance:200 Ohms
*Power Rating:2 Watts
*Material:Metal Film
| [http://www.vishay.com/docs/31021/cpf.pdf Vishay/Dale CPF2200R00FKE14]
| 0.42


Used [http://www.adam-tech.com/rick/FinalSingle/CatPg127-134.pdf Adam Technologies USB-B-S-RA]
|- bgcolor="#eeeeee"
! Linear Voltage Regulator
|
*Voltage Regulator Type:LDO Linear
*Output Voltage Max:3.3V
*Package/Case:3-TO-220
*No. of Pins:3
| [https://www.ti.com/lit/ds/symlink/lm1084.pdf National Semiconductor LM1084IT-3.3/NOPB]
| 2.83


====PTC Resettable Fuse====
|- bgcolor="#dddddd"
Hold Current: 0.25 Amp (250ma)
! 2 Tantalum Capacitors
|
*Capacitance:10 uF
*Tolerance:10%
*Voltage Rating:10 Volts
*Termination Style:Axial
*Product:Tantalum Solid High Reliability
| [http://www.vishay.com/docs/40019/173d.pdf Vishay/Sprague 173D106X9010VE3]
| 0.56 X 2


Trip Current: 0.5 Amp (500ma)
|- bgcolor="#eeeeee"
! Breadboard PCB
|
*Min External Height: 50.80mm
*Min External Width: 82.55mm
*Board Thickness:1.5mm
*Pitch Spacing:2.54mm
*Hole Diameter:1mm
| A piece of [http://www.farnell.com/datasheets/98850.pdf Roth Electronik 26M2198]
| Already had (5.93)


Current Rating (Max): 40 Amps
|- bgcolor="#dddddd"
! Hook-Up Wire
|
*Conductor Size AWG:30
*Jacket Material:Polyvinylchloride (PVC)
*No. Strands x Strand Size:Solid
*Conductor Material:Copper
| About a foot of [https://edeskv2.belden.com/Products/techdata//english/swf/9978.swf Belden 9978 013100]
| Already had (Spool of 100ft 22.61)


Used [http://www.littelfuse.com/data/en/Data_Sheets/Littelfuse_60R.pdf Littlefuse 60R025XU]
|- bgcolor="#eeeeee"
! Small Power Wires
|
* Red wire for 5V
* Two Orange wires for 3.3V
|
| Already had


====Blue LED====
|}
Bulb Size:5mm


LED Color:Blue
==The Circuit Explained==
[[File:Paraflashersch.jpg|Paraflasher Schematic|600px]]


Forward Current:20mA


Forward Voltage:3.4V
===Data Circuit===
[[File:SN74CBTD3861.jpg|right|thumb|SN74CBTD3861]]
The Paraflasher is connected to the PC’s Parallel port via a DB25 Parallel extension cable and is run in SPP mode. The 10-Bit FET Bus Switch With Level Shifting is connected to data lines D0 – D7 convert the data signals from 5V to 3.3V needed by most if not all flash chips. The 74HC244 is an advanced high-speed CMOS Octal Bus Buffer that acts as a simple signal buffer between the parallel port and the flash chip. The parallel port data lines D0, D1, and D2 are used for driving the control signals RST/RP, LCLK/CLK, and LFRAME/FWH4. Data line D3 is used as a Write Protect signal connected to pin 1G (Output Enable Input) of the M74HC244 and should be driven high at all times except during write operations where it should be driven low. The parallel port data lines D4, D5, D6, and D7 are buffered and used for write operations (sending data) over the corresponding LAD/FWH[0], LAD/FWH[1], LAD/FWH[2], and LAD/FWH[3] lines. The LAD/FWH[0], LAD/FWH[1], LAD/FWH[2], and LAD/FWH[3] lines are also connected to the Error, Ack, PE, and SELIN lines. They are also buffered and feed back to the parallel port to be used for read operations (receiving data) or can be used for verifying data that is being written (sent) in real time.


Used [http://www.optekinc.com/datasheets/OVLFx3C7SERIES.PDF OPTEK Technology OVLFB3C7]
[[File:M74HC244B1R.jpg|right|thumb|M74HC244B1R]]


====LED Resistor====
'''Signals Simplified'''
Resistance:200 Ohms


Power Rating:2 Watts
{| border="0" cellpadding="2"


Material:Metal Film
|- bgcolor="#6699ff"
! Parallel Port
! To LPC Signal
! To FWH Signal


Used [http://www.vishay.com/docs/31021/cpf.pdf Vishay/Dale CPF2200R00FKE14]
|- bgcolor="#dddddd"
! D0
| RST
| RP


====Linear Voltage Regulator====
|- bgcolor="#eeeeee"
Voltage Regulator Type:LDO Linear
! D1
| LCLK
| CLK


Output Voltage Max:3.3V
|- bgcolor="#dddddd"
! D2
| LFRAME
| FWH4


Package/Case:3-TO-220
|- bgcolor="#eeeeee"
! D3
| Write Protect
| Write Protect


No. of Pins:3
|- bgcolor="#dddddd"
! D4
| LAD0
| FWH0


Used [http://cache.national.com/ds/LM/LM1084.pdf National Semiconductor LM1084IT-3.3/NOPB]
|- bgcolor="#eeeeee"
! D5
| LAD1
| FWH1


====2 Tantalum Capacitors====
|- bgcolor="#dddddd"
Capacitance:  10 uF
! D6
| LAD2
| FWH2


Tolerance:  10%
|- bgcolor="#dddddd"
! D7
| LAD3
| FWH3


Voltage Rating:  10 Volts
|- bgcolor="#eeeeee"
! /Error
| LAD0
| FWH0


Termination Style:  Axial
|- bgcolor="#dddddd"
! /Ack
| LAD1
| FWH1


Product:  Tantalum Solid High Reliability
|- bgcolor="#eeeeee"
! /PE
| LAD2
| FWH2


Used [http://www.vishay.com/docs/40019/173d.pdf Vishay/Sprague 173D106X9010VE3]
|- bgcolor="#dddddd"
! /SELIN
| LAD3
| FWH3


====Breadboard PCB====
|}
External Height: TODO


External Width: TODO
===Power Circuit===
I did not like the original power circuit design of using a wall-wart type power supply and a LED as voltage regulator, so I came up with the following and it works pretty slick. The Paraflasher is powered by USB via a USB printer cable. The jack is a USB type B. All of the grounds from every component requiring a ground is connected together. The +5 VDC from USB is connected to a PTC Resettable Fuse with trip current of 0.5 Amp (500mA). USB v2.0 specifies a maximum of 500mA so this will protect the PC’s USB port from any damage caused by short circuits, etc. If the PTC Resettable Fuse is tripped, disconnect the power source (USB), figure out what tripped the fuse and fix it, and wait a few seconds for the PTC Resettable Fuse to cool down and reset. Next I put in a simple LED circuit just for user aesthetics, so you know your getting power from USB. If you want to use a different color LED or if the blue LED is too bright you can adjust the ohms of the resistor. A 5V power line branches off from here and continues to the header to power a 5V flash chip. I went with the LM1084IT-3.3 voltage regulator because it is designed to convert 5V to a fixed output of 3.3V to power the octal buffer and a 3.3V flash chip. Simple and effective. National Semiconductor recommends for a 5V to 3.3V conversion to place a 10 UF Tantalum capacitor on both the input and output lines of the voltage regulator. They recommend using Tantalum capacitors for stability because their equivalent series resistance (ESR) is lowest at any temperature. The 3.3V line powers the 74HC244 octal buffer and continues on to the header to power a 3.3V flash chip.


Board Thickness:1.5mm


Pitch Spacing:2.54mm
If there are any inconsistencies or you would like to elaborate on anything above, please feel free.
 
Hole Diameter:1mm
 
Used a piece of [http://www.farnell.com/datasheets/98850.pdf Roth Electronik 26M2198]
 
====Hook-Up Wire====
Conductor Size AWG:30
 
Jacket Material:Polyvinylchloride (PVC)
 
No. Strands x Strand Size:Solid
 
Conductor Material:Copper
 
Used [https://edeskv2.belden.com/Products/techdata//english/swf/9978.swf Belden 9978 013100]
 
==The Circuit Explained==
TODO


==Daughter Boards==
==Daughter Boards==
Line 139: Line 263:


==Software==
==Software==
The core of the Paraflasher uses [http://people.redhat.com/twaugh/parport/html/parportguide.html ppdev user-level device driver] for Linux.
TODO: flashrom???
TODO: flashrom???


Line 146: Line 273:
==Conclusion==
==Conclusion==
TODO
TODO
{{Cc-by-sa-3.0}}

Latest revision as of 00:15, 20 November 2020

THIS PROJECT IS STILL UNDER CONSTRUCTION

Welcome to The Paraflasher Project. Open source hardware for developing open source software.

The project is maintained by Joseph Smith.

Paraflasher.jpg


Overview

The Paraflasher (Parallel Port Flasher) is low-cost simple flash programming device. It can be used to flash a variety of LPC flash chips and firmware hubs (FWH). The hope is someday it will also be able to support SPI chips. It is also meant to be modular so you can flash a variety flash chip packages. The Paraflasher is based on an old LPC programmer built to flash LPC chips on the xbox, the LPC^2 (Low Parts Count LPC Programming Cable). The Paraflasher is not for sale, it is meant for that "do-it-yourself" kind of person. Although if the project becomes popular, bare PCB's could be produced and sold at cost. Anyone with novice to moderate soldering skills can build one.

Other Pictures

Components

Component Recomended Specs Part Used Price Paid ($US)
DB25 Connector
  • Type:D Sub
  • No. of Contacts:25
  • Gender:Plug
  • Contact Termination:Right Angle Through Hole
ITW McMurdo DB25PNF 3.82
10-Bit FET Bus Switch With Level Shifting
  • Package/Case:SOIC (DW)
  • No. of Contacts:24
  • Supply Voltage (Min/Max):4.5V/5.5V
  • Supply Current (Max):3uA
Texas Instruments SN74CBTD3861DW 0.64
SOIC To DIP Adapter
  • Package/Case:28-DIP
  • No. of Contacts:28
  • SOIC Mounting Type:Surface Mount
  • DIP Mounting Type:Through Hole
  • DIP Pitch Spacing:2.54mm
MIND_TEK SOIC surface mount PCB adaptor 1.60
Octal Buffer
  • Package/Case:20-DIP
  • IC Generic Number:74HC244
  • Supply Voltage Max:6V
  • Mounting Type:Through Hole
STMicroelectronics M74HC244B1R 0.40
Header Connector
  • Gender:Shrouded Header
  • No. of Contacts:10
  • Pitch Spacing:2.54mm
  • No. of Rows:2
Molex 70246-1001 0.87
USB B Connector
  • Gender:Receptacle
  • No. of Contacts:4
  • Connector Mounting:PC Board
  • Contact Termination:Right Angle Through Hole
Adam Technologies USB-B-S-RA 0.39
PTC Resettable Fuse
  • Hold Current:0.25 Amp (250mA)
  • Trip Current:0.5 Amp (500mA)
  • Current Rating (Max):40 Amps
Littelfuse 60R025XU 0.26
Blue LED
  • Bulb Size:5mm
  • LED Color:Blue
  • Forward Current:20mA
  • Forward Voltage:3.4V
OPTEK Technology OVLFB3C7 0.74
LED Resistor
  • Resistance:200 Ohms
  • Power Rating:2 Watts
  • Material:Metal Film
Vishay/Dale CPF2200R00FKE14 0.42
Linear Voltage Regulator
  • Voltage Regulator Type:LDO Linear
  • Output Voltage Max:3.3V
  • Package/Case:3-TO-220
  • No. of Pins:3
National Semiconductor LM1084IT-3.3/NOPB 2.83
2 Tantalum Capacitors
  • Capacitance:10 uF
  • Tolerance:10%
  • Voltage Rating:10 Volts
  • Termination Style:Axial
  • Product:Tantalum Solid High Reliability
Vishay/Sprague 173D106X9010VE3 0.56 X 2
Breadboard PCB
  • Min External Height: 50.80mm
  • Min External Width: 82.55mm
  • Board Thickness:1.5mm
  • Pitch Spacing:2.54mm
  • Hole Diameter:1mm
A piece of Roth Electronik 26M2198 Already had (5.93)
Hook-Up Wire
  • Conductor Size AWG:30
  • Jacket Material:Polyvinylchloride (PVC)
  • No. Strands x Strand Size:Solid
  • Conductor Material:Copper
About a foot of Belden 9978 013100 Already had (Spool of 100ft 22.61)
Small Power Wires
  • Red wire for 5V
  • Two Orange wires for 3.3V
Already had

The Circuit Explained

Paraflasher Schematic


Data Circuit

SN74CBTD3861

The Paraflasher is connected to the PC’s Parallel port via a DB25 Parallel extension cable and is run in SPP mode. The 10-Bit FET Bus Switch With Level Shifting is connected to data lines D0 – D7 convert the data signals from 5V to 3.3V needed by most if not all flash chips. The 74HC244 is an advanced high-speed CMOS Octal Bus Buffer that acts as a simple signal buffer between the parallel port and the flash chip. The parallel port data lines D0, D1, and D2 are used for driving the control signals RST/RP, LCLK/CLK, and LFRAME/FWH4. Data line D3 is used as a Write Protect signal connected to pin 1G (Output Enable Input) of the M74HC244 and should be driven high at all times except during write operations where it should be driven low. The parallel port data lines D4, D5, D6, and D7 are buffered and used for write operations (sending data) over the corresponding LAD/FWH[0], LAD/FWH[1], LAD/FWH[2], and LAD/FWH[3] lines. The LAD/FWH[0], LAD/FWH[1], LAD/FWH[2], and LAD/FWH[3] lines are also connected to the Error, Ack, PE, and SELIN lines. They are also buffered and feed back to the parallel port to be used for read operations (receiving data) or can be used for verifying data that is being written (sent) in real time.

M74HC244B1R

Signals Simplified

Parallel Port To LPC Signal To FWH Signal
D0 RST RP
D1 LCLK CLK
D2 LFRAME FWH4
D3 Write Protect Write Protect
D4 LAD0 FWH0
D5 LAD1 FWH1
D6 LAD2 FWH2
D7 LAD3 FWH3
/Error LAD0 FWH0
/Ack LAD1 FWH1
/PE LAD2 FWH2
/SELIN LAD3 FWH3

Power Circuit

I did not like the original power circuit design of using a wall-wart type power supply and a LED as voltage regulator, so I came up with the following and it works pretty slick. The Paraflasher is powered by USB via a USB printer cable. The jack is a USB type B. All of the grounds from every component requiring a ground is connected together. The +5 VDC from USB is connected to a PTC Resettable Fuse with trip current of 0.5 Amp (500mA). USB v2.0 specifies a maximum of 500mA so this will protect the PC’s USB port from any damage caused by short circuits, etc. If the PTC Resettable Fuse is tripped, disconnect the power source (USB), figure out what tripped the fuse and fix it, and wait a few seconds for the PTC Resettable Fuse to cool down and reset. Next I put in a simple LED circuit just for user aesthetics, so you know your getting power from USB. If you want to use a different color LED or if the blue LED is too bright you can adjust the ohms of the resistor. A 5V power line branches off from here and continues to the header to power a 5V flash chip. I went with the LM1084IT-3.3 voltage regulator because it is designed to convert 5V to a fixed output of 3.3V to power the octal buffer and a 3.3V flash chip. Simple and effective. National Semiconductor recommends for a 5V to 3.3V conversion to place a 10 UF Tantalum capacitor on both the input and output lines of the voltage regulator. They recommend using Tantalum capacitors for stability because their equivalent series resistance (ESR) is lowest at any temperature. The 3.3V line powers the 74HC244 octal buffer and continues on to the header to power a 3.3V flash chip.


If there are any inconsistencies or you would like to elaborate on anything above, please feel free.

Daughter Boards

TODO

Software

The core of the Paraflasher uses ppdev user-level device driver for Linux.


TODO: flashrom???

Support

TODO

Conclusion

TODO


Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
This file is licensed under the Creative Commons Attribution ShareAlike 3.0 License.
In short: you are free to share and make derivative works of the file under the conditions that you appropriately attribute it, and that you distribute it only under a license identical to this one.