Aller au contenu


Photo
- - - - -

SRAM 23K256 et Bus SPI


  • Veuillez vous connecter pour répondre
14 réponses à ce sujet

#1 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 02 août 2011 - 04:23

Bonjour,

Je recherche une librairie pour gérer plusieurs SRAM 23K256 pour ma carte Mega2560.

J'ai bien trouvé des petites choses ici et là mais alors quel cirque.......En fait je n'arrive pas à savoir si il faut utiliser la librairie SRam ou là SRAM2, Sram9.....SramClass....

Il y à plusieurs version et je me perds un peu.

Quelqu'un connaitrais une bonne librairie et une solution pour utiliser plusieurs SRam 23K256?

Merci.

#2 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 03 août 2011 - 06:40

Bonjour,

Je recherche une librairie pour gérer plusieurs SRAM 23K256 pour ma carte Mega2560.

J'ai bien trouvé des petites choses ici et là mais alors quel cirque.......En fait je n'arrive pas à savoir si il faut utiliser la librairie SRam ou là SRAM2, Sram9.....SramClass....

Il y à plusieurs version et je me perds un peu.

Quelqu'un connaitrais une bonne librairie et une solution pour utiliser plusieurs SRam 23K256?

Merci.

ben moi je dit ....

tes question son toujour aussi pointu?
car je ne comprend pas de quoi tu parle avec sram..

#3 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 03 août 2011 - 09:06

Alors une SRAM quoi...... : 23A256/23K256 (256Kbit) SPI Bus Low-Power Serial SRAM Data Sheet : http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en539039

Caractéristique :
# Max. Clock 20 MHz
# Low-Power CMOS Technology: - Read Current: 3 mA at 1 MHz - Standby Current: 4 μA Max. at 3.6V
# 32,768 x 8-bit Organization
# 32-Byte Page
# HOLD pin
# Flexible Operating modes: - Byte read and write - Page mode (32 Byte Page) - Sequential mode
# Sequential Read/Write

Donc avec ces petites bêtes nous pouvons stocker 256Kbit soit 32Kbyte soit 1024*32 Bytes soit 32 768 bytes soit 32 768 données de 8 bits chacune ou 1024 pages de 32 Bytes....

Pour ce faire, avec une Arduino Mega 2560, il faut connecter les pins 50 (MISO), 51 (MOSI), 52 (SCK) et 53 (SS).

Cependant toutes les librairies sont créer pour les pins 10 (SS), 11 (MOSI), 12 (MISO), and 13 (SCK).

Donc si quelqu'un pourrait me dire comment faire pour trouver ou modifier les librairies et si il nous est possible de piloter plusieurs SRAM.....Ce serait super mais alors super cool.

Merci.

#4 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 03 août 2011 - 09:18

Alors une SRAM quoi...... : 23A256/23K256 (256Kbit) SPI Bus Low-Power Serial SRAM Data Sheet : http://www.microchip...ocName=en539039

Caractéristique :
# Max. Clock 20 MHz
# Low-Power CMOS Technology: - Read Current: 3 mA at 1 MHz - Standby Current: 4 μA Max. at 3.6V
# 32,768 x 8-bit Organization
# 32-Byte Page
# HOLD pin
# Flexible Operating modes: - Byte read and write - Page mode (32 Byte Page) - Sequential mode
# Sequential Read/Write

Donc avec ces petites bêtes nous pouvons stocker 256Kbit soit 32Kbyte soit 1024*32 Bytes soit 32 768 bytes soit 32 768 données de 8 bits chacune ou 1024 pages de 32 Bytes....

Pour ce faire, avec une Arduino Mega 2560, il faut connecter les pins 50 (MISO), 51 (MOSI), 52 (SCK) et 53 (SS).

Cependant toutes les librairies sont créer pour les pins 10 (SS), 11 (MOSI), 12 (MISO), and 13 (SCK).

Donc si quelqu'un pourrait me dire comment faire pour trouver ou modifier les librairies et si il nous est possible de piloter plusieurs SRAM.....Ce serait super mais alors super cool.

Merci.

tu as un exemple de lib a nous montrer ?
@+

#5 Jbot

Jbot

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris

Posté 03 août 2011 - 09:23

Pour ce faire, avec une Arduino Mega 2560, il faut connecter les pins 50 (MISO), 51 (MOSI), 52 (SCK) et 53 (SS).

Cependant toutes les librairies sont créer pour les pins 10 (SS), 11 (MOSI), 12 (MISO), and 13 (SCK).

Donc si quelqu'un pourrait me dire comment faire pour trouver ou modifier les librairies et si il nous est possible de piloter plusieurs SRAM.....Ce serait super mais alors super cool.

Merci.


Ben dans le code de la lib, tu remplace 50 51 52 53 par 10 11 12 13 quoi :P


Malédiction du Créatif :
Plus vous avez d’idées et moins vous arrivez à les structurer.


#6 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 03 août 2011 - 09:24

Ben dans le code de la lib, tu remplace 50 51 52 53 par 10 11 12 13 quoi :P



tellement simple mais tellement vrai :lol:

#7 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 03 août 2011 - 12:50

Ha ??!! Oui, tellement simple??

Alors vous allez certainement pouvoir me corriger ceci :

digital pin 13 SCK
digital pin 12 MISO
digital pin 11 MOSI
digital pin 9 SS
*/
#ifndef SRAM_h
#define SRAM_h

#define setupSPI SPCR = 0x50 //Master mode, MSB first, SCK phase low, SCK idle low, clock/4
#define setupDDRB DDRB |= 0x2c //set SCK(13) MOSI(11) and SS as output
#define selectSS PORTB &= ~0x02 //set the SS to 0 to select MSH:use pin 9 for sram instead of 10
#define deselectSS PORTB |= 0x02 //set the SS to 1 to deselect

Y aurait t'il d'autres MOD. à réaliser dans le fichier *.cpp et *.h?

Une idée pour piloter plusieurs SRAM?

Merci.

#8 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 03 août 2011 - 02:13

Ha ??!! Oui, tellement simple??

Alors vous allez certainement pouvoir me corriger ceci :

digital pin 13 SCK
digital pin 12 MISO
digital pin 11 MOSI
digital pin 9 SS
*/
#ifndef SRAM_h
#define SRAM_h

#define setupSPI SPCR = 0x50 //Master mode, MSB first, SCK phase low, SCK idle low, clock/4
#define setupDDRB DDRB |= 0x2c //set SCK(13) MOSI(11) and SS as output
#define selectSS PORTB &= ~0x02 //set the SS to 0 to select MSH:use pin 9 for sram instead of 10
#define deselectSS PORTB |= 0x02 //set the SS to 1 to deselect

Y aurait t'il d'autres MOD. à réaliser dans le fichier *.cpp et *.h?

Une idée pour piloter plusieurs SRAM?

Merci.


c'est pas facile de t'aidé quand on as pas tout les element
tu travaille avec quel lib

#9 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 03 août 2011 - 02:19

Les libs sont declarees dans le code.

 


#10 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 03 août 2011 - 02:27

Mais pourquoi declarer deux fois SRAM_.h ?

 


#11 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 03 août 2011 - 02:32

Alors, dans mon exemple c'est la librairie SRAMClass : http://sourceforge.net/projects/mysudoku/files/

Discutions sur le forum : http://arduino.cc/forum/index.php/topic,50006.0.html



Par contre, je devrais peut être utiliser la librairie SpiRAM :http://arduino.cc/playground/Main/SpiRAM

Cependant, je me demande si je ne mélange pas les librairies SRAMclass, SRAM2Class, SpiRam....

Il y à tellement de version que je n'arrive plus à démêler la bonne de la mauvaise pour la mega2560........

#12 Jbot

Jbot

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris

Posté 03 août 2011 - 02:53

Mais pourquoi declarer deux fois SRAM_.h ?

Il n'est pas déclaré 2 fois. :blink:


Malédiction du Créatif :
Plus vous avez d’idées et moins vous arrivez à les structurer.


#13 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 03 août 2011 - 02:59

Salut Jbot,

Dis moi aux vues de votre site je suis sûr que vous avez une solution pour mon petit problème?

#14 Jbot

Jbot

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris

Posté 03 août 2011 - 03:00

Alors, dans mon exemple c'est la librairie SRAMClass : http://sourceforge.net/projects/mysudoku/files/

Discutions sur le forum : http://arduino.cc/forum/index.php/topic,50006.0.html


Ils donnent la réponse pour l'utiliser avec l'arduinoMega hein...


Malédiction du Créatif :
Plus vous avez d’idées et moins vous arrivez à les structurer.


#15 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 03 août 2011 - 03:12

j'y ai cru, mais malheureusement c'est uniquement pour du writestream() et readstream().

Alors que je cherche à lire et écrire des Bytes.

C'est pourquoi, il me semblerait plus adapté d'utiliser la librairie SpiRam qui elle donne la possibilité de faire du read_byte() et write_byte ().

Cependant, quand je ne suis pas sûr quelle puisse être utilisée pour la carte Mega2560.

Je dis cela en voyant dans le fichier SpiRAM.h les lignes suivantes:

// SRAM opcodes
// #define WREN 6
// #define WRDI 4
#define RDSR 5
#define WRSR 1
#define READ 3
#define WRITE 2




0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users