Мелкие вопросы по МК и ПЛИС.
- ximik
- Потрогал лапой паяльник
- Сообщения: 301
- Зарегистрирован: Вс ноя 07, 2010 14:48:55
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
У меня дело явно не в программаторах все 2 работают исправно проверил на тини 2313)
может дело в разводке переходника? проверьте пожалуйста, хотя делал все согласно даташиту) дорожки между собой не коротят..
может дело в разводке переходника? проверьте пожалуйста, хотя делал все согласно даташиту) дорожки между собой не коротят..
- Вложения
-
- переходник.jpg
- (140.47 КБ) 564 скачивания
Если болит голова, значит она есть!)
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Ruslan-maniak писал(а):Последовательный код ... взял его таким: линия данных, линия клок, и линия с сигналом который принимает значение 1 при отправке первого бита и становится равным нулю при отправке последнего бита 4-байтового пакета.
Не вдаваясь в подробности - протокол SPI. Есть линия данных, линия тактирования и линия выбора устройства
Ruslan-maniak писал(а): Если честно, я не очень понял что вы мне посоветовали? Под сигналом записи фифо вы подразумеваете сигнал на разрешение записи, или клок для фифо? И как это ставить автомат в режим ожидания?
Рассмотрим вариант решения. Имеем:
Тактовая частота 100 МГц и протокол синхронный.
Решение: (опишу в абстракциях)
Назначаем буфер в 4 разряда. Тактирование буфера производим передним фронтом основной частоты, т.е. каждым фронтом перезаписываем данные в буфере от разряда к разряду(сдвиговый регистр). В младший\старший разряд (не важна суть с какой стороны) записываем сигнал строба данных.(пусть будет младший)
При передаче последнего бита данных, ловим задний фронт строба (значение 1110). Как только появляется эта комбинация - разрешаем запись или просто формируем передний фронт сигнала записи. При комбинации 1100, формируем задний фронт сигнала записи буфера FIFO.
Все остальные комбинации не будут иметь никакого значения
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
-
Ruslan-maniak
- Открыл глаза
- Сообщения: 40
- Зарегистрирован: Вт янв 18, 2011 08:15:32
Re: Мелкие вопросы по МК и ПЛИС.
Значит основная идея - это в сдвиговый регистр вместе с тактовой частотой протокола ввода данных, также ввести частоту которой тактируется FIFO. И уже от неё плясать(по времени) при выдачи сигнала разрешения записи. Так? Чёт туплю я. С МК как-то проблематично перейти на плисы для меня.
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
ximik писал(а):может дело в разводке переходника? проверьте пожалуйста, хотя делал все согласно даташиту) дорожки между собой не коротят..
Ставим плюсы: )
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Ruslan-maniak писал(а):Значит основная идея - это в сдвиговый регистр вместе с тактовой частотой протокола ввода данных, также ввести частоту которой тактируется FIFO. И уже от неё плясать(по времени) при выдачи сигнала разрешения записи. Так?
Нет не так. Заводить с частотой FIFO в сдвиговый регистр сигнал присутствия данных. И в этом буфере искать момент окончания передачи, иными словами максимально синхронно выделять задний фронт импульса(см файл). Затем уже записывать в память.
Ruslan-maniak писал(а): С МК как-то проблематично перейти на плисы для меня.
Вы не первый - мозг надо переформатировать, а на это надо время
- Вложения
-
- search_edge.JPG
- (28.72 КБ) 911 скачиваний
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- ximik
- Потрогал лапой паяльник
- Сообщения: 301
- Зарегистрирован: Вс ноя 07, 2010 14:48:55
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
ibiza11 писал(а):
А смысл? когда они между собой и так коротят? (проверял мультиметром по тому и развел так) или я чего то особенного не знаю ??
Если болит голова, значит она есть!)
- Engineer_Keen
- Друг Кота
- Сообщения: 3868
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
GND действительно должны коротить, но все равно неплохо бы соединить их внешней разводкой.
А вот VCC и AVCC коротить не должны (хотя были какие-то серии контроллеров с ошибочной перемычкой внутри самого чипа). Да и не зря в разделе ДШ на МК про программирование нарисовано что и VCC и AVCC подключены к питанию.
А вот VCC и AVCC коротить не должны (хотя были какие-то серии контроллеров с ошибочной перемычкой внутри самого чипа). Да и не зря в разделе ДШ на МК про программирование нарисовано что и VCC и AVCC подключены к питанию.
- ximik
- Потрогал лапой паяльник
- Сообщения: 301
- Зарегистрирован: Вс ноя 07, 2010 14:48:55
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
Engineer_Keen писал(а):GND действительно должны коротить, но все равно неплохо бы соединить их внешней разводкой
соединил все VCC и GND проводком припаянном к мк, как и предполагалось не помогло
между VCC и AVCC есть некое большое сопротивление их не коротил)
не могу всё таки понять в чем дело почему же тиньки в лет шьются, а мега 88 и 48 вобще не как.... хоть и новые..
Если болит голова, значит она есть!)
- Engineer_Keen
- Друг Кота
- Сообщения: 3868
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
ximik писал(а):соединил все VCC и GND проводком припаянном к мк
Надеюсь это следует читать как все VCC и все GND, а не все VCC с GND одним проводком
ximik писал(а):между VCC и AVCC есть некое большое сопротивление их не коротил)
Так их соединили вместе или нет?
- ximik
- Потрогал лапой паяльник
- Сообщения: 301
- Зарегистрирован: Вс ноя 07, 2010 14:48:55
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
Engineer_Keen писал(а):ximik писал(а):соединил все VCC и GND проводком припаянном к мк
Надеюсь это следует читать как все VCC и все GND, а не все VCC с GND одним проводком
ximik писал(а):между VCC и AVCC есть некое большое сопротивление их не коротил)
Так их соединили вместе или нет?
1) естественно + с - сом не коротил)
2) нет ) на замер мультиметром показывает 739
Если болит голова, значит она есть!)
- Engineer_Keen
- Друг Кота
- Сообщения: 3868
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
Так о чем речь шла уже несколько постов. VCC и AVCC нужно соединить.
- Вложения
-
- VCC_AVCC.PNG
- (18.02 КБ) 287 скачиваний
- ximik
- Потрогал лапой паяльник
- Сообщения: 301
- Зарегистрирован: Вс ноя 07, 2010 14:48:55
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
Engineer_Keen писал(а)::facepalm:
Так о чем речь шла уже несколько постов. VCC и AVCC нужно соединить.
Если болит голова, значит она есть!)
- Engineer_Keen
- Друг Кота
- Сообщения: 3868
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
Ну тогда не знаю в чем еще может быть проблема. Вроде по фотке ISP правильно разведено... 

- ximik
- Потрогал лапой паяльник
- Сообщения: 301
- Зарегистрирован: Вс ноя 07, 2010 14:48:55
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
может синапроговский тест контроллера поможет определить в чем трабл? (промтовский перевод читал)
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x1e930f
avrdude: Expected signature for ATMEGA88 is 1E 93 0A
Double check chip, or use -F to override this check.
avrdude done. Thank you.
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x1e930f
avrdude: Expected signature for ATMEGA88 is 1E 93 0A
Double check chip, or use -F to override this check.
avrdude done. Thank you.
Если болит голова, значит она есть!)
- Engineer_Keen
- Друг Кота
- Сообщения: 3868
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
Получается прочиталась как mega88PA? Честно говоря не знаю чем A отличается от PA с точки зрения прошивки...
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Ruslan-maniak писал(а):Значит основная идея - это в сдвиговый регистр вместе с тактовой частотой протокола ввода данных, также ввести частоту которой тактируется FIFO. И уже от неё плясать(по времени) при выдачи сигнала разрешения записи. Так? Чёт туплю я. С МК как-то проблематично перейти на плисы для меня.
Можно и по-другому. Сдвиговый регистр тактировать частотой SPI. Но тогда будут 2 клок-домена: один с частотой SPI, другой - с частотой FIFO (100 МГц). При переходе из одного домена в другой нужно не забыть о синхронизаторах. Именно на реализации SPI (принимал данные с микоконтроллера в ПЛИС) первый и единственный раз нарвался на метастабильность. Вот моя реализация SPI для Cyclone на AHDL. Правда, там много специфики: каждый пакет, передаваемый по SPI, содержал 8 разрядов адреса и 32 разряда данных. В ПЛИС адресовалось 20 регистров по 32 разряда.
Код: Выделить всё
SPICnt[].(clk, clrn) = (GSPICLK, !nSPIFS & nGCLR);
SPICnt[] = SPICnt[] + 1;
SPIDinReg[].(clk, ena, clrn) = (GSPICLK, !nSPIFS, nGCLR);
SPIDinReg[30..0] = SPIDinReg[31..1]; -- SPI data in shift register
SPIDinReg[31] = SPIDATAIN; -- input data
SPIAddrReg[].(clk, ena, clrn) = (!GSPICLK, SPICnt[] == 8, nGCLR);
SPIAddrReg[] = SPIDinReg[31..24]; -- address
SPIBuffReg[].(clk, ena, clrn) = (GCLK, SPIRd, nGCLR); -- SPI buffer register
SPIDoutReg[].(clk, ena, clrn) = (!GSPICLK, !nSPIFS, nGCLR);
IF SPICnt[] == 8
THEN SPIDoutReg[] = SPIBuffReg[]; -- load data
ELSE SPIDoutReg[30..0] = SPIDoutReg[31..1]; -- shift data
END IF;
DOUTTri.(in, oe) = (SPIDoutReg[0], !nSPIFS & SPIAddrReg[7]); -- output data
SPIDATAOUT = DOUTTri;
SPIWs = DFF(DFF(SPICnt[] == 40, !GSPICLK, nGCLR, ), GCLK, nGCLR, );
SPIWe = DFF(SPIWs, GCLK, , nGCLR);
SPIWr = DFF(SPIWs & !SPIWe, GCLK, nGCLR, );
SPIRs = DFF(DFF(SPICnt[] == 7, GSPICLK, nGCLR, ), GCLK, nGCLR, );
SPIRe = DFF(SPIRs, GCLK, , nGCLR);
SPIRd = DFF(SPIRs & !SPIRe, GCLK, nGCLR, );
FOR i IN 0 TO 19
GENERATE
Wr[i] = !SPIAddrReg[7] & SPIWr & SPIAddrReg[4..0] == i;
Rd[i] = SPIDinReg[31] & SPIRd & SPIDinReg[28..24] == i;
END GENERATE;
Re: Мелкие вопросы по МК и ПЛИС.
между VCC и AVCC есть некое большое сопротивление их не коротил)
Между ними диод. Обычный диод.
Не соединив их вместе - часть кристалла запитается пониженным напряжением (VCC-0.7В) через этот диод. Глюков много можно насобирать.
- Грендайзер
- Мучитель микросхем
- Сообщения: 479
- Зарегистрирован: Вт июн 02, 2009 22:38:40
- Откуда: Город-герой Москва
Re: Мелкие вопросы по МК и ПЛИС.
Здравствуйте))) Вопрос не совсем по МК или ПЛИСам (точнее совсем не по ним), но тем не менее: хочу купить отладочную плату TMDX5535eZdsp http://www.terraelectronica.ru/catalog_ ... ODE=821980 на базе TMS320C5535. До этого никогда не работал с DSP и слабо в них понимаю, но хочу разобраться с ними, а заодно пощупать алгоритмы ЦОС "вживую". Стоит ли её брать, может кто нибудь с ней работал. Заранее спасибо.
- КРАМ
- Друг Кота
- Сообщения: 25156
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
Странное желание начать с профессионального инструмента.
Может сначала почитать литературу по ЦОС и написать чего нибудь простое и не требующее супер-пупер ресурсов.?
Например простейший ФНЧ КИХ или БПФ на невысокую частоту. Для этого Техас совсем не обязателен.
Может сначала почитать литературу по ЦОС и написать чего нибудь простое и не требующее супер-пупер ресурсов.?
Например простейший ФНЧ КИХ или БПФ на невысокую частоту. Для этого Техас совсем не обязателен.
- Грендайзер
- Мучитель микросхем
- Сообщения: 479
- Зарегистрирован: Вт июн 02, 2009 22:38:40
- Откуда: Город-герой Москва
Re: Мелкие вопросы по МК и ПЛИС.
Нууу... уж Вы преувеличиваете, проф. инструмент это слабенький(на мой взгляд), хотя конечно могу ошибаться. Я уже написал НЧ фильтр на VHDL, моделируется всё прально, но посмотреть действие того, как дьявольская машина мне на экране синусоиды рисует и действие своего кода в железяке это совсем разные вещи. Но к сожалению, плата с ПЛИСиной довольно дорогая штука (раза в 2 дороже техасской) меня жаба душит. А самому сидеть ваять - выйдет по цене как техасская, а по виду как говно тузикина грелка. А тут и ЦСП и С я не знаю, будит хороший повод выучить, приятное с полезным короче...КРАМ писал(а):Странное желание начать с профессионального инструмента.