roboforum.ru

Технический форум по робототехнике.

Вычислительная Система.

Вычислительная Система.

Штефан Виталий » 21 фев 2005, 20:54

Предлагаю такую вещь:
Есть 16ти разрядный МК, его активно продает микроника, это М16С.
У нас есть тех. документация, и все, чтобы его юзать в домашних роботах под C++.
Проблема: нужно разработать и заказать печатную плату под него.
Я не умею, я их на слепышах паяю, под микроскопом.
На печатку впаять я его могу без проблем, всем желающим.
Для примера, однокристальная игрушка на 16мГц 256кБ програм 32кБ данных обойдется рублев 800 без обвязки. А если памяти в 2 раза меньше, то 400р.
Есть кстати хитрые платы для планарных микросхем с шагом 0.5мм, но они мне не нравятся, места для навески почти нет, да и нужно места всего на 100 ног. Тех документацию на м16с разошлю всем желающим, мыльте!

Виталий » 21 фев 2005, 21:55

Как человек с некоторым опытом программирования этого контроллера:
1. Поддерживает C и ASSM
2. Очень неплох в плане вычислительной способности.

-= Александр =- » 22 фев 2005, 03:02

Дока на него может пригодиться... А чего у него из переферии имеется и через что его прошивать?

Штефан Виталий » 22 фев 2005, 12:33

Шьется он через схемку на MAX232 через  COM.
Да, с почтой я загнул, но если кто с болванкой приедет, нарежем :lol: .

М16С20/21, MC16C60/61/62
Процессор М16С содержит 2 регистровых банка, в каждый из которых входят 6 16-разрядных регистров общего назначения (из которых 2 регистра могут быть поделены на 8-рарядные РОН, а 2 ? использоваться как адресные) и 16-разрядный регистр базы FB (frame base), используемый для относительной адресации со смещением.
Кроме этого, в процессор входят дополнительный 16-разрядный регистр базы SB (static base), 20-разрядный счётчик команд, два 16-разрядных указателя стека (пользователя и прерываний), 20-разрядный указатель адреса начала таблицы прерываний и 16-разрядный флаговый регистр. Если поместить отдельно 4 регистра общего назначения и 4 адресных указателя, скрывающихся под названием адресных регистров и регистров базы, то можно увидеть структуру, похожую на регистровую модель незабвенного процессора 8086.
Набор команд содержит 91 инструкцию, из которых можно выделить быстрые команды знакового и беззнакового умножения 16x16 (4?6 циклов процессора) и умножения с накоплением (благодаря встроенному умножителю), класс команд битовых операций (14 инструкций), команды блочных пересылок и команды поддержки С-компилятора Enter и Exit для входа и выхода из функции.
Инструкции используют 4 основных формата для экономии памяти, названных по их длине нулевым, коротким, быстрым и обычным. Нулевой и короткий форматы предназначены для работы с 8-разрядными регистрами. Быстрый формат может использоваться для короткого вызова подпрограмм. Обычный формат применяется при пересылке данных между регистрами и памятью.
В зависимости от формата команды и способа адресации, длина инструкции может составлять от 1 до 8 байт. Чем короче формат команды, тем, естественно, ограниченнее возможность адресации операндов (к примеру, в некоторых случаях поле источников и приёмников операндов может сужаться до двух 8-разрядных регистров R0L и R0H). При соответствующем формате до 20 инструкций исполняются за 1 цикл процессора, то есть за 100 или 62,5 нс у самых быстрых версий М16С6х. Приблизительно 75% команд требует на выполнение 5 и меньше процессорных циклов, также в зависимости от формата и способа адресации операндов. Нелегко, наверное, компилятору оптимизировать исходный код!
MC16C имеет развитую систему программных и аппаратных прерываний. Стоит отметить наличие 32 прерываний пользователя, прерывание по переполнению и появлению некорректной инструкции, отладочное прерывание для пошагового выполнения программы.
Встроенный контроллер выбора кристалла при необходимости может разбивать 1-Мбайт адресное пространство на 4 области по 256 Кбайт с аппаратной выдачей сигналов выборки. Микроконтроллеры серии М16С62 расширяют адресное пространство до 2 Мбайт за счёт хитроумного использования сигналов выборки кристалла и до 4 Мбайт, используя специальный регистр переключения банков памяти. Внешняя шина данных имеет программируемую ширину 8 или 16 бит. Кроме этого, МК может использовать либо немультиплексированную шину адреса и данных, либо мультиплексировать их для экономии свободных портов ввода/вывода. Для отладки программ МК может работать в режиме микропроцессора, обращаясь только к внешней памяти.
Микроконтроллеры М16С6х имеют объём встроенного ПЗУ (масоч-ного, EPROM или FLASH) от 32 до 256 Кбайт и ОЗУ размером от 3 до 20 Кбайт. МК М16С2х характеризуются более скромной ёмкостью ПЗУ от 16 до 48 Кбайт и ОЗУ объёмом от 512 до 2048 байт.
В номенклатуру периферийных устройств для микроконтроллеров М16Схх входят:
 2-канальный контроллер ПДП (кроме М16С2х), реализующий одиночные и блочные пересылки 8- и 16-разрядных данных;
 10-разрядный 8-канальный (в режиме однократного преобразования могут добавляться 2 дополнительных аналоговых входа) АЦП со временем преобразования 23 такта;
 8-разрядный 2-канальный ЦАП (кроме М16С2х);
 многофункциональный таймерный блок на основе 16-разрядных таймеров/счётчиков, реализующих режимы счёта внешних событий, измерения ширины и периода импульсов, ШИМ (6, 8 и 11 таймеров на кристалле, в зависимости от версии);
 сторожевой 15-разрядный таймер;
 блок СRC (расчёт избыточного циклического кода), использующийся для обнаружения ошибок при блочных пересылках данных (кроме М16С2х);
 система последовательного интерфейса представлена синхронно-асинхронным UART (до 3 каналов) и синхронным 2-канальным SIO, а также, в ряде случаев, контроллером шины I2C.
Для реализации режима сниженного энергопотребления большинство МК Mitsubishi имеют возможность работы от вспомогательного тактового генератора частотой 32768 Гц, опции программного понижения тактовой частоты и отключения периферийных устройств. Типовые версии М16С при напряжении питания 3 В и частоте 7 МГц потребляют всего 6 мА.
Особый дизайн позволил снизить выходное электромагнитное излучение МК на 20 дБ. Кроме этого, устройства могут без последствий пережить разряд статического электричества до 20 кВ.
Микроконтроллеры М16С/6x имеют 87 линий ввода/вывода и выпускаются в 100-выводных QFP-корпусах. Менее дорогие М16C/2x содержат 43 линии ввода/вывода и про-изводятся в 52-выводных SDIP либо в 56-выводных QFP-корпусах. Минимальное рабочее напряжение составляет 2,7 В для большинства микроконтроллеров, наиболее экономичные версии работают от 2 В.
Mitsubishi предлагает свои собственные отладочные программные и аппаратные средства, такие как ин-тегрированный С-компилятор и программный отладчик PD30SIM, внутрисхемные эмуляторы PC4701HS (high end) и PC4701L (low end версия), программаторы и оценочные платы.

Mike_MA » 22 фев 2005, 19:05

Если найду описание в интернете то гляну, посмотрю что можно сделать...

Штефан Виталий » 22 фев 2005, 22:53

Mike_MA писал(а):Если найду описание в интернете то гляну, посмотрю что можно сделать...

А чего думать есть софт СИ+монитор отладчик, есть люди что эту штуку юзали.

-= Александр =- » 23 фев 2005, 20:54

А Сишный компилер реально у кого-нибудь взять или по диалапу выкачать?
Кстати почем этот зверь стоит и в каких корпусах его делают?

Виталий » 23 фев 2005, 21:16

Да, С компилятор есть....
Для распайки этой штуковины нужно травить плату, иначе это гимор полный. Стоит сам контроллер где-то 700р (с полным набором функций), а немного урезанный рублей 400...

-= Александр =- » 23 фев 2005, 22:49

Интересно, а обработку видео он потянет? В смысле уже готовой картинки из внешнего ОЗУ. Кстати кто-нибудь юзал микрухи кэша со старых матерей? Быстродействие у них хорошее, но вот объем маловат. Но никто не мешает ставить их в большом количестве...

Штефан Виталий » 24 фев 2005, 08:06

Можно сделать по типу камеры, что на железном феликсе описывалась, даже систему как у деда, но врядли больше. При 320*280  8бит цвет(яркость) 3fps можно сделать - это для мазахистов, но лучще сразу пенек :).

=DeaD= » 24 фев 2005, 09:23

Штефан Виталий писал(а):Можно сделать по типу камеры, что на железном феликсе описывалась, даже систему как у деда, но врядли больше. При 320*280  8бит цвет(яркость) 3fps можно сделать - это для мазахистов, но лучще сразу пенек :).

Только 320х240 - откуда х280? И еще, насколько я помню - первый робот со зрением имел камеру с разрешением что-то порядка 84х64 пикселя, и ничего :) очень даже жужжал :) и линии в нем можно распознавать и еще много чего, только вот где бы такую камеру вам достать...

Mike_MA » 24 фев 2005, 17:11

Выложите описание по этому контроллеры, а то я пока нигде не нашёл вообще ничего, кроме краткого описания возможностей. Хочется поподробнее заглянут под колёса.... :lol:  :lol:  :lol:

Виталий » 24 фев 2005, 19:17

-= Александр =- писал(а):Интересно, а обработку видео он потянет? В смысле уже готовой картинки из внешнего ОЗУ. Кстати кто-нибудь юзал микрухи кэша со старых матерей? Быстродействие у них хорошее, но вот объем маловат. Но никто не мешает ставить их в большом количестве...

Тут дело в том, что за обработка предполагается =)

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

http://eu.renesas.com/fmwk.jsp?cnt=m16c ... 60_series/

Штефан Виталий » 26 фев 2005, 01:19

Жаль, не взял диктофон
НО народ!
Как минимум одна команда в нашем маленьком городке будет!!!
А если вы подрядитесь со своими роботами, то даже и междунородные соревнования. Ректор СПБ ГУИТМО даст добро, но надо показать, на что мы способны! Еще есть как миниум 2 коммерческие фирмы, которые отбашляют на рекламу. Но надо показать!

Mike_MA » 28 фев 2005, 12:38

Я посмотрел описание контроллера и виже что архитектура у него неплохая. Но в основном памяти у него (1 Мбайт) хватит для работы с видео....думаю...да и портов довольно много.... :wink:  :wink:  :wink:


Rambler\'s Top100 Mail.ru counter