Страница 225 из 628

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт сен 08, 2011 18:03:25
МитяРа
Ничегонеработает писал(а):Лучше, конечно, формировать аппаратно, но для этого минимум AT90PWM3 нужен.
На входных частотах 50 Гц можно и программно сделать..
Хотя, если есть PCA, то лучше на них..

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт сен 08, 2011 18:56:08
kreygen
Здравствуйте, опять хочу поинтересоваться о протеусе. Насколько точно он моделирует скорость процессора? Есть дисплей, есть МК, есть код(взятый из инета и модифицированный под скорость), но экран заполняется всё равно медленно. На реальном мк скорость отрисовки будет такой же?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт сен 08, 2011 21:27:33
Engineer_Keen
kreygen писал(а):Здравствуйте, опять хочу поинтересоваться о протеусе. Насколько точно он моделирует скорость процессора?
Точность достаточная.
kreygen писал(а):экран заполняется всё равно медленно. На реальном мк скорость отрисовки будет такой же?
У вас симуляция скорее всего не в реальном времени. Для тяжелых схем (индикаторы, контроллеры с высокими тактовыми частотами, много аналоговых элементов) обычно не хватает производительности, и об этом будет сказано в окне сообщений.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пт сен 09, 2011 16:26:26
Chip115
Chip115 писал(а):Всем привет! Не подскажете где найти описание CANopen на русском? описание CAN нашел... это ведь не одно и то же ?
ни кто не шарит?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пт сен 09, 2011 20:44:59
DiGiCat
Не всем надо... В гугл и читай по сусекам... :)

CANopen DS.301 на русском...

тут, тут...

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Сб сен 10, 2011 15:12:00
SII
Errorkpi писал(а):Не подскажите мс для конвертации уровней 5 в 3,3В. Желательно двунаправленную.
Подсказать не подскажу (искать лениво), но предостерегу: не злоупотребляйте двунаправленными преобразователями, самостоятельно выбирающими направление передачи. Партнёры нашей конторы из Америки влепили у себя в умном приборе такую -- и спалили нафиг выход АЦП, поскольку схема почему-то не отработала должным образом. Заменили на обычные -- и всё заработало. Правда, насколько знаю, они не пытались детально разбираться в причинах плохого поведения преобразователя (ну а я лично их никогда не использовал, а соответственно, и проблем не имел), но всё ж...

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Сб сен 10, 2011 15:32:59
Meteor
SN74LVC4245APWR управляемый дунаправленный преобразователь

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Сб сен 10, 2011 18:15:30
thunder87l
Наткнулся сегодня на хороший топик про оптимизацию VHDL кода для синтеза. В частности порадовал совет по обрезанию размера переменных. В связи с этим возникла пара вопросов:

1) Если задеклароровать:

Код: Выделить всё

variable COUNTER: integer range 0 to 3;
будет ли работать переполнение? Если COUNTER=3 и COUNTER:=COUNTER+1; он сбросится на ноль?

2) Если декларировать максимальное значение не степенью двойки, а каким-нибудь другим числом, например:

Код: Выделить всё

variable COUNTER: integer range 0 to 9;
Так будет работать или выкинет ошибку? И если переполнение работает, то 0-1 ,будет равно 9?

3) И то-же самое с функциями. Если функция ждёт 0 to 11, а в неё подать -2, поймёт ли функция это 10?
Если вдруг это всё допустимо для симуляции, можно ли такое синтезировать?

И ещё пара вопросов не связаных с переполнениями. Есть например два таких куска кода.

а)

Код: Выделить всё

A:=f(x,y);
B:=f(x+1,y+1);
C<=A+B;
б)

Код: Выделить всё

C<=f(x,y)+f(x+1,y+1);
4) После синтеза первый будет выполняться шаг за шагом, а второй - всё сразу? Если f() у меня LUT, будет ли в первом случае синтезироваться одна таблица, из которой будут добываться нужные значения, в во втором - две сразу?

5) И последний вопрос - как добыть бинарное значение integer'a. Есть ли какая стандартная функция позволяющая обращаться к интегеру, как к std_logic_vector - вытаскивать и запихивать биты?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Сб сен 10, 2011 18:45:27
Meteor
thunder87l,
1) сбросится т.к. при объявлении определяется разрядность.
2) не сбросится при значениях больше 9 и до значения 15
3) Для записи знаковых лучше использовать signed
4) Не понял
5) Счетчики объявляю так

Код: Выделить всё

Variable CNT:unsigned(7 downto 0):"00000000";
....
cnt:=cnt+1;
Buss<=Std_logic_vector(CNT);

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс сен 11, 2011 00:56:28
thunder87l
Meteor писал(а):4) Не понял
Да, я наверно паршиво объяснил. Допустим у меня есть функция:

Код: Выделить всё

	function dat(B: std_logic; V: std_logic; N: integer; C: integer) return integer is
	type data_table is array (0 to 3, 1 to 5) of integer;
	constant DT: data_table := (	(17, 21, 23, 21, 17),
					(11,  5,  0, -3, -4),
					(-4, -2,  0,  1,  2),
					( 2,  1,  0, -1, -1));
	begin
		if (V='0') then
			return 0;
		else
			if (N<0) then --must add negatives
				if (B='1') then
				return DT(-N,6-C);
				else
				return -DT(-N,6-C);
				end if;
			else
				if (B='1') then
				return DT(N,C);
				else
				return -DT(N,C);
				end if;
			end if;
		end if;
	end dat;
Если я вызову эту функцию в своём коде, при синтезе эта хрень займёт кусок места на чипе. Массив DT описывает raised-cosine волну, а мне нужна на выходе их сумма, примерно в таком виде:

Код: Выделить всё

OIv<=i_to_v(31 + dat(Iv(rot(M-3)),Vv(rot(M-3)),-3,C) + dat(Iv(rot(M-2)),Vv(rot(M-2)),-2,C) + dat(Iv(rot(M-1)),Vv(rot(M-1)),-1,C) + dat(Iv(rot(M)),Vv(rot(M)),0,C) + dat(Iv(rot(M+1)),Vv(rot(M+1)),1,C) + dat(Iv(rot(M+2)),Vv(rot(M+2)),2,C) + dat(Iv(rot(M+3)),Vv(rot(M+3)),3,C));
Я тут немного нахимичил, и подозреваю что если это и возможно синтезировать, то оно сожрёт весь чип, если на каждый вызов функции будет синтезироваться отдельный кусок логики. Вот я и думаю как уменьшить размер этого чуда. Можно было бы запихать в цикл - тогда по идее функция синтезируется один раз.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс сен 11, 2011 09:37:07
Chettuser
Кто-нибудь пользовался новым MPLAB X IDE?
Какое мнение? Сильно ли тормозит?
Как он относится к установленным компиляторам? Или ему нужны свои версии специально под него?
Стоит ли его вообще качать?
Спасибо.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн сен 12, 2011 20:17:13
kreygen
Здравствуйте
Скажите пожалуйста, а внешний SRAM в AVR микроконтроллерах устанавливается только в МК серии ATMEGA128, или, например, на ATMEGA48PA тоже можно установить?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн сен 12, 2011 20:24:10
pyzhman
Установить можно в любой, организовав соответствующий протокол.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн сен 12, 2011 20:26:22
kreygen
А можно ссылочку на статейку по этому поводу?
И насколько это медленнее будет работать, относительно внутреннего SRAM?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн сен 12, 2011 20:29:46
pyzhman
Статейку не скажу, см. даташит на нужную SRAM. А насколько медленнее зависит от кривости/верности написания протокола.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн сен 12, 2011 20:31:12
kreygen
Спасибо большое, буду изучать.

Ещё вопрос, то есть в зависимости от протокола к 8-битному процессору можно подключить и больше 64к памяти?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн сен 12, 2011 20:57:33
pyzhman
Да хоть терабайт. А чем не угодила та же 128-ая с ее кБайтами на борту? Только не говорите - надо.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вт сен 13, 2011 19:19:54
Chettuser
Почему если не включать TMR0 в PIC'ах не работают TMR1 и TMR2?
Так специально задумано? :dont_know:

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вт сен 13, 2011 23:45:57
Jack_A
pyzh_man писал(а):Установить можно в любой, организовав соответствующий протокол.
Только если взять что-нибудь вроде Atmega8515, то там доступ к внешней памяти поддерживается аппаратно, а в других нужно мудрить с самопальным протоколом, и по скорости будет медленнее.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср сен 14, 2011 06:34:07
Soir
Chettuser писал(а):Почему если не включать TMR0 в PIC'ах не работают TMR1 и TMR2?
Так специально задумано? :dont_know:
У меня они работают независимо друг от друга... Проверьте инициализацию.