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

BSACPLD

Свой
  • Постов

    912
  • Зарегистрирован

  • Посещение

  • Победитель дней

    5

Весь контент BSACPLD


  1. SignalTap работает, с Nios не проверял, т.к. пользуюсь собственным процессором (самописный AVR ~2100 LE в Cyclone II). PS сейчас нет возможности проверить, поскольку нет под рукой нужной ПЗУ. P.S. В архиве поправил скриншот с конфигурационными битами.
  2. По идее должен работать, только медленнее, т.к. у ATmega8L fmax=8MHz. Я бы все таки поставил буферы, так, на всякий случай. Вместо 74AHC(T) можно поставить 74VHC(T). Во вложенном архиве модифицированный вариант на ATmega48 (работает несколько быстрее первой версии, поддерживает только PS и JTAG). Чтобы USB-blaster виделся Quartus'ом как USB-blaster Rev.B в UserArea кофигурационной EEPROM нужно с помощью EditEEPROM записать строчку "REVB" (без кавычек). EditEEPROM.rar AlteraFTv2.rar
  3. Делал bootloader для PIC18F252 на FTDI. При желании можно переписать под COM порт. Соединения: FTDI PIC RXD TXD TXD RXD RTS MCLR, pull-up 10 кОм DTR RC0, pull-up 10 кОм Пользовательская программа начинается с адреса 0200h. boot_pic.rar
  4. Глюк при стирании PIC

    Здравствуйте. При стирании PIC18F252 в программаторе SUPERPRO 280U стирание FLASH памяти не происходит. Но если попробовать зашить чистый МК, то все в порядке. В то же время программатор PICPROG абсолютно нормально и пишет и стирает тот же МК. Кто-нибудь сталкивался с таким глюком? Версия ПО самая последняя.
  5. Собственно говоря вопросы. Как создать ассемблерный проект для NIOS II? На C++ пожалуйста, а на ассемблере? Как делать ассемблерные вставки в C++? Пробовал как в Visual C++ asm { ассемблерный код } но при компиляции IDE почему-то ругается на фигурные скобки.
  6. Просто МК медленнее передает данные между FT245BM и программируемой схемой, чем оригинальный USB-blaster сделанный на CPLD. Можно попробовать использовать более быстрый МК.
  7. Ура! Заработало! :) Вот рабочий вариант AlteraFT.rar. Работает с 3,3В и 5В. Насколько я знаю оригинальный USB-blaster работает с напряжениями от 1,5В до 5В. В связи с этим возникли вопросы: 1) На чем Altera сделала свой преобразователь уровней? 2) Какие преобразователи уровней порекомендуете использовать? У меня есть следующий вариант. 5В --> 2,5В 74AHC125 2,5В --> 5В MAX903 или AD8041 в качестве компаратора, Vref = 1/2 Vtarget. В общем жду Ваши замечания и предложения по данному вопросу. AlteraFT.rar
  8. Эти сигналы отсутствуют потому, что диаграмма снята не с реального устройства, а смоделирована в Proteus'е. За объяснение работы диаграммы Вам большое спасибо. Буду исправлять ошибки, но наверное уже утром, а то наверняка попалю чего-нибудь ненароком :).
  9. До сегодняшнего дня мне не приходилось работать с ATmega8. В ответ могу предложить разобраться с работающим кодом для C8051F320 (см. procedure USB2JTAG.txt). Для выдачи и приема байтов используется SPI. Вместо SPI для приема и выдачи байтов по JTAG можно использовать MACRO (см. Read bit from TDO.txt) Уважаемый Konst_777! Если вам нетрудно взгляните, пожалуста, на временные диаграммы того, что у меня получилось. Правильно ли я разобрался в Вашем исходнике? Возник еще один вопрос: Когда на 5 бите '0' выходы обязательно переводить в 3-е состояние или их можно оставлять как есть? Написал небольшую тестовую программу. По идее она должна возвращать то же, что и в файле mylog.txt с сайта http://njnmnp.narod.ru/usbblaster/usbblaster.html, но почему-то в место 0x7C возвращает 0x7D. Может быть кто-нибудь у кого есть живой USB-blaster опробует ее и пришлет мне скриншот. Тогда по крайней мере можно будет выяснить в каком направлении дальше искать ошибки.
  10. Тему "USB byte blaster, нужна схема" читал. Перепробовал разные варианты - пока не работает. У меня возникли следующие вопросы: 1) опрос вывода TDO необходимо производить до записи в выходную защелку или после? 2) если бит 6 = '0', то ничего не нужно отправлять или же просто не обращать внимание на значение вывода TDO? Кстати эта EPM7064S нормально работала с ByteBlasterMV на 74AC244 и почему-то наотрез отказывалась работать с ByteBlasterMV на 74ABT244. Вот код, может быть кто-нибудь сможет найти ошибку в алгоритме. .include "m8def.inc" .def temp =r16 .def in_reg =r17 .def out_reg=r18 .equ RXF =PC2 .equ TXE =PC3 .equ WR =PC4 .equ RD =PC5 .equ LED =PB5 .cseg .org 0 rjmp begin .org 0x100 begin: ldi temp,high(RAMEND) out SPH,temp ldi temp,low(RAMEND) out SPL,temp ; Установка адреса стека. wdr ldi temp,(1<<WDCE)|(1<<WDE) out WDTCR,temp ldi temp,(0<<WDE) out WDTCR,temp ; Выключение WDT. ldi temp,0b00011110 out PORTB,temp ldi temp,0b00101111 out PORTC,temp clr temp out PORTD,temp ldi temp,0b00100000 out DDRB,temp ; Инициализация порта B ldi temp,0b00110000 out DDRC,temp ; Инициализация порта C clr temp out DDRD,temp ; Инициализация порта D clr in_reg clr out_reg start: loop_RXF: sbic PINC,RXF rjmp loop_RXF cbi PORTC,RD nop nop nop nop in in_reg,PIND sbi PORTC,RD sbrs in_reg,5 rjmp tri mov temp,in_reg andi temp,0b00111111 out PORTB,temp ldi temp, 0b00111111 out DDRB,temp metka: nop nop nop mov out_reg,in_reg sbrs in_reg,6 rjmp no_echo mov temp,in_reg in out_reg,PINC andi out_reg,0b00000011 andi temp, 0b11111100 or out_reg,temp no_echo: loop_TXE: sbic PINC,TXE rjmp loop_TXE ser temp out DDRD,temp sbi PORTC,WR out PORTD,out_reg nop nop nop nop cbi PORTC,WR clr temp out DDRD,temp rjmp start tri: ldi temp,0b00100000 out DDRB,temp mov temp,in_reg andi temp,0b00111111 out PORTB,temp rjmp metka .exit
  11. Понятно. Буду разбираться со вторым вариантом USB-blaster. Как только будет результат - напишу. Спасибо за ответы. С уважением, Сергей.
  12. Поиском уже пользовался, но - безуспешно. А если он не поддерживает JTAG, то как же он шьёт MAX-ы? Автор писал, что цитата: "Успешно протестированы семейства MAX3000, MAX7000, ACEX, Cyclone :-)".
  13. Нашел в Интернете следующую ссылку. http://njnmnp.narod.ru/usbblaster/usbblaster.html Решил повторить, но заменить EPM3064 микроконтроллером ATmega8. После подключения устройство определяется как Altera USB-blaster, но при попытке прошить EPM7064 выдает ошибку. В связи этим решил спросить у Вас о назначении битов и начальном состоянии выводов. Выход. D0 - TCK D1 - TMS D2 - не используется в режиме JTAG D3 - не используется в режиме JTAG D4 - TDI D5 - ? D6 - ? D7 - ? Вход. D0 - TDO D1 - не используется в режиме JTAG D2-D7 - отправляем то же, что и было Начальное состояние выводов Z или D0 - 0 D1 - 1 D2 - 1 D3 - 1 D4 - 1 D5 - ? .include "m8def.inc" .def temp =r16 .def in_reg =r17 .def out_reg =r18 .equ RXF =PC2 .equ TXE =PC3 .equ WR =PC4 .equ RD =PC5 .equ LED =PB5 .cseg .org 0 rjmp begin .org 0x100 begin: ldi temp,high(RAMEND) out SPH,temp ldi temp,low(RAMEND) out SPL,temp ; Установка адреса стека. wdr ldi temp,(1<<WDCE)|(1<<WDE) out WDTCR,temp ldi temp,(0<<WDE) out WDTCR,temp ; Выключение WDT. ldi temp,0b00011110 out PORTB,temp ldi temp,0b00101111 out PORTC,temp clr temp out PORTD,temp ldi temp,0b00111111 out DDRB,temp ; Инициализация порта B ldi temp,0b00110000 out DDRC,temp ; Инициализация порта C clr temp out DDRD,temp ; Инициализация порта D clr in_reg clr out_reg start: loop_RXF: sbic PINC,RXF rjmp loop_RXF cbi PORTC,RD nop nop nop nop in in_reg,PIND sbi PORTC,RD mov temp,in_reg in out_reg,PINC andi out_reg,0b00000011 andi temp, 0b11111100 or out_reg,temp out PORTD,out_reg loop_TXE: sbic PINC,TXE rjmp loop_TXE ser temp out DDRD,temp sbi PORTC,WR nop nop nop nop cbi PORTC,WR clr temp out DDRD,temp mov temp,in_reg com temp andi temp,0b11000000 brne led_on led_off: mov temp,in_reg ori temp,(1<<PB5) andi temp,0b00111111 out PORTB,temp rjmp start led_on: mov temp,in_reg andi temp,0b00011111 out PORTB,temp rjmp start .exit С уважением, Сергей. sxema.pdf
  14. Проблема решена. Оказалось, что надо было заземлить экран USB разъема на землю устройства. Видимо это были наводки с кабеля.
  15. Глюк DLP-USB232M

    Есть устройство на DLP-USB232M. Питание от USB, фильтрующие конденсаторы керамика 0,1 мкФ на логику и 1,5 мкФ танталовый возле вывода reset. Кабель длиной 3 метра USB2.0 Full Speed. К устройству подключается плата с сигнальным процессором. Когда рядом с устройством включается мощный блок питания устройство самопроизвольно выпадает в спящий режим. Кто-нибудь сталкивался с такой проблемой? схема.pdf
  16. ATmega48 и BOD

    Всем спасибо за внимание. Проблема решена. Оказалось, что между AVCC и +5В был плохой контакт и АЦП не был запитан как положено, видимо питание поступало от VCC через внутренние узлы МК и было где-то между 2.7V и 4.3V.
  17. ATmega48 и BOD

    Питание 4.9V (от USB), причем PIC18F252 с Vbod=4.5V работает нормально.
  18. ATmega48 и BOD

    Добрый день! У меня следующая проблема. Устройство на ATmega48. При прошивке BODLEVEL2..0 = 101 (2.7V) устройство работает нормально. Как только я ставлю BODLEVEL2..0 = 100 (4.3V) устройство не хочет запускаться. У меня ATmega48 Rev.A. Кто-нибудь сталкивался с такой проблемой? Прошиваю следующим программатором: http://www.mcu-cpld.narod.ru/ATprog2232.html С уважением, Сергей.
  19. к сожалению только в Москве
  20. Насчет ~10mV не знаю, но вот синусоиду 27МГц ~80mV рисует просто классно (измерялся сигнал ~800mV с делителем на 10, 15mV/деление). Максимальное разрешение ~5mV/деление.
  21. А может для ровного счета за 7000? P.S. Кстати а Вы случайно не знаете где можно купить TDS-1012 подешевле?
  22. С1-94 + HP-9060 проданы за 2000 руб. осталось: PCS500 8750 руб. STK500 3000 руб.
  23. Ладно PCS500 10000 руб., STK500 3200 руб. Если много - Ваша цена.
×
×
  • Создать...