Cette page a au moins 14 ans !
This page is at least 14 years old !

|
Une cartouche RAM est un outil de développement
qui permet de tester rapidement un programme sur la machine cible,
depuis la machine sur laquelle le code est écrit.
Le ROM d'origine est remplacé par de la RAM,
qui est chargée sur demande par un microcontroleur qui reçoit
les données via une liaison série. Une fois le transfert
effectué et la RAM remplie, la machine cible est démarrée.
|

(Clic: taille max)
|
Par souci de simplicité et d'économie,
le microcontroleur gère directement les bus avec ses broches
d'E/S. Pas de registres à décalage ou de latchs.
Pour viter d'utiliser mon seul ATMega32 (qui aurait
été trop puissant pour l'application), j'ai utilisé
un AT90S4414 que [Grapsus]
m'avait envoyé. Rien d'analogique, que des E/S et un UART:
exactement ce qu'il faut.
Les ports A et C constituent le bus d'adresse, le
port B le bus de données. Le port D comprend la liaison série
bidirectionnelle, les broches de contrôle pour la RAM et les
sorties pour les deux LEDs.
Lors de la programmation de la RAM, la console
est maintenue en reset pour lâcher les bus. Le microcontroleur
pilote tout sans passer par le mapper. Lors de l'execution, le microntroleur
lâche les bus et désactive le reset. Redonnant le contrôle
à la console.
Attention: le mapper 315-5365 garde ses sorties
/CE et /A*OUT actives mêmes lorsque /CEIN est haut. Il faut
donc placer des résistances entre le mapper et la RAM pour
éviter des conflits avec les signaux du microcontroleur.
|
|
Avant avec étiquette pourrave.
La plaque dépasse d'un centimètre, faute de place
à cause des nombreux fils.
Un morceau de feuille plastique transparente est ajoutée
entre la plaque et le circuit imprimé d'origine, pour éviter
les court-circuits.
La liaison série se fait à 57600bps (7ko/s), le quartz
à 12MHz ne permettant pas d'atteindre d'autres vitesses sans
décalage. Un quartz à 7.3728MHz sera utilisé
pour (je l'espère) atteindre 460800bps (56ko/s) et uploader
128ko en moins de 3 secondes.
Les infos sur le mapper viennent d'smspower.
|
|
|
L'arrière.
Câble FTDI USB/RS232 visible, ainsi que le microcontroleur,
le quartz et la LED bicolore.
Toutes les connections sont faites de l'autre côté
du circuit et vont directement sur les soudures du mapper et de
la RAM, dans la cartouche.
Attention: ne JAMAIS mettre les AT90S à l'envers. Il suffit
d'une fois pour les tuer. Les ATMega sont réputés
être plus résistants à ces accidents.
|
|
Programme du AT90S4414 (AVRStudio 4): ça vient.
Programme VB6 pour PC: ça vient aussi.
|