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

 
 
 
Reply to this topicStart new topic
> Falc 22554HT v2.1, Интерфейс микроконтроллера - запись
_4afc_
сообщение May 5 2006, 06:06
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



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

Вопрос - где я налажал? Или я так хитро пожёг её?
Go to the top of the page
 
+Quote Post
_4afc_
сообщение May 5 2006, 10:01
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



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

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

И вот этого я уже не понимаю. Остальные, что, только для чтения?
Go to the top of the page
 
+Quote Post
shamray
сообщение May 5 2006, 16:00
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 114
Регистрация: 31-08-05
Из: Украина, Одесса
Пользователь №: 8 105



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


Так вроде 0xa8 это последний регистр в адресном пространстве. Я сам пользую этот чип только более старой версии -v1.3 никаких проблем с записью небыло и нет. Правда я не использовал мультиплексированную шину.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение May 17 2006, 07:15
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(shamray @ May 5 2006, 20:00) *
Цитата
Регистры портяться если писать выше адреса 0xa8.


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


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

Скажите, а в вашем случае (v1.3), вы в какие регистры пишете сразу после сброса (или читаете)?
Я предположил, что надо начать с задания частоты E1(2048) и записать в регистры GCM1..GCM8 ($92..$99) нужные значения, но почему-то после их записи, при чтении из них - читаются нули.
Это меня настораживает.
Вы можете считать из них (или из других регистров) записанные вами значения?
Go to the top of the page
 
+Quote Post
CITY
сообщение May 17 2006, 12:56
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 52
Регистрация: 23-04-05
Пользователь №: 4 422



проходили... знаем... biggrin.gif
лучше уж не парится с "простенькими тестовыми" программками... настолько чудные чипы и такие же еррашиты, что не угадаешь, что можно, а что нельзя писать... лучше уж сразу затачивать под рабочую задачу и "ненужное" не трогать... два года назад бы такой же цирк, когда в тестовой проге прогоняли чтение/запись всех регистров... как только начали конфигурить поделу - все, как рукой сняло! cranky.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 7th July 2025 - 03:26
Рейтинг@Mail.ru


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