Страница 1 из 1

Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пт ноя 08, 2013 00:53:25
phantom36
нужен совет. требуется микросхема для подсчёта количества импульсов (5В/GND), частота импульсов очень низкая, максимум - 300Гц. хотелось бы 16бит, но думаю>=10бит будет достаточно, 8бит - мало. для чего нужно: микруха считает импульсы, с неё по SPI или чему подобному МК когда освободился (раз в секунду, к примеру) считывает сколько она насчитала, сбрасывает счётчик, и по циклу. ещё один МК городить для таких целей - нет возможности. неужели всего один вариант - связка 4040 и пара 74H165? думаю, есть вариант поизящнее...

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пт ноя 08, 2013 01:00:08
Flasher
а почему мк не в состоянии сам подсчитать эти импульсы?

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пт ноя 08, 2013 01:13:23
phantom36
Flasher писал(а):а почему мк не в состоянии сам подсчитать эти импульсы?
очень бы не хотелось использовать прерывания, МК общается по 2 UARTам в хаотичном порядке, один UART с прерыванием на приём, прерывания для подсчёта изгадят всю малину, по этому ищу другие варианты... припрягать к этому делу МК буду в крайнем случае, если ничего мудрого не насоветуют со счётчиками...

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пт ноя 08, 2013 01:18:49
blackx
Ваш МК не умеет считать импульсы аппаратно?

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пт ноя 08, 2013 01:19:29
Flasher
Какой мк и какая скорость uart ? Частота ядра?
Мне кажется, проблема надуманна.

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пт ноя 08, 2013 01:26:21
Ser60
Поставьте тогда еще один МК в мало-ногом корпусе. На одну из ног он будет принимать счетные импульсы, а на 2-х дригих реализуйте аппаратный I2C slave.

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пт ноя 08, 2013 01:28:39
blackx
Да зачем ему I2C, SPI же проще и везде есть :beer:

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пт ноя 08, 2013 01:32:44
Ser60
Whatever. Оставим выбор интерфейса за ТС. А :beer: как раз кстати...

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пт ноя 08, 2013 01:54:42
phantom36
хочу сказать заранее, сделать со счётчиком ХОЧЕТСЯ, так было бы проще, как сделать без счётчика то я знаю, вопрос не в этом...
blackx писал(а):Ваш МК не умеет считать импульсы аппаратно?
наш МК Atmega644P, умеет он их считать, но вот только чтобы их посчитать - нужно отобрать один таймер из трёх, два таймера пользуются для работы софта, один - для ШИМов, так что тут по большому счёту - грабли....
Flasher писал(а):Какой мк и какая скорость uart ? Частота ядра?
Мне кажется, проблема надуманна.
может быть. именно по этому и прошу совета. 20мГц, хаотичная загруженность МК обусловлена тем, что он работает с мозгами машины по KWP, как показал опыт - время ответа на запрос зависит от погоды на ямайке, а ещё этот подлец вполне может ответить что он мол занят своими делами, повторите запрос, получите данные ещё раз, отрисуйте картинку с полученными данными, затолкайте это в SPI, в общем - хотелось бы подсчётом этих импульсов МК не напрягать. а финальный гвоздь в крышку гроба - что таких импульсов надо принимать два, один от датчика скорости для одометра, а второй - сигнал расхода топлива... по второму UARTу тоже приходят данные когда попало, очень не хочется перенастраивать один таймер вместо двух, если его отдать под счётчик...
Ser60 писал(а):Поставьте тогда еще один МК в мало-ногом корпусе. На одну из ног он будет принимать счетные импульсы, а на 2-х дригих реализуйте аппаратный I2C slave.
дело в том, что прошить SO8 у тиньки у меня нет возможности пока не припаяю, вкорячивать третий МК с гребёнкой под внутрисхемную прошивку - это уже перебор, да и I2C прикручивать сюда смысла большого не вижу, если можно тупо 10 раз дёрнуть за ногу, на другой посмотреть 0/1...
blackx писал(а):Да зачем ему I2C, SPI же проще и везде есть :beer:
аналогично с вами согласен про SPI :beer:

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пн ноя 11, 2013 23:43:18
phantom36
эх, спасибо всем за советы... меня всегда радовал радиокот тем, что обосрать кого-то за отсутствие КТ-315 в схеме, а ещё и не оранжевого цвета готовы все, а дать дельной совет - ни одна собака из котов не имеет желания, увы...

для тех, кому актуален вопрос - можно сделать деление частоты импульсов на 2 через флип-флоп микруху 4013 по такому методу Изображение и использовать микросхемы-счётчики с делителями, с которыми я не разобрался ибо помощи фиг дождёшься, тут все умные, как я понял, могут только ткнуть носом в то, что делаю не так как им бы этого хотелось, или вообще аккуратно намекнуть что я балбес, но адекватного ничего всё равно никто не говорит...

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

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Вт ноя 12, 2013 00:36:58
Flasher
Всегда пожалуйста. Были рады помочь.

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Чт ноя 14, 2013 19:03:04
Rokl
phantom36 писал(а): частота импульсов очень низкая, максимум - 300Гц. хотелось бы 16бит, но думаю>=10бит будет достаточно, 8бит - мало. для чего нужно: микруха считает импульсы, с неё по SPI или чему подобному МК когда освободился (раз в секунду, к примеру) считывает сколько она насчитала, сбрасывает счётчик, и по циклу. ...
Хочешь и рыбку съесть и на хер сесть. Типа...хочу счетчик на 10 бит и тут же с него протокол SPI получить, и что б не МК, а умный такой простой счетчик, что бы тебе "умнику" думать не нужно было.
Хочешь обычный счетчик, получи - КР1561ИЕ20 - имеет 12 разрядов (двенадцатиразрядный двоичный асинхронный счетчик. А дальше думай сам, что сделать и как с него снять данные по SPI. И нечего на котов лаять, коль в цифровой технике, как моя бабушка в кавалерии. Научился лишь программки для МК ваять, а амбиций, будто круче вареного яйца в цифровой технике. :kill: :kill:


Попрошу быть осторожнее в высказываниях. Предупреждение Вам вынесено, в следующий раз будет бан.
ploop

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пт ноя 15, 2013 14:46:05
phantom36
мсье, я бы попросил не высказывать своё мнение о моих познаниях, а дать совет. если нет возможности или знаний - то не стоит. ругаться у меня желания нету никакого. по сути - было спрошено, есть ли такой счётчик, на что были даны невразумительные и несодержательные ответы, я вот к чему... на сколько мне скудоумному известно, чем проще - тем надёжнее... вариантов я и сам могу на выбор налепить, и 10битный счётчик, и 12битный, и каскад из восьмибитных, а то и из четырёхбитных, и два четырёхбитных с предделителем, и преобразователь частоты в напругу который потом через ацп читать, и проц другой припаять в котором прерываний достаточно, вариантов сколько угодно, я просто просил совета как сделать было бы проще... всего-то. не хотите помогать - не помогайте. не стоит обвинять в незнании и неопытности, всё обо всём знать не может никто, на сколько я помню мудрую цитату... единственный вывод который я сделал - больше помощи или совета тут просить не хочу, отношение обыдное, как прочитаешь фразы о кавалерийских бабушек с рыбьим хером, высказанные с высот птичьего полёты - так чёто не до вопросов потом...

вообще, по сути, Flasher оказался прав, другая модификация МК решила проблему... но хотелось обойтись без этого, по этому совет и просил...

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пт ноя 15, 2013 21:58:44
uk8amk
Altera EPM3064 подходит по всем перечисленным критериям:
1)Не МК, а практически аппаратный вариант
2)можно организовать большинство простых интерфейсов, включая SPI
3)организуется счётчик любой разрядности
4)весьма шустрая логика
5)внутренности описываются на Си-подобном Verilog или AHDL, что минимизирует необходимость знания линеек мелкой логики. Но понятия о таблицах истинности всеже должны быть.
6)вроде как изящный вариант.

Но совсем готовых вариантов из коробки мне более не известно.

Лично мне кажется, что что-то не так делаете.
МК, работающий на 20МГц и имеющий на каждой ноге по прерыванию(за исключением питания и резета) и чтоб не справлялся с подсчётом 300Гц... Ну ИМХО.

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Сб ноя 16, 2013 17:18:57
Rokl
phantom36 писал(а):мсье, я бы попросил не высказывать своё мнение о моих познаниях,...
phantom36, вы сами говорите о своих познаниях:
phantom36 писал(а):... и использовать микросхемы-счётчики с делителями, с которыми я не разобрался ибо помощи фиг дождёшься...
phantom36 писал(а):... по сути - было спрошено, есть ли такой счётчик, на что были даны невразумительные и несодержательные ответы......
Был дан конкретный ответ:
Rokl писал(а):...Хочешь обычный счетчик, получи - КР1561ИЕ20 - имеет 12 разрядов (двенадцатиразрядный двоичный асинхронный счетчик). А дальше думай сам, что сделать и как с него снять данные по SPI...
phantom36 писал(а):... единственный вывод который я сделал - больше помощи или совета тут просить не хочу, отношение обыдное......
А обкакать всех участников форума скопом это для вас так,... фантики от конфет разбросать...
phantom36 писал(а):... меня всегда радовал радиокот тем, что обосрать кого-то за отсутствие КТ-315 в схеме, а ещё и не оранжевого цвета готовы все, ...
Хорошо, что мы расстаёмся взаимоудовлетворенными, а то из-за ваших раздутых амбиций мне вынесено предупреждение.

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Вс ноя 17, 2013 16:10:26
phantom36
uk8amk писал(а):Лично мне кажется, что что-то не так делаете.
МК, работающий на 20МГц и имеющий на каждой ноге по прерыванию(за исключением питания и резета) и чтоб не справлялся с подсчётом 300Гц... Ну ИМХО.
по сути - так и есть, это ошибка выбора МК. был выбран процессор с одним таймером/счётчиком, остальные просто таймеры, а ещё таймеры нужны для тёрх ШИМов, только у одного таймеров есть ICP... по этому пришлось городить отсчёт тиков в таймерах по прерыванию, которых, как на зло у 644P всего два, чтобы узнать частоту импульсов, а потом это дело переводить в читабельный для гуманоида вид, подлянка заключается в том, что частота расчитывается не "за время", а по времени между "пиками" чтобы получить точные данные в реальном времени... скорости проца хватает за глаза, а вот прерываний/таймеров - не хватило... Atmega644P была заменена на Atmega128A/1281...
Rokl писал(а):Хорошо, что мы расстаёмся взаимоудовлетворенными, а то из-за ваших раздутых амбиций мне вынесено предупреждение.
чего ж вам так мои амбиции то покоя не дают?.. :cry:

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пн ноя 18, 2013 17:35:11
Alexeyslav
Многие м/с RTC умеют считать внешние импульсы, например PCF8535 и им подобные. Интерфейс I2C.

Счетчик лучше не сбрасывать, а определять изменения с предыдущего значения и отрабатывать переполнение(переход с большего на меньшее). Потому как между считыванием значения и сбросом счетчика имеются все шансы пропустить как минимум один импульс.

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пн ноя 18, 2013 20:38:23
phantom36
Alexeyslav писал(а):Многие м/с RTC умеют считать внешние импульсы, например PCF8535 и им подобные. Интерфейс I2C.
а i2c к прерываниям же не очень хорошо будет относиться? а их несколько, по приёму UART, по переполнению двух таймеров, по двум прерываниям, и по срабатыванию счётчика... хотя, на i2c уже сидят память 24LC02 и DS1307, и вроде ничего, не обижаются, успевают...
Alexeyslav писал(а):Счетчик лучше не сбрасывать, а определять изменения с предыдущего значения и отрабатывать переполнение(переход с большего на меньшее). Потому как между считыванием значения и сбросом счетчика имеются все шансы пропустить как минимум один импульс.
не совсем понял. делать не сброс значений счётчика, а прописать в регистр переполнение? или при переполнении добавить к переменной в программе 65535? я наверно ситуацию не совсем подробно описал со счётчиком... он 16битный, считает сигнал "расхода топлива" от ЭБУ жигулей, этот сигнал это ~1/16000 литра, если таз кочегарить чтобы он жрал 30л в час, получается ((30л*16000импульсов)/60минут)/60секунд = 133Гц в случае такого адского расхода, 2байта/133Гц~=492секунды до переполнения, думаю, ТАЗ на такое в принципе не способен, слава покемонам, временами мгновенный расход топлива может быть адским, но как показала практика - за 300Гц не перевалит хоть тресни... так как показания для статистики по ходу поездки, обновлять их раз в минуту, а так как точность этой величины расхода топлива, скажем, довольно таки посредственная - фиг бы с ним, с провороненным импульсом за минуту, как мне кажется...

у меня суть проблемы была в другом немного... проблема была в том, что нету таймера/счётчика ещё одного в МК, который бы с задачей подсчёта импульсов бы справлялся, по этому замышлялось воткнуть счётчик с последовательным интерфейсом, чтобы он не обижался на прерывания, и с него считывать что он там насчитал, а потом его сбрасывть...

Re: Посоветуйте счётчик с последовательным интерфейсом

Добавлено: Пн ноя 18, 2013 22:27:49
Alexeyslav
Скажем так, это называется виртуальный сброс. Сам счетчик мы не трогаем, а каждое считывание высчитываем приращение с прошлого положения и накапливаем где-то во внутреннем счетчике, который у нас под полным контролем и "внезапно" изменится не может или у нас все возможности предотвратить эту ситуацию(обеспечить атомарность операции). Но в процессе этой гонки рано или поздно наступает переполнение счетчика и тогда нас ждет огромный сюрприз - приращение становится отрицательным, а на самом деле просто произошло переполнение и арифметика срабатывает без учета старшего разряда - эту ситуацию и надо учесть прибавлением максимального значения счетчика + 1 т.е. 65636 для 16 бит.
Благодаря такому алгоритму мы не пропустим ни единого импульса - все что есть все будут сосчитаны.
Хотя, если на точность наплевать, можно конечно и варварскими методами.