Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: деление 1/x. Алгоритм деления булевых чисел
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Схемотехника
dan_p
Добрый день!
Помогите, пожалуйста, решить такую задачку.
Дан период некого процесса. Нужно найти частоту процесса. Период вводится с 12 кнопочной клавиатуры. Необходимо определить частоту процесса, вывести её на индикаторе. Спаять получившуюся схему на макетке.

Есть несколько вариантов решения задачки. Но мне необходимо реализовать решение с помощью деления на цифровых микросхемах (без использования таблицы соответствия). Но я плохо представляю, как вообще проводится аппаратное деление двоичных чисел. Удалось найти несколько вариантов деления в столбик со сдвигом и вычитанием( или суммированием с обратным кодом). Помогите выбрать наиболее подходящий вариант деления и примерную схему реализации данной задачи.
MaslovVG
Цитата(dan_p @ Jun 3 2012, 21:14) *
Есть несколько вариантов решения задачки. Но мне необходимо реализовать решение с помощью деления на цифровых микросхемах (без использования таблицы соответствия). Но я плохо представляю, как вообще проводится аппаратное деление двоичных чисел. Удалось найти несколько вариантов деления в столбик со сдвигом и вычитанием( или суммированием с обратным кодом). Помогите выбрать наиболее подходящий вариант деления и примерную схему реализации данной задачи.

Задача учебная, курсовой. Поскольку присутствует клавиатура и индикатор. Без процессора только ввод и индикация на простой логике будет по размеру близка к чемоданчику.
А на любом микроконтроллере задача просто тривиальна. Начните с реализации клавиатуры и дисплея. Деление это самое простое.
dan_p
Цитата(MaslovVG @ Jun 3 2012, 20:35) *
Задача учебная, курсовой. Поскольку присутствует клавиатура и индикатор. Без процессора только ввод и индикация на простой логике будет по размеру близка к чемоданчику.
А на любом микроконтроллере задача просто тривиальна. Начните с реализации клавиатуры и дисплея. Деление это самое простое.

Да, задача учебная. Не курсовой. Для доп. плюсика. Больше для себя делаю, т.к. раньше никогда не паял микросхемки - интересно. Не отрицаю, деление через микроконтроллер довольно тривиально, задача сведется к верному подключению клавиатуры и индикатора к портам ввода/вывода микропроцессора + чуть-чуть программирования в авр студио. Поэтому такой вариант не очень интересен.

Только про чемоданчик не совсем понял. По моим прикидкам для реализации индикации (про клавиатуру не знаю, может, там действительно что-то хитрое) необходим генератор импульсов+регистры+семисегментный дешифратор+"делитель".
MaslovVG
Цитата(dan_p @ Jun 3 2012, 22:32) *
Да, задача учебная. Не курсовой. Для доп. плюсика. Больше для себя делаю, т.к. раньше никогда не паял микросхемки - интересно. Не отрицаю, деление через микроконтроллер довольно тривиально, задача сведется к верному подключению клавиатуры и индикатора к портам ввода/вывода микропроцессора + чуть-чуть программирования в авр студио. Поэтому такой вариант не очень интересен.

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

Сам индикатор это как минимум три микросхемы на разряд. Плюс индикация набираемых цифр. Далее некая схема опроса клавишь распознавание нажатия, подавление дребезга и запоминание набранного числа хорошо если штук в 50 уложитесь. простейший делитель на счетчиках корпусов в двадцать для четырех разрядного варианта может и уложитесь.
И так далее.
На процессоре вы хотя бы изучите алгоритмы и методы построения клавиатур, и индикации. Представления и преобразования чисел. Структуру методы програмирования контроллера. Разводку и технологию изготовления печатных плат. Если выберете корпуса микросхем DIP То хотя бы сможете сделать все сами от начала до конца. Сможете оценивать необходимые трудозатраты на все этапы работы, чтобы в последствии здраво ставить перед собой задачи.
dan_p
Спасибо. Задача действительно получилась слишком трудоемкой. Будем пробовать реализовать на микроконтроллере.
Plain
Заблуждаетесь.

Задача это ТЗ, а поскольку его здесь изначально не было, то и задачи тоже.
kovigor
Цитата(dan_p @ Jun 3 2012, 22:27) *
Спасибо. Задача действительно получилась слишком трудоемкой. Будем пробовать реализовать на микроконтроллере.


А как вам идея реализации на FPGA ? На Verilog такое вполне можно написать, все влезет в одну микросхему (это вместо того, чтобы паять "чемоданчик"). Заодно приобретете массу новых знаний.
dan_p
Цитата(kovigor @ Jun 3 2012, 22:47) *
А как вам идея реализации на FPGA ? На Verilog такое вполне можно написать, все влезет в одну микросхему (это вместо того, чтобы паять "чемоданчик"). Заодно приобретете массу новых знаний.

Идея-то хорошая. Но на данный момент для меня слишком сложная. Во-первых, я вообще не представляю, как работать с ПЛИСами и подобными, в том числе как их программировать. Чтобы с этим разобраться, нужно время. Во-вторых, я не знаю, сколько ресурсов необходимо на это потратить.

С микроконтроллером попроще будет - отобрать на кафедре STk-500, там же взять в долг какой-нить атмел 88 (упс, наоборот)), спаять что-то вроде миниплат с драйверами для клавы и индикатора, пару-тройку часов яростного программинга - авось заработает.
kovigor
Цитата(dan_p @ Jun 3 2012, 23:14) *
С микроконтроллером попроще будет - отобрать на кафедре STk-500, там же взять в долг какой-нить атмел 88 (упс, наоборот)), спаять что-то вроде миниплат с драйверами для клавы и индикатора, пару-тройку часов яростного программинга - авось заработает.


Вам виднее. Просто если вы говорите, что решение задачи для МК для вас достаточно тривиально, то в чем смысл этой работы ? Я и предложил вам освоить FPGA и Verilog. Это актуально, современно и просто полезно ...

Вот страничка про FPGA:
http://www.fpga4fun.com/
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.