реклама на сайте
подробности

 
 
> Подключение SRAM 1MБx8бит к MSP430F169, Делюсь опытом
Ingenegr
сообщение Aug 25 2009, 13:24
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 14-07-08
Из: Нижний Новгород
Пользователь №: 38 915



Применено: SRAM типа CY62158EV30 (CYPRESS) с организацией памяти 8-Mbit (1024K x 8). Эта микросхема имеет 8-битную шину данных и 20-битную шину адреса. В качестве регистра-защелки использована микросхема 74ABT16373 (FAIRCHILD) - 16 битный регистр.

Прикрепленное изображение


Принцип работы: в первом такте происходит запись младшего и старшего байтов адреса в регистр 74ABT16373 стробирующим импульсом с порта P6.5 на
входы регистра LE1, LE2. Во втором такте при записи данных в память SRAM на порт P4 микроконтроллера выставляется байт данных, на порт P5 выставляются старшие биты адреса (16, 17, 18, 19). Сигнал низкого уровня на порте P6.7 выводит из регистра на шину адреса памяти младший и старший адресные байты. Происходит запись сигнала импульсом низкого уровня с порта P6.0 на вход WE памяти.

В режиме чтения режим работы схожий, в этом случае P4 работает как порт входа.


CODE
#define PORTINIT P6DIR |= 0xA7

#define LE16_ON P6OUT |= BIT5
#define LE16_OFF P6OUT &= ~BIT5

#define OE16_ON P6OUT |= BIT7
#define OE16_OFF P6OUT &= ~BIT7

#define WE_ON P6OUT |= BIT0
#define WE_OFF P6OUT &= ~BIT0

#define OE_ON P6OUT |= BIT1
#define OE_OFF P6OUT &= ~BIT1

#define CE_ON P6OUT |= BIT2
#define CE_OFF P6OUT &= ~BIT2

#define LBUSout P4OUT
#define MBUSout P5OUT

#define LBUSin P4IN
#define MBUSin P5IN

#define LBUSdir P4DIR
#define MBUSdir P5DIR

#define INPUT 0x00
#define OUTPUT 0xff



void SRAM_Init(void);
void SRAM_Write(unsigned char byte, unsigned long Address);
unsigned char SRAM_Read(unsigned long Address);

void SRAM_Init(void)
{
PORTINIT;

LE16_OFF;
OE16_ON;

CE_ON;
WE_ON;
OE_ON;
}

void SRAM_Write(unsigned char byte, unsigned long Address)
{
LBUSdir = OUTPUT;
MBUSdir = OUTPUT;

LBUSout = Address & 0x00FF;
MBUSout = (Address & 0xFF00)>>8;

LE16_ON;
LE16_OFF;

LBUSout = byte;
MBUSout = (Address & 0xFF0000)>>16;

OE16_OFF;
WE_OFF;
WE_ON;
OE16_ON;

LBUSdir = INPUT;
MBUSdir = INPUT;

}

unsigned char SRAM_Read(unsigned long Address)
{
LBUSdir = OUTPUT;
MBUSdir = OUTPUT;

LBUSout = Address & 0x00FF;
MBUSout = (Address & 0xFF00)>>8;

LE16_ON;
LE16_OFF;

LBUSdir = INPUT;
MBUSout = (Address & 0xFF0000)>>16;

OE16_OFF;
OE_OFF;
OE_ON;
OE16_ON;

MBUSdir = INPUT;

return LBUSin;
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Aug 25 2009, 15:59
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Ingenegr, поясните смысл размещения здесь этого вашего сообщения. Что спросить или сказать хотели-то?
Go to the top of the page
 
+Quote Post
baken
сообщение Aug 25 2009, 16:13
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 222
Регистрация: 27-01-09
Из: г.Жирновск
Пользователь №: 44 025



Цитата(rezident @ Aug 25 2009, 19:59) *
Ingenegr, поясните смысл размещения здесь этого вашего сообщения. Что спросить или сказать хотели-то?

Он же написал, делится опытом, и что плохого. Молодец, я тоже давно думал подключить внешнюю память к MSP430, все не решался. Спасибо.


--------------------
Еж - птица гордая. Не пнешь - не полетит.
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 25 2009, 17:09
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(baken @ Aug 25 2009, 22:13) *
Молодец, я тоже давно думал подключить внешнюю память к MSP430, все не решался.
Недоумение вызывает подключение (пускай оно и классическое) параллельной SRAM к MCU, совершенно не предназначенного для такого интерфейса. Поэтому и возник некоторый вопрос: а по тому ли адресу (в соответствующем ли разделе) размещена эта тема?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 25 2009, 17:53
Сообщение #5


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(rezident @ Aug 25 2009, 21:59) *
Ingenegr, поясните смысл размещения здесь этого вашего сообщения. Что спросить или сказать хотели-то?


Цитата(rezident @ Aug 25 2009, 23:09) *
Недоумение вызывает подключение (пускай оно и классическое) параллельной SRAM к MCU, совершенно не предназначенного для такого интерфейса. Поэтому и возник некоторый вопрос: а по тому ли адресу (в соответствующем ли разделе) размещена эта тема?


Это что, модераторство так меняет людей? sad.gif Неужели нельзя было просто написать "пардон, не разглядел подзаголовок"?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ingenegr   Подключение SRAM 1MБx8бит к MSP430F169   Aug 25 2009, 13:24
|||- - rezident   Цитата(AHTOXA @ Aug 25 2009, 23:53) Неуже...   Aug 25 2009, 18:23
|||- - AHTOXA   Цитата(rezident @ Aug 26 2009, 00:23) Я в...   Aug 25 2009, 18:33
|||- - rezident   Цитата(AHTOXA @ Aug 26 2009, 00:33) Я спе...   Aug 26 2009, 08:06
|||- - AHTOXA   Цитата(rezident @ Aug 26 2009, 14:06) Изв...   Aug 26 2009, 09:00
||- - Dog Pawlowa   Цитата(rezident @ Aug 25 2009, 20:09) ......   Aug 25 2009, 17:57
|- - Taradov Alexander   Цитата(rezident @ Aug 25 2009, 19:59) Ing...   Aug 25 2009, 16:23
- - Сергей Борщ   Цитата(Ingenegr @ Aug 25 2009, 16:24) При...   Aug 25 2009, 16:53
- - MALLOY2   Вот это регистр , я думал такие микрухи вымерли . ...   Aug 25 2009, 18:03
- - MrYuran   Цитата(AHTOXA @ Aug 25 2009, 22:33) Цита...   Aug 26 2009, 08:28
- - Ingenegr   Цитата(Сергей Борщ @ Aug 25 2009, 20:53) ...   Aug 26 2009, 09:46
|- - rezident   Цитата(Ingenegr @ Aug 26 2009, 15:46) Был...   Aug 26 2009, 10:06
- - Rst7   ЦитатаКстати, F169.. а может, там как-нибудь DMA м...   Aug 26 2009, 09:53


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 4th August 2025 - 04:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.0167 секунд с 7
ELECTRONIX ©2004-2016