Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


Закрытая тема
Опции темы
Непрочитано 17.12.2015, 16:02   #231
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

http://www.ee.ic.ac.uk/pcheung/teach...20to%20BCD.pdf
Реклама:
Impartial вне форума  
Непрочитано 17.12.2015, 16:10   #232
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Сообщение от pvu Посмотреть сообщение
Easyrider83, преобразовать в десятичную систему счисления?

делить на 10 и брать остаток, а частное снова на 10 и т.д. 5 раз
или за 1 такт ПЛИС?
Нет, конечно. Можно и счетчиком до каждого разряда считать. Я думал, есть какое-то элегантное решение.
Сообщение от Impartial Посмотреть сообщение
http://www.ee.ic.ac.uk/pcheung/teach...20to%20BCD.pdf
Спасибо, я столько не выкурю
Easyrider83 вне форума  
Непрочитано 17.12.2015, 16:18   #233
pvu
Временная регистрация
 
Регистрация: 25.08.2006
Сообщений: 76
Сказал спасибо: 3
Сказали Спасибо 12 раз(а) в 4 сообщении(ях)
pvu на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

целая часть от деления на 10
(i*0xCCCD) shr 19
pvu вне форума  
Непрочитано 17.12.2015, 17:22   #234
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Сообщение от Easyrider83 Посмотреть сообщение
Подскажите, как 16 бит целое положительное число разбить на 5 цифр?
А что является исходными данными?
omercury вне форума  
Непрочитано 17.12.2015, 17:50   #235
pvu
Временная регистрация
 
Регистрация: 25.08.2006
Сообщений: 76
Сказал спасибо: 3
Сказали Спасибо 12 раз(а) в 4 сообщении(ях)
pvu на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Сообщение от omercury Посмотреть сообщение
А что является исходными данными?
Зарплата в евро

Звиняйте, не удержался...
pvu вне форума  
Непрочитано 17.12.2015, 18:13   #236
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Сообщение от pvu Посмотреть сообщение
Зарплата в евро
Это источник вдохновенья, а я про источник данных.
omercury вне форума  
Непрочитано 20.12.2015, 12:44   #237
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Сообщение от omercury Посмотреть сообщение
Ладно, не буду томить.
Спасибо за код. Пока неведомо как, но он работает. Не понятно, как пользоваться стробами nRD и nWR. Просто соединил ready на nRD и чтение заработало. Но запись не идет ни в какую. Пытался подавать туда глобальный клок. Никак.
Easyrider83 вне форума  
Непрочитано 20.12.2015, 13:03   #238
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Сообщение от Easyrider83 Посмотреть сообщение
Пока неведомо как, но он работает. Не понятно, как пользоваться стробами nRD и nWR.
Дык на картинке постом выше.
Сигналы подаются с внешней для этого модуля схемы. В данном случае использовался STM32F100.

По окончании приёма модулем байта (при W=8 ) выставляется флаг Ready, по нему внешнее устройство читает выход и формирует строб чтения - флаг сбрасывается.
Для записи в модуль байта, надо подать этот байт на входы SPI_D_in и дёрнуть строб nWR, по нему происходит запись в сдвиговой регистр модуля.

По-хорошему, этот модуль тоже не совсем полный - отсутствует контроль (и индикация) переполнения приёмника SPI, нет двойной буферизации данных на передачу с автозагрузкой в сдвиговой регистр в нужное время, но зато он полностью синхронизирован и поэтому может работать стабильно и на высоких (действительно высоких, сотни МГц) скоростях.

Последний раз редактировалось omercury; 20.12.2015 в 13:27.
omercury вне форума  
Сказали "Спасибо" omercury
Easyrider83 (20.12.2015)
Непрочитано 20.12.2015, 13:59   #239
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Спасибо, с чтением разобрался. Обновил модуль ШИМ согласно новым требованиям к стробовым импульсам. Теперь данные обновляются только при переходе через ноль.
Код:
module PWM #(parameter W = 8)
(
	input[W-1:0] VALUE,				//вход значения длительности
	input wire CLK,					//вход тактовых импульсов
	output reg PWM_OUT,				//выход ШИМ
	input wire nUPDATE,				//вход готовности данных
	output reg nUPDATED = 1			//выход, данные обновлены
);
	reg[W-1:0] cnt;					//регистр счета
	reg[W-1:0] CurrentValue;		//текущее значение длительности
	reg[W-1:0] NewValue;			//обновленное значение длительности
	
	always @ (negedge nUPDATE)		//по сигналу готовности сохранить данные во временный регистр
		NewValue ‹= VALUE;
		
	always @ (posedge CLK)
	begin
		if (cnt ‹= CurrentValue) PWM_OUT ‹= 1;	//собственно сам ШИМ
		else PWM_OUT ‹= 0;
		cnt ‹= cnt + 1;
		if (cnt == 0 && CurrentValue != NewValue)	//если данные обновлены
			begin
				CurrentValue ‹= NewValue;			//обновить данные при переходе через ноль
				nUPDATED ‹= 0;						//строб на сброс готовности данных
			end
		else
			nUPDATED ‹= 1;							//строб закрыть
	end
endmodule
Но что делать с записью пока не понятно. Откуда взять строб?
Миниатюры:
Нажмите на изображение для увеличения
Название: EP2C5T144.jpg
Просмотров: 35
Размер:	129.0 Кб
ID:	85970  
Easyrider83 вне форума  
Непрочитано 20.12.2015, 14:02   #240
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Тестбенчи уже научился писать?

Вот так происходит синхронизация внутри модуля
Миниатюры:
Нажмите на изображение для увеличения
Название: Image1.jpg
Просмотров: 37
Размер:	223.5 Кб
ID:	85971  
omercury вне форума  
Сказали "Спасибо" omercury
Easyrider83 (20.12.2015)
Закрытая тема

Закладки

Метки
fpga

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С чего начать? ourlive Электроника - это просто 179 17.04.2012 23:02
ПЛИС - в чем отличия и с чего начать? aleksandr_zh Микроконтроллеры, АЦП, память и т.д 15 08.02.2012 23:45
С чего начать? nickdkn Электроника - это просто 9 12.07.2011 20:13
С чего начать? Митрофаныч Микроконтроллеры, АЦП, память и т.д 17 03.10.2010 21:18
C чего начать? melkij Микроконтроллеры, АЦП, память и т.д 11 21.08.2006 13:39


Часовой пояс GMT +4, время: 20:24.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot