Conception d’un programmateur manuel d’EPROM (27C256)
Ce projet de programmateur de mémoire EPROM entièrement manuel, réalisé au milieu des années 90 (1996-1998), témoigne de l’ingéniosité nécessaire pour concevoir des outils de développement hardware avant l’ère des programmateurs USB modernes pilotés par microcontrôleur. Bâti sur un circuit imprimé double face façonné à la main, ce système permettait de programmer de manière autonome une mémoire vierge, de corriger un octet spécifique ou de dupliquer une mémoire existante vers une autre vierge.
Architecture matérielle et modules principaux
Le système s’articule autour de plusieurs étages logiques et analogiques interconnectés :
1. L’Alimentation
L’appareil intègre une alimentation variable capable de délivrer des tensions allant de +5,5 volts (pour la logique standard) jusqu’à +25 volts (tension V_{PP} indispensable à la programmation des anciennes EPROM).
2. Le Système de Comptage et d’Adressage
L’étage de comptage gère le défilement séquentiel des adresses de la mémoire et comprend :
Un oscillateur/monostable à base de circuit intégré CMOS HEF4011 (associé à un condensateur, trois résistances et un potentiomètre ajustable).
Un compteur binaire à 12 étages HEF4040.
Un bouton poussoir de déclenchement pour incrémenter manuellement le monostable et avancer d’une adresse.
Un bouton de remise à zéro (RAZ) pour réinitialiser instantanément le comptage à l’adresse zéro.
Un étage intermédiaire de 12 transistors assurant l’amplification du signal entre le HEF4040, les EPROM et l’affichage des adresses.
3. La Visualisation des Adresses
À la mise sous tension, le compteur binaire pointe par défaut à l’adresse 0 et les LED de données sont éteintes. Chaque action sur le bouton poussoir incrémente le compteur, dont l’état est visualisé en temps réel grâce à un banc de 12 LED pilotées par 12 transistors et résistances (drivers de commande).
4. L’Étage EPROM A (Mode Copie)
L’EPROM A est dédiée exclusivement à la fonction de copie :
Elle est positionnée en permanence sur son support dédié.
Un commutateur (switch) permet d’aiguiller ses données lues soit vers l’étage de visualisation, soit directement vers l’EPROM B pour effectuer un clonage direct de la mémoire.
5. L’Étage EPROM B (Lecture, Écriture et Programmation)
C’est le cœur opérationnel de la carte, conçu pour accueillir des mémoires de type 2764, 27128, 27256 ou 27512 :
Configuration : Un switch permet de basculer la mémoire entre le mode Lecture et le mode Écriture. Un autre switch situé à gauche configure l’état de la broche 1 de l’EPROM (V_{PP}, V_{CC} ou V_{SS}).
Impulsion de programmation : Un petit contacteur mécanique (fin de course) actionne le monostable pour générer l’impulsion de programmation d’environ 50 ms.
Signalisation sonore : Un buzzer émet un son témoin à un moment précis du cycle de programmation.
6. La Saisie Manuelle et la Visualisation des Données
Visualisation : Un ensemble de 8 LED associées à des transistors et des résistances (R_B et R_C) permet de visualiser les données lues sur la mémoire ou l’octet en cours d’écriture (LED allumée = 1, LED éteinte = 0).
Saisie : Une rangée de 8 switchs permet de configurer manuellement l’octet à injecter dans l’EPROM lors de l’écriture ou d’une correction ciblée.
Conclusion
Ce programmateur manuel d’EPROM représente une réalisation technique remarquable, combinant logique CMOS séquentielle, gestion fine des tensions de programmation et interface utilisateur entièrement matérielle. Une pièce d’archéologie industrielle et un bel hommage au « fait maison » pour la communauté d’anwarelectronic.com !
Contains information related to marketing campaigns of the user. These are shared with Google AdWords / Google Ads when the Google Ads and Google Analytics accounts are linked together.
90 days
__utma
ID used to identify users and sessions
2 years after last activity
__utmt
Used to monitor number of Google Analytics server requests
10 minutes
__utmb
Used to distinguish new sessions and visits. This cookie is set when the GA.js javascript library is loaded and there is no existing __utmb cookie. The cookie is updated every time data is sent to the Google Analytics server.
30 minutes after last activity
__utmc
Used only with old Urchin versions of Google Analytics and not with GA.js. Was used to distinguish between new sessions and visits at the end of a session.
End of session (browser)
__utmz
Contains information about the traffic source or campaign that directed user to the website. The cookie is set when the GA.js javascript is loaded and updated when data is sent to the Google Anaytics server
6 months after last activity
__utmv
Contains custom information set by the web developer via the _setCustomVar method in Google Analytics. This cookie is updated every time new data is sent to the Google Analytics server.
2 years after last activity
__utmx
Used to determine whether a user is included in an A / B or Multivariate test.
18 months
_ga
ID used to identify users
2 years
_gali
Used by Google Analytics to determine which links on a page are being clicked
30 seconds
_ga_
ID used to identify users
2 years
_gid
ID used to identify users for 24 hours after last activity
24 hours
_gat
Used to monitor number of Google Analytics server requests when using Google Tag Manager
1 minute
Marketing cookies are used to follow visitors to websites. The intention is to show ads that are relevant and engaging to the individual user.
AddToAny provides share and follow buttons that let visitors post your pages to social networks, messaging apps, and bookmarking services.
Registers a unique ID on mobile devices to enable tracking based on geographical GPS location.
1 day
VISITOR_INFO1_LIVE
Tries to estimate the users' bandwidth on pages with integrated YouTube videos. Also used for marketing
179 days
PREF
This cookie stores your preferences and other information, in particular preferred language, how many search results you wish to be shown on your page, and whether or not you wish to have Google’s SafeSearch filter turned on.
10 years from set/ update
YSC
Registers a unique ID to keep statistics of what videos from YouTube the user has seen.
Session
DEVICE_INFO
Used to detect if the visitor has accepted the marketing category in the cookie banner. This cookie is necessary for GDPR-compliance of the website.
179 days
LOGIN_INFO
This cookie is used to play YouTube videos embedded on the website.