Нужен буфер около 50 кБайт

Glabas
Offline
Зарегистрирован: 07.07.2017

Нужен  буфер около 50 кБайт (для 1,5 сек записи) для сохранения результатов измерений и печати отладочной информации. Ресурсов Mega2560 по RAM  и EEPROM не хватает, Serial слишком медленный ...

SD по SPI пишет с запасом поскорости, но при этом сильно расходует RAM для буферизации и возможно надолго будет занимать SPI (еще не проверял), а он тоже задействован в программе под другие нужны.

Связываться ли с RAM SPI или она ничем не будет лучше SD SPI?

 

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Или как вариант другой контроллер:

Arduino Due (SAM3X8E) - SRAM 96KB, Flash 512KB

STM32F103VE - SRAM 64KB, Flash 512KB

STM32F4DISCOVERY (STM32F407VG) - SRAM 192KB, Flash 1MB

 

Glabas
Offline
Зарегистрирован: 07.07.2017

Jeka_M пишет:
Или как вариант другой контроллер: Arduino Due (SAM3X8E) - SRAM 96KB, Flash 512KB
Другой контроллер как буфер, тк с таймерами Dгу еще не разбирался и программу переделывать ради переноса на DUE не хочу.

К тому же с ними ( несколько штук выпуска 2013)  какой-то гимор -  не под всеми версиями IDE и драйверами DUE удается загрузить программу, а если загрузил то не выполняется. У них вроде какая-то проблема с конденсатором и ли транзистором на RESET?

Проблема 2 - согласование уровней, согласователи 3,3 - 5 есть готовые

Проблема 3 - надо разбираться в режимом SLAVE SPI и какие проблемы могут быть со стороны библиотек DUE я не знаю.

ХЗ что лучше SD SPI, SD RAM  или поставить вторую MEGA2560 как Slave SPI на скорости 4 Мбит и качать в нее, а из ней писать в SD.

Проще наверное SPI RAM, но какая у нее максимальная тактовая CLK SPI  и с какими мс не будет проблем я не знаю. Присоветуйте пожалуйста.

 

 

 

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Вот эту тему гляньте, может пригодится - http://arduino.ru/forum/proekty/samodelnaya-mega2560-128a-s-pamyatyu-512kb

Glabas
Offline
Зарегистрирован: 07.07.2017

Jeka_M пишет:
Вот эту тему гляньте, может пригодится - http://arduino.ru/forum/proekty/samodelnaya-mega2560-128a-s-pamyatyu-512kb
Архату уважение, но  я на такой подвиг с параллельными интерфейсами не настроен, тк для меня дополнительная RAM  вспомогательная задача.

Можбыть уменьшу потребности  и обойдусь идним или двумя фрагментами по 32K x 8 bit  вроде  Microchip 23K256  http://ww1.microchip.com/downloads/en/DeviceDoc/22100D.pdf    или аналогом

Работоспособно такое ?   http://playground.arduino.cc/Main/SpiRAM

 

 

 

 

LouizSaviours
Offline
Зарегистрирован: 08.07.2017

Glabas пишет:
Связываться ли с RAM SPI или она ничем не будет лучше SD SPI?
RAM будет лучше, тк ей в отличие от SD.H не нужно работать покластерно.

Обратите внимание на восьминожку 23LCV1024-I/P

http://www.microchip.com/wwwproducts/en/23lcv1024

http://ww1.microchip.com/downloads/en/DeviceDoc/25156A.pdf

 

 

slider
Offline
Зарегистрирован: 17.06.2014

точно , стоит ли из-за 40руб на али , за  spi sram 23k256  париться ? есжели на другое железо совсем не охота переходить.

 или 23lc1024 в пару раз подороже.

как сделаете на 1024 , черкните сюда как и что получилось.

Glabas
Offline
Зарегистрирован: 07.07.2017

slider пишет:
точно , стоит ли из-за 40руб на али , за  spi sram 23k256  париться ? есжели на другое железо совсем не охота переходить.

 или 23lc1024 в пару раз подороже.

как сделаете на 1024 , черкните сюда как и что получилось.

для 23LC1024  нужно согласование уровней напряжения с 5V контроллерами.

32Kx8 bit (23K256): предложений почти нет, цена от 300 руб за 1 шт,  http://www.ebay.com/itm/MICROCHIP-23K256-I-P-IC-SRAM-SERIAL-256K-2-7V-PDIP8-/331779172048  

64Kx8 bit (23K512-i/p):  цена 135-172 руб за 5 шт ,   http://www.ebay.com/itm/5PCS-EEPROM-IC-MICROCHIP-DIP-8-24LC512-I-P-24LC512-/401305001959

128Kx8 bit (23LC1024):  ___2,5V_____  цена 240 руб за 1 шт  http://www.ebay.com/itm/1PCS-SRAM-SERIAL-IC-MICROCHIP-DIP-8-23LC1024-I-P-23LC1024-/361948118052

 

Glabas
Offline
Зарегистрирован: 07.07.2017

Предварительно, оптимальный вариант  (емкость, цена, совместимость по напряжению, возможность купить)  - 64Kx8 bit , то есть  23K512.  

23K256 похоже уже нет на складах, а 23LC1024 низковольтные и дорогие.

 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

почему Вы решили что 23LC1024 низковольтные ?

Волшебник
Offline
Зарегистрирован: 22.12.2016

Если на 8-битном МК не хватает памяти, значит данные не правильно обрабатываете. Сериал на 230 кажется поднимается. Ещё вариант SPI на другой МК где сераиал >1М,  stm32  за пару $ сойдёт.

Glabas
Offline
Зарегистрирован: 07.07.2017

xDriver пишет:
почему Вы решили что 23LC1024 низковольтные ?
Это была ошибка, даташиту  http://ww1.microchip.com/downloads/en/DeviceDoc/25156A.pdf,  питание в широком диапазоне:

 
Part Number                  23LCV1024
VCCRange                    2.5-5.5V
Dual I/O (SDI)                Yes
Battery Backup              Yes
Max. Clock Frequency   20 MHz
Packages                      SN, ST, P
Glabas
Offline
Зарегистрирован: 07.07.2017

Волшебник пишет:
Если на 8-битном МК не хватает памяти, значит данные не правильно обрабатываете. Сериал на 230 кажется поднимается. Ещё вариант SPI на другой МК где сераиал >1М,  stm32  за пару $ сойдёт.
Вы неправильно прочли сообщение 1 темы

slider
Offline
Зарегистрирован: 17.06.2014

Glabas пишет:

....

32Kx8 bit (23K256): предложений почти нет, цена от 300 руб за 1 шт,  http://www.ebay.com/itm/MICROCHIP-23K256-I-P-IC-SRAM-SERIAL-256K-2-7V-PDIP8-/331779172048  

.....

Я про Али же говорил, -  https://ru.aliexpress.com/item/10pcs-lot-23K256-I-SN-23K256-SRAM-256KBIT-20MHZ-8SOIC-good-quality-new-original-free-shipping/32818736208.html , Если бы без трека , так они вообще бы по 25-30руб были , но не как не по 300р  1шт

даже в дорогом чип-дипе и то в наличии во многих городах и по 40р, если в вашем городе чип-дип есть, то прям там и купите https://www.chipdip.ru/product/23k256-i-sn , хоть сегодня пойди да возьми, магаз работает и по выходным.

поиск на Али 23K256 https://ru.aliexpress.com/w/wholesale-23k256.html?spm=a2g0v.search0104.0.0.LGHn4S&site=rus&groupsort=1&SortType=price_asc&g=y&SearchText=23k256&tc=af

Библиотеки искать в инете словами SPI SRAM Arduino , иль по названиям микросхем 23lc256  23lc512  23lc1024  23k256 23k512 + arduino .

Glabas
Offline
Зарегистрирован: 07.07.2017

Спасибо за ссылки.

 

У 23K256 есть интересная особенность :

Цитата:
http://ww1.microchip.com/downloads/en/DeviceDoc/22100D.pdf

2.2 Modes of Operation
 
The 23A256/23K256 has three modes of operation that are selected by setting bits 7 and 6 in the STATUS register. The modes of operation are Byte, Page and Burst
 
Byte Operation– is selected when bits 7 and 6 in the STATUS register are set to
00 . In this mode, the read/write operations are limited to only one byte. The
Command followed by the 16-bit address is clocked into the device and the data to/from the device is transferred on the next 8 clocks (Figure 2-1, Figure 2-2).
 
Page Operation– is selected when bits 7 and 6 in the STATUS register are set to10. The 23A256/23K256 has
1024 pages of 32 Bytes. In this mode, the read and writeoperations are limited to within the addressed page (the
address is automatically incremented internally). If thedata being read or written reaches the page boundary,
then the internal address counter will increment to thestart of the page (Figure 2-3, Figure 2-4).
 
Sequential Operation– is selected when bits 7 and 6 in the STATUS register are set to 01. Sequential operation allows the entire array to be written to and read from. The internal address counter is automatically
incremented and page boundaries are ignored. When the internal address counter reaches the end of the
array, the address counter will roll over to 0x0000  (page 6)