Algorithme de détection de défection de bus?

M

MagicSpark

Guest
J'ai microcontrôleur qui a puce RAM externe.La puce RAM est relié au contrôleur de bus d'adresse de 16 bits et 8 bits du bus de données.

L'adresse et le bus de données peut être fait défection, c'est à dire deux lignes peut être court-circuité ou déconnecté.

J'ai besoin de fournir algorithme qui détecte si bus (adresse ou de données) est déserté et donne aussi allusion lequel les lignes sont fait défection.

S'il vous plaît aviser Quelle est l'approche correcte pour résoudre ce problème.
Merci d'avance

Adresse lignes de bus PS ne peut pas être court-circuité à la ligne de bus de données.

PS 2 Ma solution a été de remplir la mémoire avec le schéma suivant:
Donnez écrire la valeur 0 à octet à l'adresse 0, alors
1 pour 1, 2 à 2, etc 255 à 255,
0 à 256, de 1 à 257 255 à 511 etc etc
0 à 512 etc

Ensuite, lisez toutes les valeurs de retour et de comparer ce que nous lisons et ce que nous attendons de lire.
Cette solution n'est pas de découvrir toutes les erreurs possibles, surtout si bus d'adresse est endommagé.

 
Je ne vois pas ce qui cloche avec l'algorithme que vous proposez.Quels types de fautes qu'il ne détecte pas?Je crois, il peut attraper une ligne brisée dans le bus d'adresse.La valeur que vous essayez d'écrire à une adresse A irait à une mauvaise adresse B et vous verrez une valeur qui ne correspond pas au modèle, quand vous lisez B. La seule amélioration que je peux suggérer, c'est d'exécuter le algorithme à deux reprises: la première fois 0 -> 255, la deuxième fois 255 -> 0.

algorithmes de test de mémoire est une et bien développé, d'anciens champs.Je parie, que vous pouvez trouver quelque chose d'utile par googler "algorithme de test de la mémoire"

 
Kender, je vous remercie pour votre réponse et votre suggestion pour améliorer l'algorithme.

Cependant, je ne suis pas sûr que ce soit "Test de mémoire" problème.Je ne suis pas des tests de mémoire, je teste BUS en cas décrits.Pourriez-vous me conseiller?

Un autre problème avec mon algorithme est qu'il ne donne pas de réponse claire ou qui touche les lignes sont corrompus.De mon point de vue algorithme idéal indiquer exactement quelles lignes sont endommagés, le cas échéant.

 
MagicSpark a écrit:

Cependant, je ne suis pas sûr que ce soit "Test de mémoire" problème.
Je ne suis pas des tests de mémoire, je teste BUS en cas décrits.
Pourriez-vous me conseiller?
 

Welcome to EDABoard.com

Sponsor

Back
Top