Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Falc 22554HT v2.1
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISDN/G.703/E1
_4afc_
Глючит запись в 22554. Чтение работает прекрасно.
Значение регистров при чтении совпадает с начальными, описанными в pdf.

Запись не получается.
Есть какие-то подводные камни? Типа регистра разрешающего запись?
Интерфейс Intel, 8bit, мультиплексированный.

Написал тестовую программу:
Записывает в регистр его номер и считывает его значение, и так с первыми 256 регистрами.
Эффект ошеломляющий - при первом проходе считываются изначальные значения,
при втором - или различные одинаковые числа (00,65,04) или 96 во всех регистрах,
в зависимости от того как работает CS - по доке или по уму.

Алгоритм записи - следующий:
WR=1;CS=1;RD=1;ALE=0;
A00..09=Register;
ALE=1;
ALE=0;
D00..D07=Data;
CS=0;
WR=0;
WR=1;
CS=1;

Паузы между командами ни менее 1мс.

Вопрос - где я налажал? Или я так хитро пожёг её?
_4afc_
Битва продолжается.
В результате более тщательного тестирования - выяснилось:

Регистры портяться если писать выше адреса 0xa8.
На данный момент работает запись лишь в регистр 0x85 и 0x08.

И вот этого я уже не понимаю. Остальные, что, только для чтения?
shamray
Цитата
Регистры портяться если писать выше адреса 0xa8.


Так вроде 0xa8 это последний регистр в адресном пространстве. Я сам пользую этот чип только более старой версии -v1.3 никаких проблем с записью небыло и нет. Правда я не использовал мультиплексированную шину.
_4afc_
Цитата(shamray @ May 5 2006, 20:00) *
Цитата
Регистры портяться если писать выше адреса 0xa8.


Так вроде 0xa8 это последний регистр в адресном пространстве. Я сам пользую этот чип только более старой версии -v1.3 никаких проблем с записью небыло и нет. Правда я не использовал мультиплексированную шину.


Просто изначально писалась простенькая тестовая программка записывовшая в регистр его номер и считывающая его значение. Затем она уже была ограничена до последнего регистра.

Скажите, а в вашем случае (v1.3), вы в какие регистры пишете сразу после сброса (или читаете)?
Я предположил, что надо начать с задания частоты E1(2048) и записать в регистры GCM1..GCM8 ($92..$99) нужные значения, но почему-то после их записи, при чтении из них - читаются нули.
Это меня настораживает.
Вы можете считать из них (или из других регистров) записанные вами значения?
CITY
проходили... знаем... biggrin.gif
лучше уж не парится с "простенькими тестовыми" программками... настолько чудные чипы и такие же еррашиты, что не угадаешь, что можно, а что нельзя писать... лучше уж сразу затачивать под рабочую задачу и "ненужное" не трогать... два года назад бы такой же цирк, когда в тестовой проге прогоняли чтение/запись всех регистров... как только начали конфигурить поделу - все, как рукой сняло! cranky.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.