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

 
 
> Помогите реализовать двунапрваленную шину, EPM3128ATC144
_ZeroCold
сообщение May 5 2006, 14:35
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 5-05-06
Пользователь №: 16 814



Доброе время суток !

Подскажите пожалуйста как в EPM3128ATC144-5 (Altera)
реализовать двунправленную 8ми битную шину данных ???

это мне нужно для записи чтения байта из внешнего статического ОЗУ

Я делаю так
1.Обозначаю выводы как (BIDIRС) которые непосредственно идут на выводы
(d0..d7) микросхемы.

2.внутри схемы подводит данные порт реализованный на эквиваленте 1533ИР23
3.а выводит 1533ИР27 (если поставить ир23 то ругается компилятор)

так вот читается всякая билеберда !!! (все остальные узлы схемы проверил экспириментально и все ок , проблема имеено в узле ввода вывода , т.е. в реализации двунаправленной шины)

а если исключить из схемы выводы которые идут на м икросхему памяти , тоесть игнорировать ее на время ,чтобы просто проверить передачу байта из регистра в регистр, то компилятор MaxPlus начинает ругаться на то что входы ИР27 оказались подключенными к выходам ИР23 , мол выходы ир23 должны быть подсоеденены только к BIDIRC
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vetal
сообщение May 5 2006, 15:48
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



LPM_BUSTRI - то что вам нужно.
Возьмите MegaWizard и создайте нужную вам конфигурацию.
Выход с 3-м состояниям подсоедините к ногам, на result получите данные снятые с ножек, а на data будете подавать то, что вы ходите передать. Направлением передачи управляйте в соответствии с вашим алгоритмом.
Go to the top of the page
 
+Quote Post
_ZeroCold
сообщение May 5 2006, 20:49
Сообщение #3





Группа: Новичок
Сообщений: 8
Регистрация: 5-05-06
Пользователь №: 16 814



Цитата(vetal @ May 5 2006, 18:48) *
LPM_BUSTRI - то что вам нужно.
Возьмите MegaWizard и создайте нужную вам конфигурацию.
Выход с 3-м состояниям подсоедините к ногам, на result получите данные снятые с ножек, а на data будете подавать то, что вы ходите передать. Направлением передачи управляйте в соответствии с вашим алгоритмом.


Прошу прощение может быть за делитантский вопрос , а что значит сконфигурировать ???
у меня MegaWizard спросил только ширину шины и Bidirect/Undirect и все , после этого он сгенерил новый примитив LPM_BUSTRA который ведет себя точно также как и его родитель LPM_BUSTRI
или имеется ввиду что переписать исходный текст LPM_BUSTRI ???

я впринцыпе пробывал и то и другое
если просто переконфигурировал то компилятор ругается что к result должна быть подключена тристабильная шина!!!
Когда переписал исходник (LPM_BUSTRI) то читается всравно не то что пишется !!!
причем как то странно если писать число 0xFF или 0x7F то и читается то же ,а вот если чтото другое
даже 0x00 то читается совсем иное

исходник я переправил так:



PARAMETERS
(
LPM_WIDTH
);

SUBDESIGN lpm_bustri
(
tridata[LPM_WIDTH-1..0] : BIDIR;
data[LPM_WIDTH-1..0] : INPUT = VCC;
enabletr : INPUT = VCC;
enabledt : INPUT = VCC;
result[LPM_WIDTH-1..0] : OUTPUT;
)

VARIABLE
% Are the enable inputs used? %
IF (USED(enabledt)) GENERATE
dout[LPM_WIDTH-1..0] : TRI;
END GENERATE;
% IF (USED(enabletr)) GENERATE
din[LPM_WIDTH-1..0] : TRI;
END GENERATE;%

BEGIN

ASSERT (LPM_WIDTH > 0)
REPORT "Value of LPM_WIDTH parameter value must be greater than 0"
SEVERITY ERROR
HELP_ID LPM_BUSTRI_WIDTH;

ASSERT (USED(enabledt) & USED(data))
REPORT "lpm_bustri function requires data[] port -- Altera recommends using the TRI primitive instead"
SEVERITY ERROR
HELP_ID LPM_BUSTRI_DATA;

% Connect buffers if they are used %
IF (USED(enabledt)) GENERATE
dout[].oe = enabledt;
dout[] = data[];
tridata[] = dout[];
END GENERATE;

IF (USED(enabletr)) GENERATE
% din[].oe = enabletr;
din[] = tridata[];
result[] = din[];%
result[] = tridata[];
ELSE GENERATE
result[] = tridata[];
END GENERATE;
END;




Ктото практически делал двунаправленную шину на чипе EPM3128ATC144-5 (Altera) ???
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 11:35
Рейтинг@Mail.ru


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