|
avreal, новая версия (если кому-то это ещё нужно) |
|
|
|
Oct 5 2008, 15:45
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Не знаю, насколько это имеет смысл в свете имеющейся информации о будущем Атмел, но подоспела очередная версия avreal. Добавлен наконец-то замер времени обращения к LPT для всех ОС и добавлено несколько новых кристаллов. Кстати, о времени обращения к LPT - поднятый для экспериментов с Win98 старый пень-166 вне конкуренции. Одна и та же физически плата PCI-LPT на Q6600/ASUS M2N-SLI что под XP, что дос-версией при загрузке с дискетки даёт около 0,75мкс/обращение (программный замер достаточно хорошо совпадает с замером по осциллографу), а на том старом пне - около 0,25мкс. Одна шина PCI, никаких лишних мостов по дороге, простота...
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
 |
Ответов
(330 - 344)
|
Jul 10 2013, 08:04
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(sevstels @ Jul 10 2013, 14:22)  Но usbblstr*.dll программатором Квартуса не вызывается. Видимо из jtagserver. usbblstr* это просто переименованные драйвера от ftdi, они не могут не вызываться. с ними и работать надо, как просто с ft245, какой бит что значит выше описано, расковырять квартус чтобы найти более высокоуровневую библиотеку для бластера вряд ли получится проще будет самому написать static char cmd = 0; //nCS high if bit 3 was set (0x08), otherwise low void SetCS(int level){ if (level) cmd |= 0x08; else cmd &= ~0x08; cmd &= 0x3F; FT_Write(..., &cmd, 1, ...); }
|
|
|
|
|
Jul 10 2013, 08:47
|

Знающий
   
Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910

|
>>вряд ли получится Посмотрим... >>FT_Write(..., &cmd, 1, ...); Это понятно... Не понятно другое. 1. Как тогда программировать байт? 2. Чем байт данных будет отличаться от команды установки пинов? 3. Как инициализировать MCU адаптера? У меня такое железо, внутри только чип Cypress. И протокол отличается. Если без какой либо инициализации вписать 1 байт, FT_Write(0xAA), то на выходе адаптера получаем 8 последовательных импульсов CLK и на выходе данных 1 0 1 0 1 0 1 0 Те, похоже, что поддерживается пакетный режим программирования. Который надо предварительно инициализировать "особым" набором команд, и затем на выход бластера автоматически вписывается страница из 256 последовательных байт, пришедших от PC. Так же автоматически генерится CLK и CS.
--------------------
|
|
|
|
|
Jul 10 2013, 09:46
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(sevstels @ Jul 10 2013, 15:47)  >>FT_Write(..., &cmd, 1, ...); Это понятно... Не понятно другое. 1. Как тогда программировать байт? 2. Чем байт данных будет отличаться от команды установки пинов? 3. Как инициализировать MCU адаптера? 1,2 старший бит переключает режимы. 3. в оригинальном BB никакого MCU нет, соответственно инициализировать ничего не надо, а данный китайский адаптер должен вести себя абсолютно как ft245b, иначе квартус с ним работать не будет. https://github.com/swetland/jtagтут пример работы с ВВ через libusb, но протокол тот же самый. Цитата(sevstels @ Jul 10 2013, 15:47)  Те, похоже, что поддерживается пакетный режим программирования. Который надо предварительно инициализировать "особым" набором команд, и затем на выход бластера автоматически вписывается страница из 256 последовательных байт, пришедших от PC. Так же автоматически генерится CLK и CS. вы описание протокола читали? там написано что делает старший бит. попробуйте послать подряд более чем 63 байта 0х00, это наверняка должно переключить его в режим ногодрыгания.
|
|
|
|
|
Jul 10 2013, 10:06
|

Знающий
   
Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910

|
ОК, спасибо сейчас потестю. Кстати команда: >> //nCS high if bit 3 was set (0x08), otherwise low После передёргивания питания управляет пином номер 8 разьёма, который есть TRST а не CS.
Сообщение отредактировал sevstels - Jul 10 2013, 10:12
--------------------
|
|
|
|
|
Jul 10 2013, 10:33
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(sevstels @ Jul 10 2013, 17:06)  Кстати команда: >> //nCS high if bit 3 was set (0x08), otherwise low После передёргивания питания управляет пином номер 8 разьёма, который есть TRST а не CS. не вижу CS на картинке. у альтеры несколько иное мнение по поводу распиновки их собственного программатора, но китайцам, конечно, виднее как оно должно быть.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|