плата с ПЛИСиной довольно дорогая штука (раза в 2 дороже техасской)
Не совсем так, стоимость минимального набора ПЛИС+ОЗУ порядка 2 тыр.(не в рекламных целях - стартеркит)
Изготовление выйдет дороже однозначно.
Да именно это (к стартер киту присматривался в терре) я и имел в виду . Готовая отладочная плата, в этом плане неоценимо более удобна. Там и загрузчик удобный, и соответствующая периферия... да и самому делать, ужасно лень, я мало делал цифровые железки (паяю в основном аналоговые загогулины), цифра интересна то же, но паять её почему то дико не охото, да и сноровки нет... Так может кто нить по поводу техаса что то скажет?
Где-то валяется похожий отладчик, но на 5505.
На русском ресурсе TI раньше была размещена литература и какие то примеры.
В принципе, если смотреть на динамику, то каждые 1..2 года появляется похожий стартовый комплект с очередной цифрой (5505,5515,5535.. следующий будет наверное 5555).
Берите, раз есть стремление.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
VannO))) писал(а):вопрос по 8-битным AVR
существует ли возможность за 1 такт записать данные в несколько портов? 8 бит в портА и 8 бит в портБ, например?
нет
битва с дураками проиграна, победители торжествуют. слава победителям!
Честно говоря я так и не понял из слов Метеора как мне выдать сигнал разрешения записи нужной длительности. Решил воспользоваться командой after. Т.е. как только вся 32-разрядная шина заполнена битами - разрешаем запись и затем запрещаем. Не слишком ли это извращённый вариант? Только остался вопрос по поводу синхронизации этого разрешающего сигнала и клока идущего на Фифо. Как правильно их отсинхронизировать? Или синхронизация необязательна и возможно без неё организовать правильный процесс записи?
Meteor писал(а):Где-то валяется похожий отладчик, но на 5505.
На русском ресурсе TI раньше была размещена литература и какие то примеры.
В принципе, если смотреть на динамику, то каждые 1..2 года появляется похожий стартовый комплект с очередной цифрой (5505,5515,5535.. следующий будет наверное 5555).
Берите, раз есть стремление.
Т. е. Вы хотите сказать, что имеет смысл взять... Ясно, спасибо
...
PORT(
clk, data_ena, data, data_clk:in std_logic;
Dout:out std_logic_vector(31 downto 0)
);
....
Architecture бла бла бла
signal strobe_dt:std_logic:='0';
....
process(clk)
variable buf:unsigned(3 downto 0):="0000";
begin
if(rising_edge(clk))then
buf(3 downto 1):=buf(2 downto 0);
buf(0):=data_ena;--сдвиг сигнала разрешения приема данных
if(buf="1110")then
strobe_dt<='1';--формируем передний фронт сигнала записи данных в FIFO.
elsif(buf="1100")then
strobe_dt<='0';--формируем задний фронт
end if;
end if;
.....
end process
Так и не получается оживить Atmega8A-PU. До этого работало все и не на одном МК. Программатор прошивает, но толку нет.
Купил новый МК, поставил, не пашет. Даже фьюзы в начале не крутил. Сейчас фьюзы L:E4 H:D9. Пробовал разные. Вообще ни на что не реагирует МК. Шьется, но не стартует программа (судя по всему). Ставлю все порты на выход и в 0. Не стартует. Вообще никакой реакции, на все ноги дает 3.8 вольта или более (я мультиметром мерил...ничего лучше нету). Напряжение питания МК берется от программатора и равно 4.8 вольт...хотя должно быть 5В...почему на нем 4.8, не знаю. Программатор stk500v2.0
Как все было:
1. Долго с схемой не возился, решил доделать. Она на макетке.
2. Подрубил программатор через шнурок УСБ без экранизации (может быть важно). Он что то не заработал...вообще не определился. В логх (у меня линух) написал, что УСБ устройство подрублено но что за зверь неясно.
3. Подрубил через нормальный шнур (чрез который ранее все пахало на этом и других МК...хотя то же без экранизации). Программатор определился и начал шить.
4. Но схема не врубилась.
5. Разобрал схему.
6. Оставил один МК.
7. Питание МК от самого программатора по шнуру (так и было все время, даже полноценная схема нормально работала).
8. Шьёт, но МК не стартует. То есть. Сейчас просто программатор подрублен через ISP к МК. Все шесть контактов включая питание. Прошиваю. Раньше он стартовал, теперь же не стартует вообще никак. Питается МК от программатора через ISP, повторяю, так все работало ранее.
9. Иногда перестал определятся программатор, пишет, что не может соединится с ним или ошибку какую...такого ранее не было.
Вопросы:
1. Может такое быть, что программа и фьюзы на МК заливаются, проверяются (считываются и сравниваются),
а при этом программатор не работает?
2. Может такое быть, что это все связанно с обновлением моего ПО на компе? Ядро на линух новое там или еще что.
3. В чем может быть еще дело? 3 МК, ни один не пашет и все шьются...во всяком случае по логам так выходит, все проверки, чтения и записи проходят на ура. Может ему от программатора питаться не нравится теперь? Тогда почему ранее нравилось?
Напряжения питания 4.8 вольт с программатора можно получить и 3.3В. Там перемычка есть. В документации написано, что там должно быть 5В и 3В...может тут собака?
Заранее спасибо за ответы...все перепробовал, а не помогает.
Прочитайте с него прошивку и сравните с вашей diff'ом или md5sum. Попробуйте подать частоту от внешнего генератора на ногу МК. По фузам сейчас он от чего тактируется? На ноги питания повесьте керамику.
По фузам он тактуется от внутреннего генератора.
Прошивку считал такой командой:
avrdude -pm8 -cstk500v2 -P/dev/ttyUSB0 -U flash:r:./firmware.hex:i
В результате:
1. Сигнатура с девайса прочлась, определил атмегу8.
2. Прошивка, считанная с МК, отличается от той, что лежит в папке проекта. Но. Когда шьется он проверяет ее и говорит, что все верно! Причем размеры hex файлов отличаются от того, какой размер выдает он при прошивке в логах! Но тут подозреваю дело в том, что он заливает образ всей памяти, в которой занято не все пространство. Файлы прошивок в приложении...может кому что скажут.
3. Может это все быть связано с длинной провода от программатора до МК?
Вот полный лог:
avrdude -pm8 -cstk500v2 -P/dev/ttyUSB0 -U flash:w:avr2.hex:i
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x1e9307
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "avr2.hex"
avrdude: writing flash (2874 bytes):
С хексами я затупил. Они по идее не должны совпадать.
По питанию шунтировали керамикой у ног? Хрень какая-то, если честно. Покажите исходник и опции gcc..
Да сам понимаю, что хрень. Программатор перестал определятся совсем.
Даже если совсем отрубить схему от него, больше не определяется.
USB UART конвертер по прежнему видать в логах, подрубается и все как надо,
а программатор отвечать перестал.
Раньше такое пару раз было, но потом проходило. Теперь все время.
Почему, не знаю...по колупаюсь еще.
Хотел сделать обычное мигание по внешнему прерыванию. Нишиша не работает, причем уровни вообще не пойму как устанавливаются когда SEI (разрешение глобальных прерываний).
.include "m8def.inc"
.cseg
.org 0
rjmp start
ext_int0:
sbis PIND,2
rjmp main
rjmp func
reti
start:
;===== Разрешение прерывания INT0 ====
sei
ldi R20,1
out MCUCR,R20 //по любому изменению сигнала
ldi R20,0b01000000 //разрешает внешнее прерывание с int0
out GICR,R20
;===== Инициализация стека======
ldi R16,high(RamEnd)
out SPH,R16
ldi R16,low(RamEnd)
out SPL,R16
;===== Настройка портов =====\
ldi R17,255 //порт С на выход
out DDRC,R17
cbi DDRD,2 //ножка int0 как вход с подтяжкой
sbi PORTD,2 //не знаю надо ли это
func:
sbi PORTC,0
cbi PORTC,1
rjmp func
main:
sbi PORTC,1
cbi PORTC,0
rjmp main
Так и не работает. Даже внешнее питание через стабилизатор сделал...не помогает.
Все порты в 3.8 вольт и все, никаких реакций. Сбрасываю все в 0, должно быть около вольта
максимум. Все равно 3.8В стоит мертво. Даже если моргать вольтаж не меняется.
Ранее просто при подключении по ISP программатора (все шесть контактов) схема
запускалась, потом прошивал, она сбрасывалась и продолжала работать.
Теперь уже и МК менял, не помогает. При этом память и заливается и проверяется.
Уже подозреваю, что дело в самой макетной плате...далее только луна и гороскопы.
Всем привет! Ковыряю стиларис. Настало время отлаживать юсб интерфейс. КАк это можно сделать? Перечитал много сайтов. Везде отталкиваются от виртуального ком порта. т.е. юсб через уапп делают.
Можно ли как нить подключиться на прямую к компу и пытаться посылать данные . которые отображались бы на мониторе? какой программой лучше воспользоваться? впервые с юсб работаю и понятия не имею с чего начать
Chip115 писал(а):Можно ли как нить подключиться на прямую к компу и пытаться посылать данные . которые отображались бы на мониторе? какой программой лучше воспользоваться? впервые с юсб работаю и понятия не имею с чего начать
USB "командиром" всегда в данном случае должен быть компьютер. Ваш стелларис должен слать данные в ответ. Больше не скажу ничего - до такого сумасшествия еще не доходил
У тексиса разве нет ничего на сайте?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже