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

Запускаю SX2

Собрал макетную плату к параллельной шине подключил ATmega8 которая в свою очередь управляется от PC через RS232. Сейчас ситуация следующая: при подключении к USB микросхема распознается, читается VID PID и.т.д. Могу передають данные от PC к SX2 через USB при помощи панели CyConsole с драйвером CyUSB.sys читаю через ATmega8 вроде все правильно. Но как только пытаюсь записать в SX2 что то через параллельную шину т.е. подаю 0 на SLWR, SX2 начинает жрать кучу тока, падает напряжение питания и перестает работать кварц и SX2 пропадает с шины USB. Проверил все тестером тыкал на SLOE, SLWR, ADR0-2 все правильно, на всякий случай на параллельную шину SX2 поставил резисторы 1кОм; то же самое. Собрал вторую макетную плату работает точно так же как и первая я в отчаянии. Может у кого были подобные симптомы поделитесь рецептом или есть сгоревшие образцы которые не работают так же как и мои и надо собирать третью макетную плату.

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


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

т.е. подаю 0 на SLWR, SX2 начинает жрать кучу тока, падает напряжение питания и перестает работать кварц и SX2 пропадает с шины USB.

 

Куча, это скока? И вкаком режиме(синхронный или асинхронный)?

 

на всякий случай на последовательную шину SX2 поставил резисторы 1кОм;

 

Где у него такая шина?

 

Проверил все тестером тыкал на SLOE, SLWR, ADR0-2 все правильно,

 

ПРи включении SLOE - Data шина в высокоимпедансное состояние уходит?

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


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

1. ток не мерял но стабилизатор 3.3В на 1А должно хватать; SX2 работает в асинхронном режиме так как ATmega8 в синхронном не успеет.

2. Сори действительно оговорился имелось в виду параллельная шина (уже исправлено).

3. Шина уходит в высокоимпедансное состояние так как падение напряжения на резисторая 1кОм 0.2В а ATmega8 питается от 5В.

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


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

1. ток не мерял но стабилизатор 3.3В на 1А должно хватать; SX2 работает в асинхронном режиме так как ATmega8 в синхронном не успеет.

2. Сори действительно оговорился имелось в виду параллельная шина (уже исправлено).

3. Шина уходит в высокоимпедансное состояние так как падение напряжения на резисторая 1кОм 0.2В а ATmega8 питается от 5В.

А что мешает атмегу на 3.3 вольта включить?

На сколько я силен в смехотехнике, там входы от перенапряжения защищены диодами подключенными к 3.3 вольтам. То есть, все твои 5 вольт будут через эти диоды до 3.9 коротиться. Попробуй у атмеги снизить питание до 3.9...

Что тебе мешает включать по одному биту на портах атмеги?

Кстати, когда пишешь в Супрес, то ендпоинт должен подключаться типа IN. Это делается пинами FIFOADDR[2..0]. То есть для тебя: или 010 или 011.

Либо ты перепутал полярность при конфигурации(например того же SLWR)...

А, то вообще, сопля на этом проводе. Тестером на КЗ проверь. Хотя, я не думаю, что один порт атмеги может 1ампер пропустить(если только сопля не на 5 вольт)... Кстати, при включении IN-ендпоинта, микруха сама должна переводить данные в Z состояние. SLOE не нужен(хотя подробностей не помню)...

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


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

Зачем в даташите в схеме питание на AVCC подаеться через RC цепочку?

 

Называется - развязывающий фильтр.

480 мегагерц шоб по плате не гуляло.

В твоём случае - вещь абсолютно бесполезная. У меня этой цепочки тоже нету.

Кстати, обрати внимание на номинал резистора.

Надеюсь, у тебя все выводы Vcc зашунтированы 0.1микрофарадами...

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


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

Зачем в даташите в схеме питание на AVCC подаеться через RC цепочку?

 

Называется - развязывающий фильтр.

480 мегагерц шоб по плате не гуляло.

В твоём случае - вещь абсолютно бесполезная. У меня этой цепочки тоже нету.

Кстати, обрати внимание на номинал резистора.

Надеюсь, у тебя все выводы Vcc зашунтированы 0.1микрофарадами...

 

Зашунтированы.

Я вообще сейчас плату переразвожу (до этого не я разводил) и ставлю новую микруху. Потому что как я не пытался ее заставить заработать, так она и не заработала. Винда пишет, что найдено новое устройство, но оно не опознано.

Единственное что, я не могу из реестра удалить нулевые пиды (пишет что из-за ошибки не возможно удаление всех ключей).

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


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

Коллеги!

Есть плата: DSP (хост процессор) соединен с CY7C68001 по параллельной шине, также на плате предусмотренна EEPROM.

Пытаюсь инициализировать CY7C68001.

Ситуация №1: Инициализация через EEPROM. Прописываем

C4,C9,00,C4,47,05,02,10,00,01. После инициализации супраса таким образом PC определяет новое устройство положенным образом. Но при этом Host процессор не может установить связь с супрасом (супрас не отвечает на запросы)

Ситуация №2: Инициализация через host процессор (изначально в этом случае host видит супресс). Прописываем

VID, PID, DID (для использования дескриптора по умолчанию). Проверка показывает (чтение супраса хост процессором), что VID, PID, DID прописались правильно. Однако PC не идентифицирует новое устройство.

В чем может быть проблема?

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


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

Коллеги!

Есть плата: DSP (хост процессор) соединен с CY7C68001 по параллельной шине, также на плате предусмотренна EEPROM.

Пытаюсь инициализировать CY7C68001.

Ситуация №1: Инициализация через EEPROM. Прописываем

C4,C9,00,C4,47,05,02,10,00,01. После инициализации супраса таким образом PC определяет новое устройство положенным образом. Но при этом Host процессор не может установить связь с супрасом (супрас не отвечает на запросы)

Ситуация №2: Инициализация через host процессор (изначально в этом случае host видит супресс). Прописываем

VID, PID, DID (для использования дескриптора по умолчанию). Проверка показывает (чтение супраса хост процессором), что VID, PID, DID прописались правильно. Однако PC не идентифицирует новое устройство.

В чем может быть проблема?

 

Драйвер чей?

Вообще, у супресса ендпоинты с двойной буфферизацией(по умолчанию), так, что после CreateFile(); Можно, например, отправить два пакета по 512 в каждый ендпоинт 2 или 4. Третий пакет - подвесит приложение. Если этот механизм работает, то косяк в согласовании с ДСП.

Ситуация№2 - не ясна абсолютно...

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


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

Коллеги!

Есть плата: DSP (хост процессор) соединен с CY7C68001 по параллельной шине, также на плате предусмотренна EEPROM.

Пытаюсь инициализировать CY7C68001.

Ситуация №1: Инициализация через EEPROM. Прописываем

C4,C9,00,C4,47,05,02,10,00,01. После инициализации супраса таким образом PC определяет новое устройство положенным образом. Но при этом Host процессор не может установить связь с супрасом (супрас не отвечает на запросы)

Ситуация №2: Инициализация через host процессор (изначально в этом случае host видит супресс). Прописываем

VID, PID, DID (для использования дескриптора по умолчанию). Проверка показывает (чтение супраса хост процессором), что VID, PID, DID прописались правильно. Однако PC не идентифицирует новое устройство.

В чем может быть проблема?

 

Блин - понял...

Со второй ситуацией обожди. Пока заведи на епромине. И забудь пока, о существовании ДСП. Зацепи игрушку к ПК, и зашли в ендпоинт2 пакет. Тестером пощупай флаги. Попереключай FIFOADDR. Потом ещё один пакет. Опять флаги посмотри. Опорожни ендпоинт в синхронном режиме(коротнув SLRD). Опять содержимое флагов оцени.

Потом, пробуй читать приложением. Приложение повиснет. И будет ждать когда, ты коротнёшь SLWR...

Кароче, посмотри как это всё работает, а уж потом будешь весь из себя - крутой программер у которого все блоки с первого раза заработали...

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


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

Приветствую!

Кто-нибудь работал с драйверами от Jungo?

каких скоростей удовалось достич?

ps я планирую использовать CY7C68001

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


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

При первом знакомстве с этим драйвером выявилось следующее:

PC не может принят от устройства посылку более 64 байт. Приняв 64 байта происходит выход из процедуры чтения, хотя ожидаемый пакет: несколько килобайт.

использую следующие pipe:

pipe $2 на запись

pipe $86 на чтение

процедура: WDU_Transfer

Что харрактерно: windriverwizard также не может принят более 64 байт, при этом замечено что PC генерит 8мс паузы между этими пакетами (в режиме прослушивания)...

Кто нибудь может подсказать где собака зарыта?

Есть подозрения что дело во размерах входного буфера USb со стороны PC, если это так, то как изменить его настройки (размер)?

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


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

При первом знакомстве с этим драйвером выявилось следующее:

PC не может принят от устройства посылку более 64 байт. Приняв 64 байта происходит выход из процедуры чтения, хотя ожидаемый пакет: несколько килобайт.

использую следующие pipe:

pipe $2    на запись

pipe $86  на чтение

процедура: WDU_Transfer

Что харрактерно: windriverwizard также не может принят более 64 байт, при этом замечено что PC генерит 8мс паузы между этими пакетами (в режиме прослушивания)...

Кто нибудь может подсказать где собака зарыта?

Есть подозрения что дело во размерах входного буфера USb со стороны PC, если это так, то как изменить его настройки (размер)?

 

У меня буфер(физический) 4 килобайта, а драйвер берёт 64килобайта.

Так, что - фигня это всё.

К тому же, через какой эндпоинт данные гонишь?

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


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

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

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

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

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

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

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

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

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

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