|
|
  |
avreal, новая версия (если кому-то это ещё нужно) |
|
|
|
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
|
|
|