В
Васисуалий
Команда форума
- 27 Дек 2010
Да простит меня Адиль и Админ (Женя) ибо я тут собираюсь сделать маленькую рекламу сайту! Сайт не мой и я пока не знаком с его создателями, но надеюсь, что скоро познакомлюсь и смогу лично высказать им свою огромную благодарность за великую науку и знания, которые они мне дали и которые я смог взять у них так просто и дешево!
В общем дело было так...
Я уже более пятнадцати лет знаком с программированием на ассемблере в приложении нескольких ядер, в том числе немного Z80, немного AVR, совсем не много X86(больше из любопытства) и имею некоторый скромный опыт в написании всякой ерунды для PIC. Не смею утверждать, что являюсь опытным программистом, скорее я любитель, и программирование для меня маленькое хобби, которое делает мое занятие электроникой более наполненным возможностями и полезностями.
Собирая разные устройства я в конце концов выяснил, что есть ряд задач, которые не решаются с помощью обычных процессоров и привычных мне алгоритмов! Причем это не какие то там супер-научные разработки, а банальные задачи, которые производители электроники решают на раз, только используют для этого незнакомые мне прежде методы!
Как примеры таких задач приведу использование банальных ЖК-дисплеев, а точнее управление ими, регистрация коротких или высокочастотных сигналов, например, анализ логических схем и последовательных протоколов, работа в скоростных, времязависимых протоколах обмена типа USB, Ethernet, и прочие задачи, которые доступные мне контроллеры "не тянут"!
В результате я заинтересовался несколько иным направлением развития микроэлектроники - ПЛИС! Эти схемы решают именно те задачи, которые мне пока не снились, причем решают легко!
Пример:
Имеем задачу. Надо подать на вход камня логический уровень и получить его же на выходе, т.е. надо сообразить внутри чипа тупую перемычку сигнала.
Попробуем решить это на процессоре (контроллере)...
1. Читаем состояние пинов порта и анализируем логические уровни. ( мы же не один сигнал контролируем, значит читаем несколько пинов последовательно и обрабатываем их согласно логике нашей программы) Считав соответствующий уровень с пина, в зависимости от его значения запускаем на исполнение те или иные строки программы, а именно записываем в регистр выходного порта либо нолик, либо единичку! Сколько тактов процессора надо, что бы таким способом передать уровень от входа схемы на выход? Несколько миллисекунд? Микросекунд?
Решаем задачу по другому... Берем ПЛИС, организуем внутри перемычку между пинами и готово! На сколько эта схема задержит нам сигнал? На несколько наносекунд? Во сколько раз это быстрее, чем на процессоре?
У ПЛИС все хорошо, одно плохо - для освоения этих замечательных микросхем надо одновременно собрать или купить макетку (ПЛИСы в ДИПах не выпускаются!), установить и настроить сложнейщее ПО, спаять или купить программатор, настроить и научиться пользоваться еще и им. И все это надо сделать, руководствуясь текстами в основном только на Английском языке и советоваться не с кем!
Короче так - кому дальше интересно - читайте и пробуйте! На самом деле все очень просто, а кое что даже примитивно. И все, как не странно, получается и работает!

ссылка скрыта от публикации
В общем дело было так...
Я уже более пятнадцати лет знаком с программированием на ассемблере в приложении нескольких ядер, в том числе немного Z80, немного AVR, совсем не много X86(больше из любопытства) и имею некоторый скромный опыт в написании всякой ерунды для PIC. Не смею утверждать, что являюсь опытным программистом, скорее я любитель, и программирование для меня маленькое хобби, которое делает мое занятие электроникой более наполненным возможностями и полезностями.
Собирая разные устройства я в конце концов выяснил, что есть ряд задач, которые не решаются с помощью обычных процессоров и привычных мне алгоритмов! Причем это не какие то там супер-научные разработки, а банальные задачи, которые производители электроники решают на раз, только используют для этого незнакомые мне прежде методы!
Как примеры таких задач приведу использование банальных ЖК-дисплеев, а точнее управление ими, регистрация коротких или высокочастотных сигналов, например, анализ логических схем и последовательных протоколов, работа в скоростных, времязависимых протоколах обмена типа USB, Ethernet, и прочие задачи, которые доступные мне контроллеры "не тянут"!
В результате я заинтересовался несколько иным направлением развития микроэлектроники - ПЛИС! Эти схемы решают именно те задачи, которые мне пока не снились, причем решают легко!
Пример:
Имеем задачу. Надо подать на вход камня логический уровень и получить его же на выходе, т.е. надо сообразить внутри чипа тупую перемычку сигнала.
Попробуем решить это на процессоре (контроллере)...
1. Читаем состояние пинов порта и анализируем логические уровни. ( мы же не один сигнал контролируем, значит читаем несколько пинов последовательно и обрабатываем их согласно логике нашей программы) Считав соответствующий уровень с пина, в зависимости от его значения запускаем на исполнение те или иные строки программы, а именно записываем в регистр выходного порта либо нолик, либо единичку! Сколько тактов процессора надо, что бы таким способом передать уровень от входа схемы на выход? Несколько миллисекунд? Микросекунд?
Решаем задачу по другому... Берем ПЛИС, организуем внутри перемычку между пинами и готово! На сколько эта схема задержит нам сигнал? На несколько наносекунд? Во сколько раз это быстрее, чем на процессоре?
У ПЛИС все хорошо, одно плохо - для освоения этих замечательных микросхем надо одновременно собрать или купить макетку (ПЛИСы в ДИПах не выпускаются!), установить и настроить сложнейщее ПО, спаять или купить программатор, настроить и научиться пользоваться еще и им. И все это надо сделать, руководствуясь текстами в основном только на Английском языке и советоваться не с кем!
Короче так - кому дальше интересно - читайте и пробуйте! На самом деле все очень просто, а кое что даже примитивно. И все, как не странно, получается и работает!
ссылка скрыта от публикации


