Хочу сделать свое ОСД

PocketM

Про кварцевый поонял он должен быть равным нужной чстоте процессора (его максимальной частоте, для PIC18F46K20 вроде 46MHz ). Поковыял схему смалтима, вроде теперь все понятно, можно заказывть компненты и свою делать…😎

Artie
PocketM:

Artie, цель именно научится железки делать и програмировать их… за 15 000 руб я и RVOSD купить могу но хочется самому сделать…

Тогда Syberian описал достаточно правильные “этапы большого пути”.
Только я бы посоветовал начать с простого моргания светодиодом (для этого не нужно вообще ничего, кроме собственно однокристаллки и программатора для нее), а все остальные закупки делать уже потом.

Програматор пока еще не купил и выбираю между авр и пиккит, просто видел что пиккитом прогают RVOSD которое считается одним из лучших ОСД и это наводит на мысль что пиккит лучше…

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

На самом деле, выбор коры - дело, скорее, индивидуальных вкусов. Но лично мне пики не нравятся (как минимум, за идиотские нативные мнемоники команд). И хотя атмеловские AVR - в этом плане тоже далеко не предел мечтаний, но там оно хоть немного гуманнее… И если выбирать семейство только по тому, насколько на нем удобно учиться эмбеддерству, то я бы скорее посоветовал какие-нибудь ARM/THUMBы (во-первых, за ортогональный ассемблер, во-вторых - достаточно ресурсов, чтобы не заниматься ненужной поначалу эквилибристикой, в третьих - возможность нормальной отладки через jtag), или техасовские MSP (примерно за то же самое, плюс удобные для пайки “на коленке” корпуса)…

Однако, если Вы не планируете “изобретать велосипед” с уровня “абсолютного нуля”, то разумно было бы выбрать именно то семейство однокристаллок, на котором сделан какой-нибудь открытый проект (как один из вариантов, - Шеррера/мой/Тима на атмегах), который и брать за основу.

Кстати какие контроллеры надо покупать чтобы хватило ресурсов для ОСД? разрядности 8bit хватит? Скока памяти и MIPS’ов нужно? Это счас самый главный вопрос, а то контроллеров разных куча и незнаю какие подойдут…

Для чисто программной генерации титров важна не разрядность, а скорость выполнения простых инструкций, и 16-20 МИПС для синтеза вполне читаемых букв - более чем достаточно. Чем больше “числогрызность” кристалла - тем более мелкие пикселы можно генерить, и тем более аккуратные и красивые символы можно будет рисовать на экране. … Но это (программный синтез) - вовсе не единственный путь, и недостаток вычислительных ресурсов часто можно скомпенсировать избытком фантазии. 😉
Потребное же количество памяти для псевдографической титровалки в первом приближении определяется тем, какого размера текстовый экран (в знакоместах) Вы планируете выводить. Умножьте эту цифру на 2 (бо кроме экранного буфера память понадобится на что-то еще) - и смело выбирайте кристалл с похожим количеством ОЗУ…

ЗЫ: Не стоит начинать с “многонапряженных” схем (если только Вы - не очень опытный схемотехник). По возможности, для начала лучше строить конструкцию, которая вся питается 5 вольтами.

Панкратов_Сергей
PocketM:

Artie, цель именно научится железки делать и програмировать их… за 15 000 руб я и RVOSD купить могу но хочется самому сделать…

Програматор пока еще не купил и выбираю между авр и пиккит, просто видел что пиккитом прогают RVOSD которое считается одним из лучших ОСД и это наводит на мысль что пиккит лучше…

Если цель именно такая

научится железки делать и програмировать их

  • то зачем покупать программатор ?
    Делать нужно самому.
blade
PocketM:

Если не трудно напишите все что вы считаете я должен знать по этому вопросу.

Атмелевские процессоры сейчас- наиболее распространены и к ним есть больше документации.
Кроме того, они по ряду параметров- выигрывают у ПИК ов
Почитай вот здесь- для начала этого достаточно.
www.avr123.nm.ru

PocketM

Блин уже час мучаюсь:

#include <htc.h>

void main(void) {

TRISA = 0xFF;
TRISB=0x00;
while(1){
PORTB=PORTA;
}
}

соединил паралельно порты RA0-RA7 и даю раз в секунду поочереди “1” и “0”. Контроллер же должен “мигать” выводами RB0-RB7? Но эта зараза мигает только R4 и R6 а остальные в 0!!! Это глюк протеоса или рельное устройство так будет работать?
По виду проблемы в чтении состояния порта потомучто прогоняю в порт B значения от 0x00 до 0xFF и он нормально отробатывает нули на выводах…

cl3.imperz.ru/updfiles/pic18.rar исходник в MPLAB и исходник в протеосе,помогите разобратся…

PocketM

хм не читается именно порт A. С порта C есе ОК… Контроллер PIC18F46K20, это глюк протеоса или не все порты могут работать на чтение?

PocketM

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

Кстати думал все намного сложнее будет, оказывается все просто, даже уже погонял NMEA с виртуального GPS и сделал процедуру которая направление определяет и засвечивает нужный диод:)

Вот тока столкнулся с проблемой, где купить програматор (PICKIT 2 или 3)!!! 😃 На оф сайте в Россию не возят, а нормальных инет магазинов не нашел:(

P.S. я супер крут, ушло 2 дня на то чтобы изучить ANSI C, ИДЕ MPLAB и протеуса 😛

blade
PocketM:

P.S. я супер крут, ушло 2 дня на то чтобы изучить ANSI C, ИДЕ MPLAB и протеуса 😛

Главное-живот придерживать, чтобы от гордости не треснул 😁
А программатор- Тритон купи, на всю жизнь хватит.

UserM
PocketM:

где купить програматор (PICKIT 2 или 3)!!! 😃 На оф сайте в Россию не возят, а нормальных инет магазинов не нашел:(

pickit2.ru/doku.php/form

8 days later
ekf

рекомендую посетить
www.microchipc.com
Программатор нужен только при заливке загрузчика.

4 months later
PocketM

Похвастаюсь. Моя финальная ОСД c автопилотом пошла в разработку:)
Основана на 2х 80MHz 32битных процессорах.
Имеет возможность выводить 4х битный цвет (16 цветов) .
Разрешение 30000 точек деленное на текущее число цветов + имеется сжатие + пропуск незанятых строк. и видимое разрешение может доходить до 200x200 точек (это много!) 😃

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

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

Вот. 😃

Размер платы 8*4,5 см . 4 раза разводил с нуля ее, сильнее сжать по размерам такой объем нельзя:)

Надеюсь не напортачил при разводке…

P.S. 2 порта в середине это для первой прошивки, они припаиваться не будут 😃

1 month later
temp0508

как оно движется ??? заработало в живую ???

viperoff
temp0508:

как оно движется ??? заработало в живую ???

а это мы узнаем через месяц

Syberian

За проект респект! не верю, что этому человеку 15 лет (или в данных нахимичил 😃 )
Возвращайся скорее, “карманный мыш” 😉

Вот все жду, когда же появится у кого-нить нормальный формирователь цветного видеосигнала на чем-то вроде MAX3000 за 2 бакса 😃
Видно, FPGA и авиамоделизьм слабо совместимы…

zat
PocketM:

Похвастаюсь. Моя финальная ОСД c автопилотом пошла в разработку:)
Основана на 2х 80MHz 32битных процессорах.
Имеет возможность выводить 4х битный цвет (16 цветов) .
Разрешение 30000 точек деленное на текущее число цветов + имеется сжатие + пропуск незанятых строк. и видимое разрешение может доходить до 200x200 точек (это много!) 😃

Интересная модель… зачем брать 2х80МГц процессора, да еще и 32бит ?
Понятно конечно, хочется видеть цвет… но здесь больше негативов, чем плюсов.

  1. При полете цвета будут только отвлекать от основной “картинки” и иногда сливаться с фоном самой картинки(деревья, дома, земля и т.д.).
  2. А весь композитный сигнал тоже будете сами формировать, скажем PAL, NTSC ?
    Боюсь Ваш проект сразу и умрет даже не начавшись.
  3. Графика для такого проекта не нужна, т.к. в OSD проще использовать псевдографику, это позволит уменьшить мощность процессора до 1х8МГц (в 10 раз!).
PocketM:

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

Думаю, что Вы достаточно слабо представляете, что, в конечном итоге, хотите получить от своего проекта. Никакому устройству нет необходимости самому, что-то “дорисовывать” в видеопамяти напрямую.

PocketM:

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

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

PocketM:

Размер платы 8*4,5 см . 4 раза разводил с нуля ее, сильнее сжать по размерам такой объем нельзя:)

Надеюсь не напортачил при разводке…

P.S. 2 порта в середине это для первой прошивки, они припаиваться не будут 😃

Про размер не скажу, но по моему на плате 50мм х 50мм можно уместить: проц, OSD, раъемы для переферии, для программирования и для подключения датчиков.