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

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

Добавлено: Вт июн 19, 2012 10:10:21
Eprinter
Serj324 писал(а):Подскажите, можно ли заменить микросхему в схеме программатара Extra Pic, с кр1533ла3 на HD74HC14p.
Без переделки платы - нет, а так в принципе можно.
Serj324 писал(а):Или быть может подойдет вот такая микросхема к155ие1
Ага, а может вы туда ещё интел пентиум 4 завалявшийся попробуете втулить? ;)
Вот тут можно почитать, чтобы понять отличия счётчиков от простой логики.

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

Добавлено: Вт июн 19, 2012 14:20:06
Serj324
А если так ?

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

Добавлено: Вт июн 19, 2012 14:49:14
misterkuk
Проц pic12f675.
На одном сайте человек написал что максимальное напряжение на входе АЦП 4.097. Везде пишут 5 вольт. Кому верить. для расчётов что брать. Опорное АЦП на питание кинуто.

10 разрядов это 1023. Получим при максимальном напряжении на входе АЦП. А дальше как считать?
Если к примеру у нас вышло 456 после обработки . То какому напряжению оно соотвецтвует? Через пропорцию вычисляется или есть ещё способы?

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

Добавлено: Вт июн 19, 2012 14:55:09
Gudd-Head
misterkuk писал(а):На одном сайте человек написал
На заборе тоже много что написано.
misterkuk писал(а):Через пропорцию вычисляется или есть ещё способы?
Да, через пропорцию. Напряжение на входе АЦП = (опорное напряжение)*(результат преобразования)/(максимальное число)
В вашем примере 5 * 456 / 1024 = 2,23 В.

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

Добавлено: Вт июн 19, 2012 15:07:37
Eprinter
Serj324 писал(а):А если так ?
Правильно, но это и есть изменить печатную плату, т.к. ноги не совпадают. Или проводками цеплять будете?

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

Добавлено: Вт июн 19, 2012 16:06:13
Serj324
сначало проводками если все ок то внесу изменения в плату.

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

Добавлено: Вт июн 19, 2012 16:18:59
Eprinter
Serj324
Дополнение - незадействованые входы в ИМС посадите на землю, повысит помехозащищённость.

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

Добавлено: Вт июн 19, 2012 17:56:29
player259
Кто работал с FT232RL подскажите в чем загвоздка:

кидаю байты на комп с определенной частотой (6 байт 100/200/480/960 раз в секунду)
соединяюсь на разной частоте 9600/14400/57600/115200
так вот, если кидать редко, то все проходит без проблем.
если же кидать часто (960 раз в секунду на скорости 9600) по идее должен переполняться буфер FT232 и выдаваться RTS=1. Но этого не происходит.
Вместо данных (или задержки передачи) я вижу кучу принятых битых байт. Повторяю, сигнал RTS не поднимается.
Проблему конечно решу в лоб, понижу скорость передачи, но интересует причина.
Проверял через программку Terminal с выставленным (и не выставленным тоже) handshaking RTS/CTS.

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

Добавлено: Вт июн 19, 2012 19:27:11
Chettuser
Serj324, я собирал ExtraPIC как раз на 74HCxx и ST232 (тот, что с кондёрами по 0,1мкФ).
Хочу предупредить, что при замене на 74HC-серию (с нестандартными ТТЛ-уровнями, переключаются они намного раньше) нужно будет поэкспериментировать с диодом (D5 на Вашей схеме). У меня логика никак не хотела переключаться, пришлось ставить диод Шоттки с меньшим порогом.
А по настройке могу посоветовать отличный ресурс по ExtraPIC'у. Тут подробная методика тестирования. Надеюсь Вам поможет как и мне.

PS: Мне помогла ещё TCOM.exe

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

Добавлено: Ср июн 20, 2012 06:35:19
Kavka
player259 писал(а):Кто работал с FT232RL подскажите в чем загвоздка
Схему, для начала, покажи. Хотя бы ту часть где МК с FT-шкой соединён.
Вроде, там всё без проблем работает.
А чем смотришь на сигнал? Как определяешь, что не поднимается?

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

Добавлено: Ср июн 20, 2012 06:54:54
player259
Kavka писал(а):А чем смотришь на сигнал? Как определяешь, что не поднимается?
На схеме завел RTS CTS проводками, т.к. изначально не думал что понадобится. Завел на обычные i/o пины меги. определял программно, если сработал хотя бы один раз, загорал диодик. овцелографа под руками нет.
Вообще сам handshaking как бы работает, потому что в ноль RTS падает при подключении к порту.

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

Добавлено: Ср июн 20, 2012 07:57:57
Kavka
Странно, как-то. Скорее всего что-то упустили из виду. Пока больше соображений нет.
Просмотрел доки которыми пользовался - особых заметок не нашёл.
Только, пожалуй, вот эта. Но и то, это всего лишь как полезная инфа и проблему не решает.
Она относиться к FT232BM, но думаю, что и к FT232R тоже может относиться.
When RTS/CTS hardware handshaking is enabled CTS# can be used to stop the FT232BM transmitting data to the MCU / external logic. When CTS# is active ( low ) the FT232BM will transmit any data in it’s internal buffers. On taking CTS# high, the FT232BM will stop transmitting data. Due to the asynchronous nature of the interface, there is a latency of 0 to 3 characters between taking CTS# high and data transmission stopping. The FT232BM drives RTS# high when the available buffer space inside the device drops below 32 bytes. This allows the MCU / logic to continue to send up to 30 characters to the FT232BM after RTS# goes high without causing buffer over-run.
В моём устройстве всё заработало сразу, проблем не было. Пожалуй совет только один - проверяйте номера ножек, непропаи, "залипухи".

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

Добавлено: Ср июн 20, 2012 08:05:42
Meteor
player259, почему Вы решили, что буфер должен переполниться на такой скорости?
Насколько помню, глубина ФИФО на передачу 64 байта, опрос ОСью ЮСБ девайсов делается раз в одну мс.

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

Добавлено: Ср июн 20, 2012 08:36:14
Eprinter
isx писал(а):Добрый день)) Решил вот тут поюзать EEPROM.
Ранее было решено использовать EEPROM для этой цели, но сегодня наткнулся на статью, что EEPROM позволяет перезаписывать себя только 10000 раз, а моя установка будет делать это около 100 раз в сутки...
Поднятый вопрос не даёт покоя :)
По словам ТС, сохранять нужно максимум два байта. Так понимаю, деградация происходит только в тех конкретных ячейках, куда осуществляется запись, правильно? По идее да, тогда алгоритм для подобных задач прост:
- при прошивке МК выделяем одну ячейку в еепром под адрес, пишем туда х;
- в конце работы сохраняем параметр в еепром три раза с адреса х, итого 6 ячеек;
- при старте программы сравниваем все три копии, если результаты совпадают - берём любой и работаем;
- если одно из значений отличается, берём одно из двух совпавших и работаем, в ячейку адреса пишем х+6, и теперь сохранение происходит в новую, доселе неюзанную область еепром;
- и так каждый раз, пока не дойдём до границы.

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

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

Добавлено: Ср июн 20, 2012 09:23:27
Kavka
Meteor писал(а):player259, почему Вы решили, что буфер должен переполниться на такой скорости?
Насколько помню, глубина ФИФО на передачу 64 байта, опрос ОСью ЮСБ девайсов делается раз в одну мс.
Опрос это одно, а будет ли устройство отвечать на него передачей данных - это другое.
В драйверах есть настроечка как часто отправлять данные если буфер не заполнен. Может её покрутить - уменьшить время.
У FT232R
буфер USB->UART - 128 байт
буфер UART->USB - 256 байт

И ещё, не надо забывать, что к USB могут подключаться другие устройства, которые могут занимать полосу пропускания и мешать "плавной" передаче данных.

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

Добавлено: Ср июн 20, 2012 10:38:45
vitalik_1984
Eprinter писал(а): Можно также подобрать значение в секции, но возможно с первого раза не попадёшь:

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

// Timer/Counter 1 initialization   - 10 Гц
.......
OCR1AH=0x00; // это старший байт
OCR1AL=0x62; // это младший
Я не так много МК прошил (если честно всего один серьёзный проект, так вот там тоже почему-то расчётное значение при такой же настройке таймера сильно не совпадало с реальным, пришлось подгонять подбором, причину пока не понял).
ничего странного
Да просто меняешь например
OCR1AH=0x02; // это старший байт
OCR1AL=0x62; // это младший, т.е. к-т деления 262 в 16-ричной системе счисления
не знаю что вы называете коэффициентом деления,но расчет времени до следующего прерывания производится так:
таймер 16 бит.
(2^16-0x262)* время_тика_камня* коэффициент_деления_таймера = время_между_прерываниями
таймер 8 бит.
(2^8-0x62)* время_тика_камня* коэффициент_деления_таймера = время_между_прерываниями

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

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

Добавлено: Ср июн 20, 2012 11:10:51
Serj324
Подскажите можно ли попробывать заменить микросхему в программаторе Extra-PIC
на к561ла7 при условии что я совмещу все выходы. Другую микру достать сейчас у меня не реально.

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

Добавлено: Ср июн 20, 2012 11:27:44
Eprinter
vitalik_1984 писал(а):может вы забыли вычесть из максимального счета таймера ваше значение при расчетах
Хм. Значит я неверно понимаю режим CTCtop=OCR1A, вроде как прерывание при совпадении.


Serj324
Да, но с учётом сказанного выше:
Chettuser писал(а):Хочу предупредить, что при замене на 74HC-серию (с нестандартными ТТЛ-уровнями, переключаются они намного раньше) нужно будет поэкспериментировать с диодом (D5 на Вашей схеме). У меня логика никак не хотела переключаться, пришлось ставить диод Шоттки с меньшим порогом.
Серии 1553 и 561 построены на разных типах транзисторов, и не всегда 100% сопрягаются.

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

Добавлено: Ср июн 20, 2012 11:52:12
Rinatus
Как программировать кнопку, подключенную на порт ввода/вывода МК, чтобы по нажатию на него переключалось режим работы ус-ва?

Например:

нажали - режим 1
еще раз нажали - режим 2
еще раз нажали - выкл

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

Добавлено: Ср июн 20, 2012 12:01:15
Flasher
1. Программируется не кнопка, а МК.
2. Для того, чтобы нажатия кнопки четко отрабатывались МК, необходимо организовать подавление дребезга. Желательно добавить флаг нажатия кнопки после процедуры антидребезга.
3. Заводите переменную счетчик режимов и каждый раз при нажатии кнопки инкрементируете переменную режима.