|
USB-blaster на ATmega8, Вопрос по назначению битов |
|
|
|
Oct 22 2006, 17:50
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Нашел в Интернете следующую ссылку. 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 С уважением, Сергей.
Сообщение отредактировал BSACPLD - Oct 22 2006, 17:51
Прикрепленные файлы
sxema.pdf ( 56.93 килобайт )
Кол-во скачиваний: 697
|
|
|
|
|
 |
Ответов
|
Nov 2 2006, 20:25
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Тему "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
|
|
|
|
|
Nov 4 2006, 11:21
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(BSACPLD @ Nov 3 2006, 00:25)  1) опрос вывода TDO необходимо производить до записи в выходную защелку или после? До формирования отрицательного фронта TCKЦитата(BSACPLD @ Nov 3 2006, 00:25)  2) если бит 6 = '0', то ничего не нужно отправлять или же просто не обращать внимание на значение вывода TDO? Если бит 6 = '0', то не нужно опрашивать бит TDO и отправлять байт хост-контроллеру (в ПЭВМ) Цитата(BSACPLD @ Nov 3 2006, 00:25)  Вот код, может быть кто-нибудь сможет найти ошибку в алгоритме. До сегодняшнего дня мне не приходилось работать с ATmega8. В ответ могу предложить разобраться с работающим кодом для C8051F320 (см. procedure USB2JTAG.txt). Для выдачи и приема байтов используется SPI. Вместо SPI для приема и выдачи байтов по JTAG можно использовать MACRO (см. Read bit from TDO.txt)
|
|
|
|
Сообщений в этой теме
BSACPLD USB-blaster на ATmega8 Oct 22 2006, 17:50 vetal Скачанный вами вариант usb-blaster не поддерживает... Oct 22 2006, 18:19 BSACPLD Цитата(vetal @ Oct 22 2006, 22:19) Скачан... Oct 22 2006, 18:30 vetal 1. Если вы посмотрите на 2 ваиант бластера, то вы ... Oct 22 2006, 18:37 BSACPLD Цитата(vetal @ Oct 22 2006, 22:37) 1. Есл... Oct 22 2006, 18:41  Konst_777 Цитата(BSACPLD @ Oct 22 2006, 21:41) [Пон... Oct 24 2006, 20:54  BSACPLD Цитата(Konst_777 @ Nov 4 2006, 14:21) Цит... Nov 5 2006, 20:37   Konst_777 Цитата(BSACPLD @ Nov 6 2006, 00:37) Уважа... Nov 6 2006, 20:45    BSACPLD Цитата(Konst_777 @ Nov 6 2006, 23:45) Во-... Nov 6 2006, 21:17    Konst_777 Цитата(Konst_777 @ Nov 7 2006, 00:45) ...... Nov 7 2006, 18:26 BSACPLD Ура! Заработало!
Вот рабочий вариант Alte... Nov 13 2006, 20:44 Tran BSACPLD, спасибо за выложеный проект , я его пов... Nov 27 2006, 12:03 BSACPLD Цитата(Tran @ Nov 27 2006, 12:03) BSACPLD... Nov 28 2006, 11:27 WEST128 А будет ли данный программатор работать без логики... Dec 5 2007, 14:14 BSACPLD Цитата(WEST128 @ Dec 5 2007, 17:14) А буд... Dec 5 2007, 19:41  des00 Цитата(BSACPLD @ Dec 5 2007, 14:41) По ид... Dec 6 2007, 12:50   BSACPLD Цитата(des00 @ Dec 6 2007, 15:50) Добрый ... Dec 6 2007, 15:53 WEST128 Цитата(BSACPLD @ Dec 6 2007, 01:41) По ид... Dec 7 2007, 03:54 BSACPLD Цитата(WEST128 @ Dec 7 2007, 06:54) Спаси... Dec 7 2007, 19:33 des00 Добрый день!
Выкладываю верилог код для EPM3... Dec 7 2007, 06:51 alexf Цитата(des00 @ Dec 6 2007, 22:51) Добрый ... Dec 16 2007, 08:23  des00 Цитата(alexf @ Dec 16 2007, 03:23) я синт... Dec 17 2007, 03:55   alexf Цитата(des00 @ Dec 16 2007, 19:55) шарилс... Dec 17 2007, 08:24    des00 за VHDL спасибо, посмотрю на досуге.
по асм коду... Dec 17 2007, 10:28     RYury попробовал вериложный код для cpld от месячного и... Dec 17 2007, 16:08      des00 Цитата(RYury @ Dec 17 2007, 11:08) попроб... Dec 18 2007, 03:59    Konst_777 Цитата(alexf @ Dec 17 2007, 12:24) А вот ... Jan 21 2008, 18:49     alexander55 Тема очень интересная.
С Altera вопросы решены, те... Jan 22 2008, 07:32      misyachniy Решил и я попробовать NIOS Cyclone2.
В моем вариан... Jun 12 2008, 15:12       Konst_777 Может быть, все это из за слишком длинного шлейфа ... Jun 14 2008, 07:47       misyachniy Чудеса какие-то :-)
Я делал еще вариант USB Blaste... Jun 17 2008, 07:07        BSACPLD Цитата(misyachniy @ Jun 17 2008, 11:07) Ч... Jun 17 2008, 16:18        alexander55 Цитата(misyachniy @ Jun 17 2008, 11:07)
... Jun 18 2008, 07:58         misyachniy Цитата(alexander55 @ Jun 18 2008, 10:58) ... Jun 20 2008, 14:51 WEST128 Всем нравится, но ради интереса попробую сделать н... Dec 8 2007, 18:12 des00 Занятно, но тоже самое (изменил поведение только о... Dec 18 2007, 06:13 wired Хочу повторить девайсину http://njnmnp.narod.ru/us... Dec 30 2009, 09:22
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|