| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
PIC+чтение 28C64
12.10.2010, 18:23
|
|
|
Прописка
Регистрация: 29.09.2007
Адрес: Донецк, ????
Сообщений: 199
Сказал спасибо: 21
Сказали Спасибо 19 раз(а) в 15 сообщении(ях)
|
PIC+чтение 28C64
Всем доброго времени суток!
subj, наблюдается следующая проблема
(все делаю в соответствии с даташитом на 28C64)
из пакета данных - читаю с нее по 24 байта за раз
два-три байта всегда битые (или 0x00 или 0xFF)
причем всегда одни и те же
(3, 9, 11 например)
Сама микросхема исправна (программатор считывает то, что нужно)
пробовал увеличить задержки CE-›OE-›чтение,
перестают считываться данные вообще 
Адресация вроде правильная (остальные байты-то,что надо 
Наводка? - но почему тогда только определенные байты?
Кто дрессировал парраллельную память подскажите плиз,
если есть догадки, в чем могло быть дело, или какой-нибудь секрет
/особенность работы с ней есть?
|
|
|
|
12.10.2010, 20:37
|
|
|
Прописка
Регистрация: 29.09.2007
Адрес: Донецк, ????
Сообщений: 199
Сказал спасибо: 21
Сказали Спасибо 19 раз(а) в 15 сообщении(ях)
|
Re: PIC+чтение 28C64
Код прилагаю
|
Код:
|
parrallel_read_byte
BANKSEL TRISB
clrw
movwf TRISB ;PORTB - на вывод
bank_0
movf ADDR_HI,0
movwf PORTB
bcf ADDR_HI_SET
bsf ADDR_HI_SET
nop
bcf ADDR_HI_SET; пишем верхний адрес (защелкиваем регистр)
movf ADDR_LO,0
movwf PORTB
bcf ADDR_LO_SET
bsf ADDR_LO_SET
nop
bcf ADDR_LO_SET; пишем нижний адрес (защелкиваем регистр)
bcf INTCON,GIE;запрентили прерывания!!!
BANKSEL TRISB
movlw 0xFF
movwf TRISB ;PORTB - на ввод
bank_0
bcf CE_SET
;; nop
;; nop
bcf OE_SET
nop
;; nop
;; nop
movf PORTB,0
bsf OE_SET
bsf CE_SET
movwf INDF
bsf INTCON,GIE;разрешили прерывания!!!
return; |
PORTB - шина данных с 28C64 и входами адресных регистров
для ее выборки
|
|
|
|
12.10.2010, 21:41
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
|
Re: PIC+чтение 28C64
На первый взгляд все правильно, я-бы только увеличил длительность импульса записи в адресные регистры. Если Вы уверены в исправности 28С64, тогда вопрос упирается в исправность регистров. Вы используете что-то из 74-й серии или 555? в свое время в 555/1533 было довольно много брака. И еще одно замечание. Если читаете последовательно, старший байт адреса можно защелкивать реже, только при его изменении, будет примерно на 30% быстрее.
__________________
misterdi<@>i.ua
|
|
|
|
13.10.2010, 11:27
|
|
|
Прописка
Регистрация: 29.09.2007
Адрес: Донецк, ????
Сообщений: 199
Сказал спасибо: 21
Сказали Спасибо 19 раз(а) в 15 сообщении(ях)
|
Re: PIC+чтение 28C64
Для верхнего адреса MH74HC174 (6 триггеров)
для нижнего SN74HC373
самое интересное, при увеличении длительности
импульса записи в регистры до 2 nop-ов
вообще отказалось работать, или работает с жуткими
тормозами (при одном работает
хоть как-то)
сегодня попробую все-таки с другой 28C64
(может поможет)
Еще вопрос - надо ли подтягивать к +5В
шину данных (может дело в этом)
- хотя сомнительно- в схеме идет общение вход‹-›выход,
монтажное ИЛИ нигде не требуется
|
|
|
|
13.10.2010, 12:54
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
|
Re: PIC+чтение 28C64
НС подтягивать не надо, это же КМОП
У вас где-то косяк в коде, возможно прерывания мешают. Попробуйте читать по 1 байту, потом по 2, 4 и так далее. Не бросайтесь сразу в омут с головой
|
|
|
|
13.10.2010, 18:06
|
|
|
Прописка
Регистрация: 29.09.2007
Адрес: Донецк, ????
Сообщений: 199
Сказал спасибо: 21
Сказали Спасибо 19 раз(а) в 15 сообщении(ях)
|
Re: PIC+чтение 28C64
|
Цитата:
|
|
У вас где-то косяк в коде, возможно прерывания мешают...
|
Странно, но попробовал размещать те же данные
в Program memory PIC-а,
(процедура чтения стандартная из даташита,
только начальный адрес не с 0x0000)
- все работает на ура даже без запрета прерываний
|
|
|
|
14.10.2010, 00:08
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
|
Re: PIC+чтение 28C64
Из кода не понятно, линии какого порта используются для формирования управляющих сигналов. Я бы проверил правильность их инициализации, особенно если это PORTA. Кроме того проверьте наличие питания на регистрах, добавление одного НОПа не должно катострофически сказываться на быстродействии. И как вариант - запрет прерывания перенести в начало процедуры.
__________________
misterdi<@>i.ua
|
|
|
|
15.10.2010, 14:05
|
|
|
Прописка
Регистрация: 29.09.2007
Адрес: Донецк, ????
Сообщений: 199
Сказал спасибо: 21
Сказали Спасибо 19 раз(а) в 15 сообщении(ях)
|
Re: PIC+чтение 28C64
|
Цитата:
|
|
Из кода не понятно, линии какого порта используются для формирования управляющих сигналов. Я бы проверил правильность их инициализации, особенно если это PORTA.
|
Да, RA3 и RA7, еще раз все досконально проверил, вроде
все правильно сделал (делал прямо по даташиту)
Компаратор выключил, в ANSEL - нули,
с банками вроде нигде не напутал
|
Цитата:
|
|
Кроме того проверьте наличие питания на регистрах, добавление одного НОПа не должно катострофически сказываться на быстродействии.
|
Проверил вольтметром - норма, правда осциллографа нет, увы
|
Цитата:
|
|
И как вариант - запрет прерывания перенести в начало процедуры.
|
Тоже не помогло, теперь вообще перестало заводиться
(т.е. все читает не то что нужно)
|
|
|
|
15.10.2010, 21:18
|
|
|
Прописка
Регистрация: 29.09.2007
Адрес: Донецк, ????
Сообщений: 199
Сказал спасибо: 21
Сказали Спасибо 19 раз(а) в 15 сообщении(ях)
|
Re: PIC+чтение 28C64
Нашел наконец-то причину 
Один из разрядов 373 оказался битым
причем хитро - данные защелкиваются, но
почему-то только один раз из 3-5 импульсов?
по дефолту на нем ноль вместо 1
Самое смешное тут - на этой же плате в другом
узле присутствуют три штуки 1533ИР23 (92 г.в.)
- все целехонькие  ))
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:42.
|
|