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

CY7C68013A GPIF неисправная работа

Привет.

 

Походу работы с GPIF столкнулся с рядом проблем. Первая это то, что уровень напряжения на шине данных (когда данные выставлены) где-то 2.4 В, что соответствует минимальному выдаваемому напряжению согласно даташиту. А на некоторых только 2 В, чего недостаточно. Процессор подключен по шине данных к этой микросхеме: http://www.holtic.com/products/2992-hi-3582a-hi-3583a.aspx.

Вторая проблема, что не могу загрузить переменную WaveData[128], как только начинаю записывать процессор виснет. Можно записать только 63 байта. Сам GPIF интерфейс сгенерирован с помощью программки GPIF Designer.

Подскажите в какую сторону копать?

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


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

...столкнулся с рядом проблем. Первая это то, что уровень напряжения на шине данных (когда данные выставлены) где-то 2.4 В,... А на некоторых только 2 В, чего недостаточно...

Возможно, источник проблемы в подключении микросхемы HI-3582A/HI-3583A или разводке платы. Ну, или в сформированных временных диаграммах GPIF.

 

...Подскажите в какую сторону копать?

Отключите выводы HI-3582A/HI-3583A от GPIF (~EN1=1, ~EN2=1, ~MR=0), посмотрите и попробуйте примеры:

GPIF.rar из темы USB, EZ-USB FX2,

Archive.rar из темы прием данных из АЦП в ПК по USB.

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


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

С проблемой активного уровня разобрался. Просто одновременно происходила запись со стороны процессора и чтение со стороны микросхемы. Но вот вопрос с загрузкой переменной WaveData[128] остался актуальным. Исходный код могу скинуть, в чем может быть проблема?

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


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

Может это быть связано с компилятором? Я использую sdcc. Еще такое предположение, что записываются данные во внутреннюю память, а она только 256 байт. Как то можно "перенаправить" в external RAM, или может это настраивается как?

Изменено пользователем shambhala

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


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

Вообщем проблема решена. Было допущены две ключевые ошибки. Первая это то, что в компиляторе нужно разделить области программной памяти и памяти переменных. В этом контроллере они по-умолчанию имеют одинаковые адреса. Вторая - это косяк с переменной Wavedate[128], в даташите как и GPIF Designer она называется именно так. Но в стандартном .h файле (fx2regs.h) она объявлена как EXTERN xdata _AT_(0xE400) volatile BYTE GPIF_WAVE_DATA ; где правильно указан начальный адрес необходимый для этой переменной (0xE400).

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


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

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

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

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

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

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

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

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

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

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