Перейти к содержанию
    

marat_galimov

Участник
  • Постов

    33
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о marat_galimov

  • Звание
    Участник
    Участник

Информация

  • Город
    Array

Посетители профиля

1 413 просмотра профиля
  1. To zombi: Да, вы правы, тема раскрыта полностью и вопрос исчерпан. Топик пора сворачивать Три страницы - это серьезно --- Спасибо всем за советы и рекомендации. To controller_m30: Спасибо вам за помощь, без вас я бы не справился. Отписал вам в личку. To aleksandr-zh: Спасибо вам за заполнение моих пробелов в знаниях. Отписал вам в личку. --- В качестве ЭПИЛОГА, так сказать подвести итоги по ключевым моментам этого топика: -------------------------------------------------------------------------------------- 1) В половине схем интернета и на многих форумах, RX и TX перепутаны местами - это грабли, на которые можно нарваться и все на них нарываются. Master Transmit = Slave Receive Master Receive = Slave Transmit 2) В монетнике, тоже есть два изолятора, только не оптроны а какие-то маленькие в SMD (так как монетник новый - модель 3-х летней давности примерно). В купюрнике стоят два лошадиных оптрона в ДИП корпусе (так как модель уже около 7 летней давности, если не 10-ти летней даже). Главные два правила шины MDB: - Что любой передатчик управляет линией с помощью транзистора с открытым коллектором. - Что любой приемник отделен от линии оптроном. По поводу транзистора с открытым коллектором, уже не актуально, так как каждый производитель VMC извращается в плане подачи тока в петлю по разному, кто на что горазд - видел схемы, где используются какие-то готовые токовые драйверы в виде одной микросхемы и т.д. Т.е. транзисторов может уже и не стоять. По поводу оптронов тоже уже не актуально, так как во всех новых современных устройствах платежной системы могут быть любые другие изоляторы и готовые решения в виде одной микросхемы для этого, вместо лошадиных оптронов в ДИП корпусе. В общем производители опираются только на токи в токовой петле из спецификации, а не на физическую реализацию с оптронами и транзисторами с открытыми коллекторами (как на этих рейсфедерных схемах 90-х годов). 3) В любом купюрнике/монетнике всегда два оптрона/изолятора в обе стороны, как и в любой плате VMC их тоже два в обе стороны. Соответственно получаются две токовые петли, одна несет сигнал туда (в MDB периферию), другая несет сигнал обратно (от MDB периферии). И каждая из этих токовых петель гуляет в контуре между двумя оптронами/изоляторами - один в периферийном устройстве (купюрнике/монетнике), один на плате управления VMC. По крайней мере я сделал такой вывод, распотрошив кучу всяких старых (нерабочих или спаленных) MDB периферийных устройств и плат управления VMC. --------------------------------------------------------------------------------------
  2. To controller_m30: Доброго времени суток. Как выяснилось, схема с kiosk.ru (вариант 4 справа на скриншоте [25 - both_scheme.jpg]) - работает, а та, что дали мне вы (вариант 3 слева на скриншоте [25 - both_scheme.jpg]) - не работает. Т.е. на схеме kiosk.ru вся MDB-периферия работает как положено по MDB спецификации - купюрник/монентник отвечают на команды от MCU. Хотя по напряжению на осциллографе на MDB_RxD - полная каша, четких квадратных сигналов там не видно. Но зато видимо по току, который заходит в петлю через MDB_RxD - там все нормально, раз все работает. Но вот зато на MDB_TxD - красивые квадратные сигналы по напряжению, в диапазоне от 0V до 5V - четко видно все ответы от MDB-периферии на осциллографе. А на MDB_RxD со стороны MDB - каша по напряжению. -------------------------------------------------- Вроде бы как я должен радоваться, но меня последние два дня двигает непреодолимое желание разобраться, в чем же ключевое отличие вашей схемы от схемы с kiosk.ru, и почему же она не работает и что надо в ней переделать, чтобы она заработала. Хочется фундаментально во всем разобраться. Вот сижу в праздники на работе - экспериментирую, в попытках запустить схему. В итоге я еще раз стал все переизмерять, пересматривать работу диодов, потрошить схему и т.д. Что я проделал: 1) Еще раз решил перепроверить, какой ток держит стабилизатор тока, при его КЗ на землю: - вариант 3 (controller_m30) - 19.6 mA - вариант 4 (kiosk.ru) - 19.8 mA 2) Воткнул в разъем минифит MDB светодиод с максимальным током 20 mA (анодом в MDB_RxD / катодом в MDB_GND), слал со стороны MCU 0/1 - смотрел, зажигается ли диод: - вариант 3 (controller_m30) - горит/не горит - вариант 4 (kiosk.ru) - горит/не горит 3) Слал медленный (видимый глазу) меандр, чтобы посмотреть моргание диода: - вариант 3 (controller_m30) - моргает - вариант 4 (kiosk.ru) - моргает 4) Поставил шунт (резистор 30 Ohm) вместо джампера MDB_RxD, чтобы посмотреть напряжение и посчитать ток, который идет в диод: - вариант 3 (controller_m30) - воткнул шунт (резистор 30 Ohm) вместо джампера J4 Напряжение - 0.547 V Ток: I = U/R = 0.547/30 = 18.23 mA - вариант 4 (kiosk.ru) - воткнул шунт (резистор 30 Ohm) вместо джампера J13 Напряжение - 0.175 V Ток: I = U/R = 0.175/30 = 5.83 mA Итого: на нерабочей схеме варианта 3 получилось 18.23 mA. Сразу в башку стрельнуло вспышкой из спецификации: Peripheral Slave: = Receive: = Maximum input current (active): 15 mA @ 4V Maximum input current (inactive): 100 uA Т.е. получили 18.23 mA, вместо 15 mA. Решил сделать ток меньше 15 mA. 5) Впаял в схему варианта 3 резистор 510 Ohm, чтобы ограничить ток в петлю через MDB_RxD: I = U/R = 5/510 = 9mA В общем сделал, как вы предлагали, в плане того, что много 20mA для светодиода оптрона, который стоит в оптопаре купюрника. Повесил обратно шунт: - вариант 3 (controller_m30) - воткнул шунт (резистор 30 Ohm) вместо джампера J4 Напряжение теперь стало - 0.152 V Ток: I = U/R = 0.152/30 = 5.0 mA (тогда как на схеме рабочего варианта 4 было 5.83 mA). Запустил - MDB-периферия не отвечает. 6) Посмотрел на приемную линию MDB_TxD на рабочей схеме варианта 4, решил перенести все это во вариант 3: - поменял R2 510 Ohm на 10K (по аналогии с R16) - поменял R3 510 Ohm на 680 Ohm (по аналогии с R14) - врезал в линию 680 Ohm (по аналогии с R15) - повесил на линию кондер 100pF (по аналогии с C5) - повесил на диод Зеннера (стабилитрон) на 5.1V (по аналогии с D5) Запустил - MDB-периферия не отвечает по прежнему. 7) Подумал, может я все из пункта 6 криво припаял сверху, может проблема в этом: Чтобы это исключить, решил от MCU в MDB_RxD слать через вариант 3, а принимать в MCU из MDB_TxD на варианте 4 (который заведомо рабочий). Соединил две схемы через сделанные переходники. Запустил - MDB-периферия не отвечает по прежнему. Т.е. дело не в криво допаянной сверху обвязки приемной линии на варианте 3 (которая повторена по аналогии с вариантом 4). 8) Вспомнил, что вы говорили посмотреть до и после резистора R4, решил посмотреть: В итоге результат на скриншоте во вложении [26 - signal_before_and_after.jpg]. Как видно, сигнал на схеме не рабочего варианта 3 после резистора R4 не виден (он там периодически выстреливает в очень маленькой амплитуде). А вот на схеме варианта 4 - сигнал отчетливо видно и до и после резистора R12. Мне кажется, проблема в этом. А вот как это решить. И в каком направлении двигаться дальше. Просто очень хочется во всем разобраться фундаментально. Заранее всем спасибо за любые советы и рекомендации.
  3. To controller_m30: Транзисторы купил 2N2907, номинал, как у вас в симуляции в Proteus - один в один. На выходе стабилизатора напряжения стабильно +5V, а на выходе стабилизатора тока стабильно 20mA, при его КЗ на землю. --- Иду далее - просто пока замыкал MCU_TxD на питание и на землю: Когда MCU_TxD в 1, то MDB_RxD в 0. Когда MCU_TxD в 0, то MDB_RxD в 1. Все по логике, все как положено. --- Иду последовательно, подключаю MCU_TxD к USART_TX. Хочу просто прогнать меандр от МК (0x155), и посмотреть, что будет на стороне MDB на МDB_RxD. На выходе МDB_RxD - какая-то лажа. Скиншот во вложении [24 - last_scheme_result.jpg]. Расстроился. Даже не представляю в каком направлении мне дальше копать в этом вопросе. Что переделывать в схеме? Видимо я реальный "логический ноль" в основах аналоговой электроники. Довольно долго пытаюсь побороть эту опторазвязку MDB и не могу добраться непосредственно до программирования и MDB команд.
  4. To aleksandr-zh: Большое спасибо за схему. Увы они разные, причем те две схемы, которые у меня были изначально, что я вам показывал, значительно отличаются (они конкретно неправильны): 1) На разъеме MDB (MF-2x3MA) RX и TX перепутаны местами; 2) Земля +24V (2 нога) и сигнальная земля Communication Common (6 нога) не соединены между собой; 3) В линию RX MDB никакого тока не приходит (как у вас через PNP транзистор), там лишь оптрон тянет ее в землю (как будто бы 5V там уже присутствует по умолчанию); -------------------------------------------------------------------------- To controller_m30: Сделал вашу схему и схему с kiosk.ru (на всякий пожарный). Во вложении и в jpg и в pdf. [22 - 01_type3_3.3V.jpg / 22 - 01_type3_3.3V.pdf] [23 - 02_type4_3.3V.jpg / 23 - 02_type4_3.3V.pdf] Поглядел, вроде они не противоречат схеме от aleksandr-zh. Развел, сейчас пойду травить. Как запущу. Сразу отпишусь. 22___01_type3_3.3V.pdf 23___02_type4_3.3V.pdf
  5. To aleksandr-zh: Ваши схемы из вашего автомата вы мне не давали. Вы сказали, что приболели. Я не стал вас более беспокоить. Поэтому я и стал собирать те две схемы, которые у меня были (которые я вам показывал изначально): 1) Из поста германского товарища Bouni (http://blog.bouni.de/blog/2012/07/09/the-mdb-protocol-part-2/) 2) Из топика здесь на форуме ("MDB интерфейс, схема входной части slave" / http://electronix.ru/forum/index.php?showtopic=101328)
  6. Вскрыл оба: 1) Монетоприемник "NRI Currenza C2 Green MDB" Не нашел оптронов, все перерыл. Там куча разных моделей разноканальных аналоговых мультиплексоров 74HC40xx. Разные стабилизаторы напряжения LM317 и им подобные. Процессор NXP. Плата односторонняя. Разбирался адски-тяжело. Там "хитросделанная" система клипc и пластмассок. Причем там оторвана одна клипса. Т.е. кто-то туда уже лазил. С фига ли так, если мы покупали его как новый за кучу денег у поставщика ??? Но это к делу не относится. В общем не нашел оптронов. Хотя я и не знаю точно, там тьма похожих на SOT-23 деталек, только с четырьмя выводами (три снизу и один сверху). Сверхмаленьких, с нечитаемыми кодами, и их на плате тьма-тьмущая. Я просто не в курсе. Может уже делают сверхмаленькие супермелкие оптроны в таких корпусах. 2) Купюроприемник "ICT V7 DC34Volts MDB". Здесь оптроны есть. Все как на найденной мной картинке, которую я при приводил ранее. Там стоит два: 6N137 (Оптопара высокоскоростная 10 Мбит/с логическими уровнями на выходе [DIP-8]). Вот такие дела.
  7. To zombi: Вовсе не глупость!!! Этот вопрос не дает мне спокойно засыпать по ночам :rolleyes: Он вертится у меня в голове уже очень давно !!! По этому вопросу мы постоянно спорим с моим начальством. Опираясь на руководства к разным моделям купюрников и монетников - у меня двоякое впечатление сложилось. Например в руководстве купюрника CashCode MDB (не моего, у меня его нет) - в схеме показано, что они внутри у него есть (+триггеры Шмидта). Мне обещали подогнать конкретно эту модель CashCode MDB - поиграться, потестить, попробовать. В некоторых, особенно технически старых моделях (древнего производства) - вроде как внутри оптронов нет. Касательно моих двух товарищей (что у меня лежат новенькие купленные): ------------------------------------------------ 1) Монетоприемник "NRI Currenza C2 Green MDB" Не знаю, что у него внутри по оптронам. Руководства никаких схем не приводят. 2) Купюроприемник "ICT V7 DC34Volts MDB". Где-то из его какой-то старой версии документации нарыл схему по нему [21 - Bill_validator_inside.jpg]. Если я понимаю правильно, то вроде бы как оптроны у него внутри есть. ------------------------------------------------ PS. У меня две обугленные (не подлежащие реверсу) платы VMC от кофейников каких-то итальянских. Так вот - на них по два отпрона на MDB на каждой плате!!! To controller_m30: Убеждаю начальство - вскрыть монетник и купюрник. В процессе. Сам об этом постоянно думаю :rolleyes:
  8. To controller_m30: Увы я не удержался Причем не сколько я, сколько все мои коллеги на работе Вешали всякие номиналы резисторов, баловались с переменными резисторами. Результаты на скриншотах. [16 - MDB_RXD_Pullup_without_resistor.jpg] [17 - MDB_RXD_Pullup_with_10K.jpg] [18 - MDB_RXD_Pullup_with_1K.jpg] [19 - MDB_RXD_Pullup_with_560R.jpg] В общем все хотели убедиться, что это тупиковый вариант. И все убедились. Причем оптрону хоть бы что - он вообще неубиваемый какой-то!!! Весь день разбирался с этим делом, в итоге тоже к этому пришел. Откопал такую схему, человек говорит, что хоть проект сырой, но МDB там работает как надо. ------------------------------------------------------------------------------------ Топик на форуме "kiosks.ru", под названием "MDB-протокол": http://www.kiosks.ru/YAF/default.aspx?g=posts&t=21208 В нем есть ссылка на проект Altium Designer: http://kiosks.ru/go.asp?link=http://www.fr...s_v1.3_last.zip В проекте Altium Designer есть схема: mdb.SchDoc ------------------------------------------------------------------------------------ В общем вот схема на скриншоте во вложении [20 - MDB_side_electrical_circuit.jpg]. Буду собирать и вашу схему и эту (со всеми вытекающими на них номиналами). Завтра побегу закупать детальки и на ваш вариант и на вариант с форума КИОСК.РУ. Так и буду делать. Живой и неубиваемый PC817!!! Он крут!!! Я не знаю, что с ним надо сотворить, чтобы он сгорел. Хотя лучше не экспериментировать .... P.S. Как только протравлю, спаяю. Сразу отпишусь. Спасибо за помощь.
  9. Поменял RX и TX местами - теперь: 4 - это TXD монетоприёмника, а 5 - это RXD монетоприёмника. В итоге у меня сейчас все как на схеме [13 - 02_type1_3.3V.jpg]. Все что переделывал руками, помечено красным. Светодиод, который анодом был на питании, а катодом на линии TXD МК пришлось вырезать еще давно, так как когда линия TXD МК была в НУЛЕ, он почему-то вытягивал ее до 2V (что явно не было нормальным). Один черт не работает. Зато теперь, когда я просто запитываю купюрник и монетник у меня так на обоих линиях со стороны MDB одинаково - на мультиметре 0V и на осциллорафе как на скриншоте [14 - Changing_MDB_RX_and_TX.jpg]. По крайней мере нет больше пилы от 0V до 24V. В итоге сидел и думал. В оптрон данные заходят нормально, а с другой стороны линия MDB RX в НУЛЕ (всегда). По любому думаю RXD монетоприемника, которая теперь стала 5 ногой, надо подтянуть до 5V (чтобы оптрону было что в землю утаскивать). По протоколу она вроде как должна быть в 5V когда активна. Сделал как на схеме во вложении [15 - MDB_RXD_Pullup.jpg]: 1) MDB RXD (5 ногу) подтянул до 5V от отладки, на которой МК; 2) Сигнальную землю MDB (6 ногу) присоединил к земле платы с МК; В итоге MDB RXD (5 нога) стала 5V - но когда открывается транзистор оптрона, он не утягивает эти 5V к земле, там по прежнему остается 5V. Пробовал без этой подтяжки (когда там меандр от 0 до 1V) - оптрон утягивает его к земле как положено. Вопрос 1: У меня не было резисторов и я просто пульнул на MDB RXD (5 нога) 5V. Завтра раздобуду. Будет ли прок, если так же подтяну MDB RXD к 5V через 1К. Т.е. будет ли тогда оптрон при открытии транзистора утаскивать эти 5V в землю? Вопрос 2: Тут у меня оптопара PC814, в единственной схеме (в двумя диодами внутри), а во всех остальных схемах PC817 (c одним диодом внутри). Хотя наверное какая разница - она ведь работает как положено и я ее вдоль и поперек протестировал?
  10. To controller_m30: У нас в организации ничего такого нет. Но меня на днях начальство обещало повезти к их коллегам. У них в организации есть супер-крутой иностранный кофейный аппарат. Будем пробовать подцепить к их аппарату наш купюрник и монетник. Из персонала у них только монтажники, программистов в штате нет. И используют они иностранные готовые VMC в своих аппаратах - так что, они сразу нам сказали, что какие-то вопросы по MDB нам задавать бесполезно. Мы их не разрабатываем, а только собираем. Но я надеюсь, хотя бы проверить, работают они или нет на их аппарате после подключения к VMC этого их аппарата. У меня все что есть, пять обугленных (сгоревших) иностранных итальянских плат VMC с разных торговых автоматов, но они сгоревшие в ноль. Так что запитать их, и что-либо с них "отреверсить" не вариант. Купюрник и монетник новые, мне их купили только-только. Пока они даже не ставились никуда. Вроде все правильно по формату байтов (хотя язык их не поворачивается называть байтами - так как они 9-ти битные). Все обрисовал на скриншоте во вложении [11 - MDB_and_UART_byte_format.jpg]. ДО ИНВЕРСИИ: Сейчас он инвертирован, а когда он был без инверсии, я соединял по нему две платы с XMEGA'ми и гонял по нему тестовые девятибитные последовательности по USART'ам. Все работало идеально. Сигналы прямоугольные были на осциллографе, ничего не заваливалось. ПОСЛЕ ИНВЕРСИИ: Но сейчас, как вы сказали, я его инвертировал (анод на TX контроллера, катод на землю). Так что по двум USART'ам уже не погоняешь. А вот число 0x171(hex) в цикле посылать перепроверил, скриншот во вложении [12 - Optron_inversion.jpg]. Вроде бы как без завалов. Все инвертируется, как положено, согласно логике - бездействие USART TX - ЕДИНИЦА, а бездействие VMC TX - НОЛЬ. На днях коллега обещал дать свой китайский клон Saleae Logic с Алиэкспресса. Перепроверю. Вот я дурак был, что не заказал себе. Я ему его заказывал около 900 рублей с Алишки. Он к нам ехал аж 4 месяца!!! С нашей то почтой России. Поставшик два раза продлял мне срок. Относительно земли питания 24В (нога 2) - и RX и TX показывают нули, что осциллографом, что мультиметром. Относительно земли для сигнальных линий (нога 6) - все как и было [9 - Oscilloscope_and_multimeter.jpg]. Офигеть!!! Действительно!!! Вот что значит взглянули "незамыленным" глазом. Побежал потрошить плату-травленку, чтобы поменять местами RX и TX!!! Первым делом отпишусь по результатам!!! PS. controller_m30 - спасибо, что помогаете.
  11. To controller_m30: Проинвертировал оптрон №5 (что на линии данных от контроллера в сторону MDB Slave / TX контроллера и RX у MDB Slave). Благо было на чем это проделать, у меня на одной текстолитке вытравлено четыре варианта опторазвязок для MDB. Но увы - не заработало. И данных от MDB устройства я так и не увидел. Я дополнительно прицепил на шину MDB кроме монетоприемника "NRI Currenza C2 Green MDB" еще и купюроприемник "ICT V7 DC34Volts MDB" ["6 - Coin_acceptor_and_bill_validator.jpg" во вложении]. Там фишка в том, что все периферийные MDB устройства вставляются друг в друга, а потом уже в VMC (в моем случае микроконтроллер). Стал слать следующие команды в цикле с задержками (описанными в спецификации): 1) RESET по адресу монетника; 2) POLL (опрос) по адресу монетника; 3) RESET по адресу купюрника; 4) POLL (опрос) по адресу купюрника; Но ни купюрник, ни монетник мне не ответили. Что заметил, при детальном рассмотрении этих ссылок. Вы мне дали ссылки на два поста германского товарища Bouni, который управлял старым газировочным автоматом с помощью Arduino Mega2560. Я собственно один из вариантов схемы опторазвязки MDB с него и срисовывал. Но вы указали мне, что у него там оптроны инвертированы с точностью до наоборот. Я внимательно стал вчитываться, и что заметил, что в посте номер 1 у него одна конфигурация оптронов, а в посте номер 2 с точностью до наоборот ["7 - Mistakes_on_first_optoisolator" во вложении]. Ну так я и срисовывал схему со второго его поста. И сейчас как я понимаю, что она действительно неправильна. Так как у VMC состояния бездействия "idle mode" равно 0, а у обычно МК'шного UART состояние бездействия равно 1, то там очевидно инверсия оптрона напрашивается. А другой вариант MDB опторазвязки мне дали на форуме ["8 - Second_optoisolator.jpg" во вложении]. И он полностью эквивалентен варианту без инверсии данных от МК из второго поста германского товарища. Как я выяснил, эта схема из топика здесь на форуме ("MDB интерфейс, схема входной части slave" / http://electronix.ru/forum/index.php?showtopic=101328) - и у человека там, судя по его словам все заработало. --- А смущает меня следующее. Я запитываю без подключения к опторазвязке монетник и купюрник (+24V DC), чтобы поcмотреть, что у него (у них) на линиях RX и TX. Но на деле там что-то, что не соответствующее логике ["9 - Oscilloscope_and_multimeter.jpg" во вложении]. Там явно на RX у MDB устройств не может быть пилы от 0 до 24V (ведь мультиметр показывает 0V). Обычно такое бывает (насколько я знаю из своего опыта), когда земляной крокодильчик у щупа осциллографа отрывается от земли, или подключен к не той земле или с землей что-то не то. Вопрос 1: Может надо подключить MDB_GND (Communication Common) к земле микроконтроллера? Т.е. RX/TX развязаны оптически через оптроны, а земли у них соединены напрямую. Вот сижу и думаю. Вроде когда мы подключаем разные UART'ы друг к другу мы же соединяем у них три проводка RX,TX и землю. Может и здесь им земли соединить? Разве смысл отпторазвязки не в том, чтобы у каждого были свои питания и земли? Вопрос 2: Внимательно изучал схему опторазвязки из первого поста германского товарища Bouni - у него там на стороне MDB устройств линии подтянуты до 5V [9 - Oscilloscope_and_multimeter.jpg" во вложении]. У меня же ничего не подтянуто. Просто опираясь на те две схемы, что мне дали, я думал эти подтяжки линий до 5V сделаны внутри моненика и купюрника. Попытался тупо повесить на RX со стороны MDB устройств 5V через резистор 1К от блока питания, но ничего не заработало и сигналов на линиях я так и не увидел. Скорее всего опять у меня что-то не так в плане соединения земель. Возможно мне стоит переделать что-то в схеме, в плане подтяжки до 5V? PS. Не сочтите за наглость столь большое количество текста в сообщении, просто уже очень давно бьюсь над этой задачей.
  12. Доброго времени суток, уважаемое сообщество форума. Столкнулся с "затыком", который побороть самому не получается. Не могу наладить связь между монетоприемником "NRI Currenza C2 Green MDB" и платой с МК ATxmega128A1 протоколу MDB. По советам и рекомендациям пользователя "aleksandr-zh" (за что ему огромное спасибо), сделал 4 варианта опторазвязок для MDB (два варианта для МК с 5 вольтовыми сигналами и два варианта для МК с 3.3 вольтовыми сигналами). Все они работают, я их по двадцать раз перепроверял, гонял туда сюда меандры. Использую вариант, как на схеме во вложении [04_type2_3.3V.pdf]. 9-ти битный USART сделал из USART-interrupt драйвера из аппнота "AVR1307:Using the XMEGA USART" путем добавления всего необходимого, для записи TXD8 и чтения RXB8. Там тоже все работает, двадцать раз перепроверял, заставляя две платы слать друг другу 9 битные фреймы и сравнивать их потом. Согласно спецификации протокола MDB (использовал версию 4.2 - на всякий случай во вложении [MDB_version_4-2_(february_2011).pdf]), первое, что должен сделать VMC (Vending Machine Controller) при включении питания - это отправить команду RESET на периферийное устройство (монетоприемник). А монетоприемник должен ответить на это подтверждением (ACK). Но в моем случае в качестве VMC выступает MK XMEGA. Выглядит, так: 1) VMC отправляет - 0x108 / 1 00001 000 (команда RESET по адресу монетоприемника) 2) VMC отправляет - 0x008 / 0 00001 000 (чек сумма) 3) Монетоприемник отвечает - 0x100 / 1 00000 000 (команда подтверждения ACK от монетоприемника) Т.е. как во многих источниках написано, этими ресетами, VMC не просто сбрасывает всякие периферийные устройства, а проверяет за счет их ответа подтверждения ACK - есть ли они на линии, или их там нет (может вырвали и убежали...). Ну так вот проблема в том, что мне монетоприемник ничего не отвечает на RESET, по вышеописанному алгоритму. ==== Проверка опторазвязок === Чтобы исключить проблемы на стороне опторазвязки, еще раз погонял через оптроны меандры в обе стороны, причем как 3.3 вольтовые с платы с МК XMEGA, так и 5 вольтовые с "ардуино мега" - все работает. Проверил так же с помощью платы с XMEGA, обе стороны, как показано на рисунке во вложении [Optrons_testing.jpg]. Вроде бы все работает, и проблема не в опторазвязке. ==== Проверка линий RX и TX на монетоприемнике ==== Просто запитал монетник, и решил проверить, что у него твориться на линии RX и TX в режиме бездействия (idle mode). И меня смутило следующее, что я увидел: - На линии TX - меандр от нуля до 1 вольта; - На линии RX - какая-то пила от нуля до 24 вольта; Скриншот двух линий во вложении [TxD_and_RxD_on_coin_accepror.jpg]; ВОПРОС 1: Вроде бы как это вовсе не нормально? Разве на линии RX не должно быть подтянуто до 5 вольт (ЕДИНИЦЫ), и характеризовать начало передачи, когда транзистор оптрона утаскивает ее в НОЛЬ? И разве на линии TX не должен быть при простое (молчании) НОЛЬ, а ЕДИНИЦА (5 вольт) характеризует начало передачи? Вроде бы как из спецификации протокола и схемы опторазвязки - это просматривается очевидно? ВОПРОС 2: Может ли быть что-то не то с монетником? Он моргает диодами сериями по 3 моргания в серии (скриншот во вложении [Coin_accepror_leds.jpg]). Сначала 5 серий красного диода, потом 1 серия желтого. Перечитав от корки до корки "User Manual" и "Installation Guide" на монетник, все, что я нашел там про индикацию диодов: - Если горит красный, то надо вызывать сервисного инженера. - Если горит желтый, то пользователь сам в состоянии справиться с проблемами. - Если горит зеленый, то у вам по жизни все нормально и проблем вроде бы как и нету вовсе. PS. Вроде бы все понятно (в теории), но без помощи я не могу сдвинуться с места. Буду благодарен за любые директивы, в каком направлении копать и отлаживать. 04_type2_3.3V.pdf MDB_version_4_2__february_2011_.pdf
  13. Следующие два "ходовых" программатора: 1) AVRISP mkII (P/N# ATAVRISP2) (Atmel) 2) JTAGICE mkII (USB AVR JTAGICE XPII) (Waveshare Electronics) - оба сняты с производства в декабре 2014 года. То, что продают многочисленные дистрибьюторы - это остатки на их складах. Если дистрибьютор обещает вам поставить их в течении 2-х или 3-х месяцев - то значит он просто не владеет информацией (меня так "завтраками" кормили, обещали поставить под заказ). А я написал в саппорт Атмела - и мне объяснили, что больше не выпускаем. По замене из фирменных атмеловских выбирать особо не из чего - это только одна модель - ATMEL-ICE в 3-х комплектациях: 1) Atmel-ICE (P/N# ATATMEL-ICE) (Atmel) - [полный комплект включая программатор-отладчик и переходные кабели] ~7213 рублей 2) ATATMEL-ICE-BASIC (Atmel) - [только программатор-отладчик без комплекта кабелей-переходников] ~4804 рубля 3) ATATMEL-ICE-PCBA (Atmel) - [программатор-отладчик без корпуса (печатная плата с элементами) и без комплекта кабелей-переходников] ~3126 рублей + еще ATAVRDRAGON (Atmel) ~4804 рубля Цены указал - те, что нам ЭФО(Питер) поставлял месяца 4 назад. Сейчас может подороже - из-за всяких так политических и экономических вещей.
  14. Здравствуйте, члены сообщество форума electronix. Передо мной стоит следующая задача: "Запуск 4.3 TFT дисплея Riverdi с контроллером FT800 на борту на плате с микроконтроллером Atmel AVR ATxmega256A3U-AU". --- Имеется следующий дисплей: Производитель: Riverdi Модель: RVT4.3B480272CFWN00 Ссылка на даташит: http://riverdi.com/wp-content/uploads/data...N00_Rev.1.4.pdf На деле - дисплейчик 4.3 TFT с графическим контроллером FTDI FT800 на борту. Контроллер может принимать команды по SPI или по I2C. Требуется использование SPI для передачи команд от МК графическому контроллеру FT800 дисплея. --- Имеется следующий переходник для подключения дисплея: Производитель: Riverdi Модель: Break Out Board 20 Ссылка на даташит: http://riverdi.com/wp-content/uploads/data...-20_Rev.1.1.pdf На деле - тупо маленькая зеленая платка-переходник с IDC-20M на 20-пиновый разъем FFC(ZIF). Просто на дисплее FFC(ZIF) разъем, а на плате с МК IDC-20M разъем. --- Имеется плата с микроконтроллером Atmel AVR ATxmega256A3U-AU на борту. Даташит на МК: http://www.atmel.com/ru/ru/Images/Atmel-83...U_datasheet.pdf На плате SPI-йные пины PORTС у ATxmega256A3U-AU, а именно: - PIN 20 (PC4) - SS - PIN 21 (PC5) - MOSI - PIN 22 (PC6) - MISO - PIN 23 (PC7) - SCK Плюс оставшиеся пины PORTС, задействованы на функции дисплейчика, а именно: - PIN 17 (PC1) - INT - PIN 18 (PC2) - PD - по этому сигналу сбрасываются значения внутренних регистров команд FT800 - PIN 19 (PC3) - MODE - выбирает какие команды есть FT800 - SPI или I2C А в результате весь PORTC выведен на разъм IDC-20M, из которого IDC-шлейф в переходник Break Out Board 20, а из него маленький FFC-шлейф в дисплей. --- Более конкретная задача: Просто сделать квадратик и формочку с надписью на дисплее. Если кнопка не нажата - один цвет квадратика и одна надпись в формочке. При нажатии цвет квадратика и надпись в формочке поменялись. Можете писать здесь в форуме или мне на почту - [email protected]. PS. По цене договоримся, просто действительно хочется побороть этот дисплей. Я думаю, тот кто с этим контроллером дисплея знаком и работает - дело пятиминутное. Плюс на сайте FTDI вагон и тележка примеров кода и Programmers Guide документов - но только они в основном под ARM'ы, HAL'ы и какие-то свои FTDI микроконтроллеры. PPS. Сам так и не смог его запустить. Мучился долго (почти месяц). Уже и не знаю где проблема. В работе SPI, в клоках, в дисплее. Он у меня нормально отрабатывает только команды ACTIVE и POWERDOWN. Дисплейчик по первой загорается, а по второй гаснет. А вот нормально ли он кушает пучок команд по инициализации контроллера, пучок команд по инициализации дисплея, я так и не разобрался.
  15. To zombi: Спасибо за информацию. Вроде понемногу проясняется. Вопрос: Если это должна быть токовая оптически изолированная петля с уровнем напряжения 5 В, а у меня например вместо готового решения VMC платы, своя плата с МК, который на 3.3 В. Ну например, ATxmega256A3U-AU, то компетентна (или правильнее сказать адекватна), ли схема развязки, как во вложении? Или туда между МК и оптронами надо поставить какой-нибудь преобразователь TTL<=>LVTTL (5V<=>3.3V), чтобы соответствовать требованиям стандарта (с уровнем напряжения 5 В)? Заранее вам спасибо за ответ.
×
×
  • Создать...