New 23K256 Microchip – это серийно взаимосвязанный 32 килобайт памяти памяти срам, предлагается в 8-контактном виде, а также 8 PIN-кода. SRAM, как EEPROM, является средой хранения данных. Данные, хранящиеся в SRAM, потеряны без постоянной мощности, однако это действительно быстро, а также нет никаких ограничений до количества циклов сочинений. Eerpom хранит данные даже без мощности, однако он вялый, как правило, ограничен около миллиона композиционных циклов.
32K SRAM Chips обычно имеют 15 адресные линии, а также 8 линий данных, такие как IS61LV256AL, мы использовали на нашем доске продвижения CPLD. 23K256 нуждается в четырех сигнальных линиях, однако жертвует скоростью параллельного интерфейса памяти. Это отличный способ добавления дополнительной памяти в микроконтроллер с низким контактом без маршрутизации 23 следов сигнала. Мы покажем вам, как взаимодействовать на этом чипе ниже.
Microchip 23K256, 32K SPI SRAM (поиск Mouser, поиск Octopart, $ 1.48). Datasheet (PDF).
Автобус Пират
23K256 (PIN #)
CS.
/ CS (1)
Мисо
Итак (2)
Мосиль
Si (5)
Часы
SCK (6)
Боевик
/ Держать (7)
Боевик
VSS (4)
+ 3вольт
VCC (8)
Мы связали 23K256 к нашему инструменту для последовательного интерфейса на автобус Pirate Universal, как показано в таблице. Очень важно для питания чип, используя только 3,3 ВОЛЬЗОВАТЕЛЬНОЙ ПОСТАВИТЕЛЬНОЙ шине Pirate, 23K256 не рассчитан на 5 Volts.
Автобус Pirate – это простой способ узнать о чипе, не составляя какой-либо код кода, однако то же самое относится и теми же принципалами для использования 23K256 с любым типом микроконтроллера. Эта презентация использует последнюю версию прошивки Pirate Bus Pirate (26 FEB-2009), которую вы можете скачать из нашего Google Code SVN.
Hiz> M <-Choose Mode 1. Хиз ... 5. SPI ... Режим> 5 <-SPI Режим Режим набор ... <-30khz, все настройки по умолчанию SPI готов SPI> W <-Capital 'W' позволяет источникам питания Расходные материалы напряжения включены SPI>
Во-первых, мы поставьте пират шины в режим SPI в 30 кГц, а также выбрали настройки по умолчанию для всех параметров. Мы позволили на борту Pirate Bus Pirate 3.3VOLT с помощью финансирования «W».
Регистр конфигурации
бит 7,6 = байт (00) страница (10) режим последовательности (01)
бит 0 = держать отключено (1)
Данные хранятся внутри 23K256 на 1024 страницах, которые каждый из которых включает в себя 32байт. Диапазон чтения, а также композы устанавливается бит 7, а также 6 реестра конфигурации. К памятику можно получить доступ к байту (00), на 32байте страницы (10) или последовательно во всем 32К (01). Мы будем работать в режиме последовательности, что предоставляет нам доступ к вычету, чтобы проверить, а также составить любой тип длины данных, где угодно в 32К местах хранения.
Удерживаемый PIN-код используется для переводов приостановки, когда доступ к тому же потребованию к тому же требованиям шины. Бит 0 реестра конфигурации управляет удержанием PIN-кода. При установке на 1 PIN-код удержания отключен. Мы подключили к земле для типичной работы, однако его производительность может быть полностью отключена путем настройки бита 0.
Регистр конфигурации изменен путем отправки команды Compose Configuration (0B00000001), а также новые настройки.
SPI> [0B1 0B01000001] <-UPDate Config Register CS включен Написать: 0x01 <-Write Config Command Написать: 0x41 <-Value для записи CS отключен SPI>
Мы начинаем сделку SPI, позволяя чипу 23K256 выбирать строку ([). Мы отправляем команду configuration configuration (0b1, 0x01 или 1), выполненную новыми настройками для регистра конфигурации (0b01000001, 0x41). Мы устанавливаем бит 6 для последовательного усиления доступа к режиму, а также установить бит 0, чтобы отключить функцию удержания PIN-кода. Биты 5-1 не имеют никакой функции, однако таблицы данных всегда составляют 0. Сделка заключает, отключая чипу выбора сигнала (]).
SPI> [0B101 R]
CS включен
Написать: 0x05 <- Регистрация конфигурации
Читать: 0x41 <-value read
CS отключен
SPI>
Далее мы используем Checked Out Configuration Register Register (0B00000101, 0B101, 0x05 или 5) для подтверждения того, что настройки были правильно написаны. Эта команда возвращает один байт (R), который должен соответствовать значению, который мы составили в предыдущей операции (0x41, или 0B01000001).
Доступ к данным
Теперь мы можем проверить, а также составлять данные в чип. Композиции начинаются с командой данных Compose (0B10, 0x02 или 2), выполняемых двумя байтами, которые идентифицируют, где составлять данные. Значения для хранения отправляются по адресу. В зависимости от режима доступа к усилию к режиму, один байт, страница или вся память могут быть заполнены одним операцией.
SPI> [0B10 0 0 1 2 3 4 5 6 7 8 9 10]
CS включен
Написать: 0x02 <-дата Compose Command
Написать: 0x00 <-Адресс байт 1
Написать: 0x00 <-Address Byte 2
Написать: 0x01 <-стату данных для записи
Написать: 0x02.
Написать: 0x03.
Написать: 0x04.
Написать: 0x05.
Написать: 0x06.
Написать: 0x07.
Написать: 0x08.
Написать: 0x09.
Написать: 0x0A
CS отключен
SPI>
Начнем с команды COMPOSE DATA (0B10), а также установить составное место в начало чипа (0 0). Мы отправляем в целом десять ценностей для хранения, номера от 1 до 10.
После составления данных мы можем проверить его обратно с проверенной командой данных (0B00000011, 0B11, 0x03 или 3).
SPI> [0B11 0 0 R: 10]
CS.ВКЛЮЧЕНО
Написать: 0x03 <- команду данных
Написать: 0x00 <-start адресный байт 1
Написать: 0x00 <-start адресный байт 2
Обзор проверил 0x0a байты: <- 10 байтов
0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a
CS отключен
SPI>
Мы отправляем проверенную команду данных (0B11), выполненную по адресу, с которого можно начать чтение (0 0). Затем мы проверили 10 байтов (R: 10). 10 байтов являются номерами от 1 до 10, точно такие же значения, которые мы составили на предыдущем шаге.
Как этот пост? Осмотрите сообщения о деталях, которые вы могли пропустить. Хотите запросить часть поста? Пожалуйста, оставьте свои советы в комментариях.
0