Перейти к содержанию
    

Falc 22554HT v2.1

Глючит запись в 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мс.

 

Вопрос - где я налажал? Или я так хитро пожёг её?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Битва продолжается.

В результате более тщательного тестирования - выяснилось:

 

Регистры портяться если писать выше адреса 0xa8.

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

 

И вот этого я уже не понимаю. Остальные, что, только для чтения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Регистры портяться если писать выше адреса 0xa8.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Регистры портяться если писать выше адреса 0xa8.

 

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

 

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

 

Скажите, а в вашем случае (v1.3), вы в какие регистры пишете сразу после сброса (или читаете)?

Я предположил, что надо начать с задания частоты E1(2048) и записать в регистры GCM1..GCM8 ($92..$99) нужные значения, но почему-то после их записи, при чтении из них - читаются нули.

Это меня настораживает.

Вы можете считать из них (или из других регистров) записанные вами значения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проходили... знаем... :biggrin:

лучше уж не парится с "простенькими тестовыми" программками... настолько чудные чипы и такие же еррашиты, что не угадаешь, что можно, а что нельзя писать... лучше уж сразу затачивать под рабочую задачу и "ненужное" не трогать... два года назад бы такой же цирк, когда в тестовой проге прогоняли чтение/запись всех регистров... как только начали конфигурить поделу - все, как рукой сняло! :cranky:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...