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

Splinter

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

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

  • Посещение

Сообщения, опубликованные Splinter


  1. Я всетаки склоняюсь к тому что гдето это поведение должно быть описано. В Зеленой книге есть ремарка

    In the case of the GET- / SET- / ACTION-WITH-LIST services the client cannot control what should
    happen if one of the requests fails. In contrast, the ACCESS service allows the client to control if the
    requests that follow the failed one on the list should be processed or not.

    Т.е. это Failure management для службы ACCESS. Тут говорят что в случае Get клиент не решает что будет дальше. Но вот где подробности непонятно.

  2. Приветствую. Подскажите те у кого есть полные версии цветных книг DLMS/COSEM. Стандарт както описывает реакцию на получение ненулевого значения data-access-result при получении кадра get-response (в ответ на get-request)? Т.е. например есть такая ситуация, клиент в пределах одного сеанса запрашиваем у сервера несколько объектов подряд класса регистр (class_ID = 3). Тут на запрос одного из объектов в ответ прилетает кадр с data-access-result равным, ну к примеру, 11 (unavailable_object). Что мы должны сделать: разорвать соединение, продолжить читать остальные объекты, чтото иное...? Описана ли эта реакции в стандарте?

  3. Промаялся с Протексом 2 дня. Я в тупике.

    Взял базовую модель 80С51. Модели для памяти 512 кБ не нашел, взял 8 шт. по 64 кБ (27С512) и навесил дешифратор адреса на 74LS138. Насколько я понял в свойствах 80С51 нужно поставить Simulate Program Fetches = yes для работы с внешним ROM и /EA посадить на землю.

    Но нифига не работает. На линиях адреса и данных высокоимпедансное состояние. Хотя линия выбора внешнего ROM /PSEN падает в ноль.

    В окошке текущей выполняемой инструкции одни NOP.

    Подскажите что делаю не так?

    ______.zip

  4. Спасибо за наводку. Поставил Протеус, поигрался немного и возникла пара вопросов.

    Во время симуляции где смотреть ассемблерный листинг, где ставить бряки? Нашел окно регистров CPU, там отображается только текущая инструкция.

    Как править содержимое регистров? В частности есть необходимость оперативно изменять регистр РС (кстати его нигде не вижу).

    Может кто-нибудь накидать примерчек с подключением внешних RAM (32кБ) и ROM (512 кБ А16-P3.5, A17-P3.4, А18-P1.7) к 8051 в Протеусе?

    Можно ли на основе имеющегося в Протеусе МК сделать свой с нужной периферией (судя по описанию все 8051 в Протеусе используют одну dll для симуляции)?

     

  5. Есть устройство на тайваньском МК IP210S - это 8051 + Ethernet на борту. Нужно расширить его функционал, для чего провожу декомпиляцию. Есть загвоздка, усложняющая задачу. Прошивка помещается во внешний Flash емкостью 512 кБ. Эта Flash делится на банки по 64 кБ (всего 8 банков). Управление банками производится с помощью 3-х GPIO (3 верхних линии адреса).

    Подскажите, можно ли в IDA как-то упростить себе задачу, реализовав автоматическое управление банками. Или может можно как-то поместить их в сегменты и хотя-бы вручную их переключать? Сейчас у меня запущенно 8 копий IDA, в каждой из которых открыто по одному банку кода. Это ужасно неудобно.

    И еще подскажите есть ли какой-то симулятор/отладчик в котором можно управлять банками кода (хотя-бы вручную)?

  6. Вы бы тип нагрузки ещё указали и потом схемку с номиналами выложили которую будете макетировать. Тогда с нашей помощью, грабель бедет меньше ;)

    Спасибо за участие.

    Раздобыл наконец кусочек схемы входных цепей прибора, входами которого нужно управлять. Схемка конечно схематичная, но основные принципы понятны. Полярность источника питания входных цепей показана условно, можно и наоборот - прибору без разницы. Параметры входов: напряжение на входе 220В +-20% постоянное; входной ток 1,5мА при 220В; входное сопротивление 140кОм. Разрабатываемое устройство должно заменить кнопки (ключи) на входе устройства.

    Будет время визуализирую в виде схемки то, что собираюсь смакетировать.

    post-31025-1321347244_thumb.png

  7. Ну да, взять маленький DC-DC, лучше для безопасности с трехкиловольтной развязкой.

    Спасибо, приму к сведенью как вариант. Цена DC-DC на 5 вольт порядка 200р, если использовать совместно с решением опторазвязки регистров и с транзисторами на выходе то получается вполне бюджетно.

  8. 64 линии - это довольно громоздко. Я бы поставил регистры с последовательной загрузкой (74hc595), а вот их-то вполне можно отвязать от процессора оптопарами. Правда, потребуется три-четыре штуки вместо одной-двух для развязки RS-232 (а скорости-то какие у RS-232 ? Если маленькие, то можно и ширпотребом типа 4N35 обойтись). А регистры пусть высоковольтными npn-транзисторами управляют. В условиях ограниченного бюджета предложенные транзисторы - IMHO, безальтернативный вариант...

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

    На RS-232 достаточно скорости 9600.

     

    Заказал пока в местном магазине по штучно оптопару KP4020, оптореле CPC1035N и транзисторы MMBTA42 (номиналы из того что реально есть по каждому из решений) - соберу на макетке каждый вариант и посмотрю как работает, какие проблемы и т.п. Если есть еще соображения/предложения - по прежнему буду рад услышать пока вопрос не закрыт.

  9. Где вы хотите разрывать цепь нагрузки? Если её можно откключать от земли, то в разрыв ставиться n-p-n по схеме с ОЭ. Между базой и выходом МК ставите резистор. Ещё желательно с базы на землю резистор. Транзистор, указанный выше, стоит меньше рубля. И всё! Это если нагрузка активная.

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

     

     

    Вот за что я не люблю транзисторы, за то, что они транзисторные.

    Красивый афоризм, нужно взять на вооружение :)

     

    Вы просуммируйте стоимости, включая пайку. Разница получится не такой устрашающей.

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

    Опять таки - опторазвязки на проц не требуется. А это значит, что с питанием у него будет все нормально.

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

     

    +1

    А есть вот такие PRAC34S (два в одном) и в том же Платане 90 р за шт. или 75 за мелкий опт

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

  10. Какой симистр? Постоянный же ток.

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

    Вы бы ответили на мои вопросы. STPSA42(MMBTA42) вряд ли дешевле найдете. А схему надеюсь, сами нарисуете :)

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

     

    ADM3251 - с питанием внутри уже.

    Принимается, спасибо. Только вот с доступностью данной м/с думаю есть проблемы, у нас в городе их точно нет, однако направление поиска понял, кажется у Максима есть подобные м/с с гальванической развязкой.

  11. Симистор исключается. Реле на таких токах будет глючить.

    Полностью согласен.

     

    Просто P-канальный мосфет и в затвор ему транзистор биполярный какой-нибудь. Тоже высоковольтный.

    Опторазвязывать дешевле сам микроконтроллер, если требуется. В смысле, если предполагается внешнее управление этим контроллером.

    Тоже думал об этом варианте. Кажется оптимальным по стоимости. Только не могу найти легкодоступный маломощный поливичек на высокое напряжение. Может посоветуете? И совсем бы хорошо схемку набросать. А вот про опторазвязку я как раз и мучился - в данном варианте ставить 64 оптопары кажется накладным. Как-то и не подумал, что достаточно развязать по интерфейсу - может есть схемка развязки (интерфейс RS-232)?

     

     

    Photovoltaic Relay типа PVT412 или PVT422 не подойдут?

    https://ec.irf.com/v6/en/US/adirect/ir?cmd=...1620+4294870945

    Вариант очень хороший, но очень дорогой. У нас в городе PVT412 стоит 120р, даже если заказывать из Москвы все равно дорого. Есть более бюджетный вариант CPC1035N - 60р, но тоже не дешево. Есть вариант номер 2 (по приоритетности после полевичка) - KP4020, на выходе дарлингтон, две оптопары в корпусе - 33 р за корпус, вполне бюджетно.

  12. Прошу помощи в рекомендациях по построению выходного (управляющего) каскада для управления высоковольтной нагрузкой постоянного тока. Задача следующая: с помощью МК управлять высоковольтной нагрузкой постоянного тока с напряжением 200-250 В и током до 10 мА. Функция управления имеет два состояния: включено и выключено, скорость коммутации не более 2-4 Гц. Т.е. интересует схемное решение от ножки МК до клемм подключения нагрузки. Хотелось бы получить решение с небольшой стоимостью и малогабаритное, т.к. в устройстве предполагается 64 таких канала.

  13. У фрискейлов нет модели с SDRAM и PHY одновременно. Или - или.

    Для нашей задачи SDRAM и не потребуется.

     

    Используем MCF5223x. Они, правда, прожорливые: 300 мА на 100 Мбит/с, 200 мА на 10 Мбит/с, при тактовой 50 МГц. Если этот показатель важен, то нужен малопотребляющий внешний PHY типа KSZ8051. Зато Freescale обещает, что будет их поставлять до 2017 года:

    Freescale Product Longevity

    Если поискать, то их можно купить за 6$ в кол-ве 100 шт., но это за бугром.

     

    Спасибо за наводку, рассматриваем. Хотя их производительность для нас избыточна, но радует наличие аппаратного криптомодуля - можно будет реализовать криптование данных.

    Я так понимаю у вас есть опыт работы с этими MCU. Подскажите, у freescale TCP/IP стек бесплатный? сколько памяти занимает стек вместе с HTTP (или без него)?

  14. поиском по форуму не пробовали воспользоваться?

    http://electronix.ru/forum/index.php?showtopic=44276

    Да ну конечно пробовал. Вариант по ссылке мало подходит (хотя в принципе тоже рассматривается) из-за своей громоздкости - 3 м/с + трансформатор развязки. К тому же беглый взгляд по поставщикам дал суммарную стоимость более указанной выше. Хотелось бы услышать вариант "всё на борту", как например PIC18 c Ethernet (но он не нравится моим проектировщикам потому что PIC, и вроде энергопотребление высокое) или DiGi серии Net (избыточно мощно - ARM9 - и дорого).

  15. Прошу помощи в выборе MCU с Ethernet(MAC+PHY) на борту. Производительность и богатство перифирии интересуют в последнюю очередь. Самым важным параметром является цена - до 5-6$. Достаточно 8-бит ядра. Ну и желательно чтобы чип был относительно свежим - чтобы долгое время был доступен к покупке. Очень желательно наличие бесплатной реализации TCP/IP. Вариант с отдельным MCU + м/с PHY выглядит мало пригодным из-за высокой конечной стоимости, хотя если кто-то знает такую связку за указанную выше цену - буду рад выслушать варианты.

    Для оценки функциональных возможностей и производительности укажу область применения - интеллектуальное реле, набор функций минимален - работа по алгоритму загружаеиому через Ethernet; работа по командам из вне; 8 дискретных канала на выходе.

    Кстати может кто ещё и часы реального времени посоветует - опять же по максимально низкой стоимости.

  16. Функция, которую вы привели в примере написана не на ассемблере, а на С с ассемблерной вставкой. Ассемблерная функция пишется в отдельном файле по правилам для компилятора ассемблера. А у вас просто С функция, в которую вставили некоторое количество ассемблерных команд.

     

    Доступ к локальным переменным из ассемблерной вставки у разных компиляторов выглядит по разному. Посмотрите help. Скорее всего пройдет нечто похожее на LD REG, LOCAL_VAR для загрузки регистра и LD LOCAL_VAR, REG для сохранения результата ассемблерной вставки в локальную переменную. Далее достаточно просто выполнить return LOCAL_VAR.

     

     

    Спасибо за разъяснения. Посмотрел внимательнее Help и нашёл

     

    The functions return their values in the registers (from LSB to MSB):

    R30 for char and unsigned char

    R30, R31 for int and unsigned int

    R30, R31, R22, R23 for long and unsigned long.

     

     

     

    Ну вот эти 3 строки кода и вылезли в проблему...

     

    Вы неправы, это не проблема, а временная трудность с которой рано или поздно пришлось бы столкнуться. А если постоянно использовать готовые библиотеки то никогда и не научишься правильно и грамотно писать.

  17. Пишу свой первый проект для МК, учусь в процессе, осваиваю Си (CodeVisionAVR).

    Столкнулся с проблемой, решения которой немогу найти ни в книгах ни в примерах.

    Вот суть: пишу функцию для SPI (используется модуль USI в ATTyni26) на ассемблере, как передать параметры я разобрался а вот как вернуть результат этой функции никак ума не приложу. Вот код функции:

     

    char spi_transfer(char data)

    {

    #asm

    ld r16, y

    out 0xf, r16

    ldi r16, (1<<USIWM0)+(0<<USICS0)+(1<<USITC)

    ldi r17, (1<<USIWM0)+(0<<USICS0)+(1<<USITC)+(1<<USICLK)

     

    out 0xd, r16

    out 0xd, r17

    out 0xd, r16

    out 0xd, r17

    out 0xd, r16

    out 0xd, r17

    out 0xd, r16

    out 0xd, r17

    out 0xd, r16

    out 0xd, r17

    out 0xd, r16

    out 0xd, r17

    out 0xd, r16

    out 0xd, r17

    out 0xd, r16

    out 0xd, r17

    in r16, 0xf

    #endasm

    return;

    }

     

    Как нужно реализовать return ?

×
×
  • Создать...