Jump to content

    

KiV

Свой
  • Content Count

    176
  • Joined

  • Last visited

Everything posted by KiV


  1. Имеется два ARM с FreeRTOS внутри (прошивки каждого выполняют полностью идентичные функции) и один аппаратный канал связи с внешним устройством, который разделяют оба процессора (канал - только выходные сигналы). Имеется также по одному выходу и, соответственно, входу на другом процессоре для индикации занятости (1) и освобождения (0) канала. Время обмена по каналу ~ 5 мс. Время цикла обработки данных процессором - 20 мс +-1 мс. Т.е.каждый процессор должен 5 мс работать с каналом, потом на 15 мс освободить канал и занимается своими делами. В это время канал может использовать второй процессор. Но есть один нюанс - любой процессор может быть включен или выключен в произвольный момент. При этом работающий процесор должен продолжать работать штатно а вновь подключенный - засинхронизироваться с уже работающим. Что-то совсем запутался с приоритетами и семафорами - совсем лыжи не едут. Может кто-то подскажет правильный алгоритм для такой конфигурации?
  2. Именно так и реализовано. Проблема в разрешении коллизий при включении/выключении.
  3. Вот это и портит всю картину. Если-бы всё было включено постоянно - не было-бы никаких проблем. Изначально всё и работало как мастер-слэйв - причем кто первый включился, тот и мастер. Но потом кто-то выдернул разъем мастера...
  4. Так может кто предложить как реализовать в моей ситуации?
  5. Mutex хорош, когда надо разделить ресурс между двумя процессами на одном кристалле, а как выдать один мьютекс на двух отдельных кристаллах в двух программах? У меня действительно ошибочный алгоритм, поэтому и задал вопрос.
  6. Именно так!!! Я никак не могу придумать этот самый алгоритм :( Постоянно получаются гонки/дедлоки/etc... Поэтому и задал вопрос - возможно кто-то уже реализовывал подобное. Что такое mutex, semaphore, event group я знаю. У меня в алгоритме постоянно или гонки или еще какая бяка выскакивает и портит обмен :(
  7. Мне необходимо синхронизировать два "мастера" на одном аппаратном интерфейсе. Сигналы занятости интерфейса каждый процессор выдает другому по отдельному порту ввода/вывода.
  8. Флаги в FreeRTOS

    Именно так, все задачи разблокируются. Это поведение описано в "FreeRTOS Reference Manual" и в "Mastering the FreeRTOS Real Time Kernel" в разделе "Event Groups". Оба документа есть на официальном сайте.
  9. Возможно я не совсем ясно описал проблему. Дело в том, что интерфейс исполнительного устройства есть и не может быть изменен. Там уровни сигналов TTL и что-то типа синхронного SPI с сигналами тактирования, данных, выбора, разрешения и загрузки. Причем сигналы должны выдаваться в определенной витиеватой последовательности. Если использоватть CAN, RS-485 или что другое - нужно будет городить преобразователь на дополнительном процессоре из этого интерфейса в понятный внешнему устройству. Это невозможно по причине физических и финансовых ограничений. Кроме того, я вроде разместил сообщение в теме FreeRTOS, задав вопрос именно о том, как решить проблему программно, средствами FreeRTOS.
  10. Спасибо конечно, но: Это во-первых. А во-вторых мне придется ещё пару процессоров поставить, чтобы в десяти сантиметрах от основных процессоров декодировать CAN в подобие SPI обратно для исполнительного устройства.
  11. Cortex-M7

    Цитата(Огурцов @ Apr 24 2015, 08:04) допустим не в пять и почему увеличение ? кремния нужно меньше раз в 100, так что будет не дороже я бы купил и никуда не ушёл с меги8 - нафига лишние вливания в разработку и отладку новых, и обычно кривых и глючных камней ? Не путайте площади пентиумов и меги - это вещи несколько разные! Тут уже Xenia приводила ссылку на вскрытый кристалл меги - посмотрите. И обратите внимание на "поясок" по периметру кристалла - это выходные драйвера и площадки для разварки. И их никак не уменьшить, ибо траверсы, привариваемые к кисталлу до нанометров не уменьшить, и драйвера, работающие при 5 Вольтах с соответсвующими токами тоже не сделать меньше. И в данном кристалле отношение пощади ядра к площади падов примено 2 к 1 и это я не учитываю еще края на резку кристаллов. Что получаем в результате: 1) Даже если уменьшить ядро до нуля, площадь уменьшится только в 3 раза! 2) А теперь представьте, что само ядро на той фотке умньшилось по площади в 100 раз... и потом представьте, как разместить те-же самые площадки по периметру этого ядра. Т.е. в лучшем случае раза в два уменьшим кристалл. 3) А теперь добавим в цену таких кристаллов подорожавший весьма существенно техпроцесс, разработку нового кристалла под этот техпроцесс, разработку фотошаблонов для него - а они после 180 нм стоят очень дорого, а после 90 нм - просто бешено. И где дешевизна будет? Цитата(Огурцов @ Apr 24 2015, 08:04) а кто заставляет флеш ? уменьшение норм даёт квадратичное увеличение озу - залил тихонько и работай быстро Заставляет например это: Цитатая бы купил и никуда не ушёл с меги8Поскольку для ОЗУ понадобится загрузчик с внешней памяти и доп. периферия, доп. выводы и т.д. то это уже не будет мега8 Цитата(_4afc_ @ Apr 24 2015, 10:02) Вероятно питание ядра внешнее - и урезание количества ног не даёт возможности подать ядру ток необходимый для 600МГц. По моему оновная проблема - помехи. У выводных копрусов очень длинные связи до развязывающих конденсаторов на плате. Соответственно начинают влиять индуктивности выводов. Во всяких компьютерных CPU/GPU даже прямо на корпусе размещают фильтрующие емкости. И плюс по сигнальным цепям тоже проще с BGA работать становиться.
  12. Cortex-M7

    Цитата(Xenia @ Apr 24 2015, 02:59) т.к. это ограничение технологического плана, а не архитектурного. [sarcasm] Угу и конвейеры в ARM и прочие архитектуры суют просто так, для развлечения. и цена на чипы совсем не зависит от технологии... особенно цена разработки и запуска в производство. и Интел просто не хочет повышать частоты в своих супермелких технологических нормах... и, кстати, ЭСЛ чипы по нормам 0,8 микрон не работают на 500 МГц [sarcasm off] А реально и без сарказма если - то никто не будет покупать 100 МГц AVR Mega999 с техпроцессом 65 нм в 5-10 раз дороже обычной mega88. Все купят ARM на те же частоты но 90 нм, с конвейером и тактами ожидания флэши... за цену старой mega88 и 32 битной архитектурой Реалии таковы, что одним только технологическим уменьшением норм не добиться соответствующего ускорения процессора. Меняются и архитектуры, и куча всего, чего мы просто не знаем Цитата(scifi @ Apr 24 2015, 05:52) Altera ... 100 МГц флэш на борту... Ага. 116. МегаГерц. Тактовой частоты... интерфейса !!! А то, что после подачи адреса, данные появяться только через 5 (ПЯТЬ!!!) тактов этой самой частоты Вы не посмотрели? (MAX 10 User Flash Memory User Guide, Figure 4-8) Ну вот теперь попробуйте 116 МГц разделить на 5. И с какой частотой там флешь работает? Цитата(scifi @ Apr 24 2015, 05:52) А вот традиционным МК-строителям постоянно что-то мешает. Да нет практически флеши с частотами выше 20-30 МГц (ну кроме уникальной от Renesas, скорее всего обложенной патентами со всех сторон) и это не зависит от технологических норм. Даже отдельные микросхемы NOR Flash за 30 МГц не выходят. Там другие проблемы появляются - нельзя слишком быстро включить транзистор с помощью заряда в плавающем затворе. Плюс к тому далее этот сигнал надо распознать и аналоговым компаратором вычислить ноль или единица была в затворе. А это процесс не быстрый. Аналогично работают и все SDRAM, только там не плавающий затвор, а конденсатор. И скорости выборки SDRAM за последние лет двадцать хорошо если в 5-7 раз выросли. Чего не скажешь о скорости внешних интерфейсов - там ГигаГерцы рулят - аналогично Altera у себя скромно скромно так скорость интерфейса написала А у ренесасовских чипов с быстрой флэш еще вопрос какое потребление и что еще там у этой памяти ради быстродействия пожертвовано - я с ними увы никогда не сталкивался.
  13. Cortex-M7

    RZ/A1H весьма интересный камень, но вот по ссылке выше прочитал в табличке один интересный момент: "SD host interface × 2 channels (must obtain SD card license)" Это КАК??? Т.е. для использования интерфейса к SD карточке надо покупать лицензию? А как в всеми любимых STM32 реализован интерфейс SDIO? Почему STM лицензию не требуют? Плюс куча блоков на камне под nda только доступна. Так что видимо камень совсем не "народный" получается.
  14. Смысл всегда есть. Конкретно в этом случае - прекрасная иллюстрация для начинающих о стиле, хотелках и прочая... PS. И да, заказчиков, которые говорят что 500 руб в час - "ооочень высокая зарплата" я сразу спрашиваю, будут ли они отдельно оплачивать за меня налоги? и накладные? и желательно со 100% предоплатой по этим пунктам . Вот тут такой "заказчик" начинает "прозревать", "удивляться" и даже "негодовать" по поводу налогового законодательства, вообще законов этой страны (или любой другой, неважно), бюрократии и т.д. и т.п. Далее закономерно следует "заманчивое предложение" сделать без договора, неофициально и "как-то вот так...", "чтоб подешевле...". Что делать с подобными заказами каждый решает сам, но результат подобных "работ" заранее предсказуем.
  15. Странно что ругается. Я ставлю галку "Autorun Batсh File" при генерации компонента - Allegro сам запускается, рисует все что надо и сам в конце закрывается. Компонент получается со всеми нужными атрибутами. Не знаю в чем может быть дело.
  16. Версия 2015.06 - все нормально, RefDes есть. Может слои отключены или еще что?
  17. 2015 - это не номер версии. Это год ревизии стандарта IPC-7351B, согласно которому вычисляются компоненты. На сайте у них расписано. Но вот что я абсолютно не могу понять в этой программе, так это то, как они вычисляют размеры площадок. Вот для номинальных размеров сейчас посчитала длину площадки 1,81 мм. А старая версия выдавала 1,8 мм. И что? По старому стандарту корпус TO-252 не станет? Или держаться не будет ? Но при этом есть еще минимальная и максимальная версия площадок, которая отличается от 1,81 более чем на 20%! Вот что может решить 10 микрон на двух миллиметрах, т.е. 0,5%??? Такое впечатление (даже уверенность) что просто клепают новые версии стандартов (и программ) чтобы срубить нового бабла со старых клиентов :D
  18. Цитата(MiklPolikov @ Feb 9 2013, 08:23) Я так понимаю, что нет никакого режима что бы одновременно: - Отключить CPU, FLASH - Оставить включенной Периферию, ... Цитата(MiklPolikov @ Feb 9 2013, 14:08) На будующее, у каких аналогичных процессоров такое есть ? Возможно вот (источник): EFM32 is a mixed-signal microcontroller focusing on supporting ultra low power battery operated solutions. To run from small cell batteries, EFM32 MCUs incorporates low power peripheral technology, fast response time, low latency, and autonomous operation (i.e. the CPU does not run while the peripherals communicate). Только это совсем не STM32, хотя тоже ARM Cortex.
  19. STLink не работает в VirtualBox

    Цитата(dubb @ Sep 13 2012, 19:53) Код... is busy with a previous request ... Небось в хост машине драйвер устройства не стоит? Тогда эту проблему (сообщение выше) можно решить только многократными перезагрузками виртуалки, хоста, устройства и т.д. как и пишет система: Цитата(dubb @ Sep 13 2012, 19:53) Код... Please try again later. ... пробуйте позже до изнеможения. А если серьезно, то это проблема конкретной виртуалки - VirtualBox а не USB устройства. Она захватывает на себя (неизвестное хосту) устройство но внутрь гостевой системы почему-то не отдает, или отдает не сразу. Помогают только упорные повторные попытки. Или попробовать поставить драйвер устройства на хост-системе, если таковой существует.
  20. Конроллеры на базе ARM

    Цитата(Andy Mozzhevilov @ Jul 29 2009, 10:11) ...помехоустойчивость - это комплекс мер... +1000! И помехоустойчивость зависит в первую очередь от схемотехнических решений, во вторую - от разводки конкретной печатной платы, далее от конструктивного исполнения устройства и только потом от примененной комплектации. А "помехоустойчивость" програмы в моем понимании - бред. Для программ есть другой критерий - надежность. Т.е. возможность программы восстанавливать свою работоспособность после сбоев (и программных и аппаратных), возможность диагностировать ошибки и т.п. Цитата(Vitaliy_ARM @ Jul 28 2009, 17:41) Компания NEC делает процессоры и трубит, что они лучше всех именно для автомобилей, мало подвержены сбоям, хорошо защищены от ЭМП и взломать их тоже не представляется возможным. Это они выдумывают наверное Это просто реклама Надо ведь как-то им свои изделия выделять из общей массы. Кто-то напирает на низкое потребление, кто-то на производительность, а кто-то на цену ... Естественно у разных производителей есть различные хитрые "фишки" на кристалле для повышения тех или иных потребительских качеств. Но нужно самому реально оценивать их полезность и значимость для конкретной задачи. Я не имею ничего против процессоров NEC - просто привык реально оценивать важность и необходимость рекламируемых возможностей кристалла для своих задач. Цитата(Vitaliy_ARM @ Jul 27 2009, 09:34) процессоры с флешь гораздо меньше подвержены сбоям, чем процессоры с RAM Ну обычно процессоры с внешней шиной всегда более подвержены помехам при прочих равных условиях чем однокристалка - по плате куча дорожек идет к внешней памяти. Соответственно и помехи на них наводятся в любом случае бОльшие, чем на дорожки внутри чипа.
  21. Микроконтроллеры Stellaris, Texas Instruments.

    Цитата(aaarrr @ Jul 17 2009, 20:27) Цитата(KiV @ Jul 17 2009, 19:22) А как на диджикее посмотреть нормальные цены? По вашим ссылкам есть цены для 100-1000шт. Так еще выше я приводил цены на единичные AT91SAM7X256: ЦитатаPS. Кстати, второй контроллер я покупал по цене порядка $7 в розницу, так что диджикей идет лесом А теперь сравним с диджикеевскими 1000 шт. по ссылке - $7.41996. Которых к тому-же нет на складе Цитата(aaarrr @ Jul 17 2009, 20:27) Цитата(KiV @ Jul 17 2009, 19:22) И можно-ли по этим ценам что-то купить? Можно, почему такие сомнения? Потому что пока их привезут из амЭрыки - цена вырастет процентов на 30 минимум и времени это займет... Цитата(aaarrr @ Jul 18 2009, 00:31) Закрывать глаза на экономическую сторону вопроса тоже нельзя, по крайней мере в плане стоимости продукции, а не финансового состояния конторы, ее производящей. +100 ! Только одно дополнение - финансовое состояние конторы также стоит учитывать, т.к. закладывать в новый проект изделие от фирмы, которая может загнуться...
  22. Микроконтроллеры Stellaris, Texas Instruments.

    А как на диджикее посмотреть нормальные цены? И можно-ли по этим ценам что-то купить?
  23. Микроконтроллеры Stellaris, Texas Instruments.

    Цитата(alexQ @ Jul 13 2009, 17:23) ткните меня где вы прочитали у люминари фразу 125 DMIPS (100 MHz) Cortex-M3 R2P0 low power core? Вот из новостей на их сайте: Цитата4th Generation of Stellaris Microcontrollers Released Nine New ARM Cortex-M3-based Microcontrollers Unveiled in Low Power 130nm Technology New Stellaris family members add a number of compelling new features, including a versatile External Peripheral Interface (with modes to support SDRAM, SRAM/Flash, Host-Bus, and M2M), an Integrated Interchip Sound (I2S) Interface, simultaneous dual ADC capability, a second watchdog timer with independent clock for safety critical applications (supported by the IEC 60730 library addition to the StellarisWare™ Library), and a 16 MHz software-trimmed 1% Precision Oscillator. In addition, these new products offer valuable enhancements to the Stellaris family, such as faster ARM Cortex-M3 speed options up to 125 DMIPS (100 MHz), incorporation of the new ARM Cortex-M3 R2P0 low power core, extended on-chip software in ROM, increased single-cycle RAM up to 96KB for data efficiency, and 32 channels of Direct Memory Access (DMA) support expanded to more peripherals. The Stellaris family’s already-speedy UARTs have been augmented with LIN support, ISO 7816 support, full modem capability, and increased speeds up to 12.5 Mbps. Embedded programmers will appreciate the useful new End of Transmission interrupt capabilities on the enhanced UART and SSI peripherals. >> New MCUS available in the 2700, 2B00, 5700, 5B00 and the all new 9000 Series Пятая новость (на сегодня), считая сверху страницы Цитата(alexQ @ Jul 17 2009, 08:37) да уж. при таких ценах... digikey.... Ну так еще привели-бы цену у дяди Васи на базаре - Диджикей не самый дешевый продавец Все познается в сравнении. Вот из диджикей цены на единичные образцы: LM3S8933-IQC50 $14.24 AT91SAM7X256 $12.47 Два контроллера с одинаковым количеством ног, размером Flash, RAM и примерно одинаковой периферией. Цены практически сравнимы, а с учетом того, что ко второму надо будет докупить внешний Ethernet PHY (посмотрите их цены на диджикей), плюс его развести на плате... выигрыш в цене на стороне первого. PS. Кстати, второй контроллер я покупал по цене порядка $7 в розницу, так что диджикей идет лесом PPS. А последние серии Stellaris с проектными нормами 0,13 мкм будут еще дешевле, судя по заявлениям TI.
  24. Микроконтроллеры Stellaris, Texas Instruments.

    Цитата(etoja @ Jul 13 2009, 09:15) сам Техас инструмент делать ARMы не умеет. Делает TMS470 аж с 1995 года . Весьма навороченные и малоглючные кристаллы для своего времени. Больше двух десятков моделей в семействе. Правда разработаны были по заказам автопрома, соответственно в свободном доступе появились только в 2005 (видимо десятилетний контракт закончился). В настоящее время снова исчезли из свободных поставок и с сайта - остались только автомобильные версии и только для крупных производителей под заказ. Цитата(etoja @ Jul 13 2009, 11:02) Фирма TI выпускает ARMы серии MSP470, которую почти никто не использует. Используют. И еще как! Только те конторы, которые их используют не сильно на форумах тусуются, тем более русскоязычных Вернее было-бы сказать, что данное семейство на просторах ex-СССР и у мелких производителей непопулярно