SRAM 23K256 et Bus SPI
#1
Posté 02 août 2011 - 04:23
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
Posté 03 août 2011 - 06:40
ben moi je dit ....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.
tes question son toujour aussi pointu?
car je ne comprend pas de quoi tu parle avec sram..
#3
Posté 03 août 2011 - 09:06
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
Posté 03 août 2011 - 09:18
tu as un exemple de lib a nous montrer ?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.
@+
#5
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
Malédiction du Créatif :
Plus vous avez d’idées et moins vous arrivez à les structurer.
#6
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
tellement simple mais tellement vrai
#7
Posté 03 août 2011 - 12:50
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
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
Posté 03 août 2011 - 02:19
#10
Posté 03 août 2011 - 02:27
#11
Posté 03 août 2011 - 02:32
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
Posté 03 août 2011 - 02:53
Il n'est pas déclaré 2 fois.Mais pourquoi declarer deux fois SRAM_.h ?
Malédiction du Créatif :
Plus vous avez d’idées et moins vous arrivez à les structurer.
#13
Posté 03 août 2011 - 02:59
Dis moi aux vues de votre site je suis sûr que vous avez une solution pour mon petit problème?
#14
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
Posté 03 août 2011 - 03:12
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