Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Внутрисхемное программирование, идея и вопрос, длинно и нудно (+)

Отправлено shtirlits 05 марта 2009 г. 00:26


Доброй ночи, all.

Моя древняя мечта о микроконтроллере, который бы не требовал программатора, почти сбылась, но никак до конца не сбудется.
В мечтах микроконтроллер стоит доллар, подключается к USB, через USB программируется и потом через USB питается и обменивается с компом.
Идеальная платформа для повторения любителями и малосерийного производства.
Atmel делает at90usb, sam7 и другие микроконтроллеры с boot loader, способным залить программу через USB. Вот только fuse остаются недоступны при этом. Для at90usb требуется кварцевый резонатор 8MHz и пара емкостей для него, SiLabs C8051F32x и Cypress PSoC (не знаю на счет stm32) могут подстраивать частоту RC генератора и обходятся без резонатора для FS USB. Но SiLabs, Cypress и ST загрузчик почему-то не записывают, хотя и предлагают его залить отдельно через соответствующий интерфейс программирования.

Мечта плавно трансформировалась в желание программировать USB-микроконтроллер через разъем USB после пайки микросхемы.
Обязательное условие разъем USB, не интерфейс USB.

Всем, кроме atmel для программирования достаточно 2 проводов, как ни называй интерфейс: c2, issp, serial wire, даже spy-bi-wire, хотя там usb еще нет, зато у ti cc2511 тоже по двум проводам программируется и тоже имеет usb на борту.

Cypress: Дебильная система у интересных систем на кристалле - вход данных интерфейса отладки и программирования совмещен с выходом кварцевого генератора. Гениально придумано, если программировать до пайки. При внутрисхемном программровании генератору может быть плохо, особенно, для точности и надежности RTC. Если кварцевый генератор не нужен, то по-моему можно просто соединить ножки интерфейса программирования с D+/D- и после старта процессора убеждаться, что их состояние 'Z'. Должно работать.

SiLabs: У C8051C32x клок интерфейса программирования C2 является reset-ом по совместительству, который нельзя отключить после запуска процессора. Обязательно нужен коммутатор, хотя бы одной этой ноги.

ST: stm32 позволяет тупо соединить выводы SW с D+/D- и после старта процессора отключить SW.

Atmel: только дополнительный разъем или еще один микроконтроллер, чтобы сначала at90usb его запрограммировал, а потом второй микроконтроллер поменял бы fuse у atmel. Просто так ставить еще один корпус конечно не дело, только при наличии какого-то дополнительного смысла.

Думаю, что для выводов типа reset или для чистоты схемы можно использовать коммутатор, который при включении питания соединит контакты платы D+ и D- c выводами интерфейса программирования, а когда микроконтроллер запустится, он сможет переключить эти контакты на выводы USB.
Коммутаторы USB в природе есть, но стоят денег: MAX4717, MAX4850, FSA201
Бывают и одноканальные коммутаторы. Но тоже денег стоят.

Где еще можно поискать решение?
Какие коммутаторы имеет смысл использовать?


Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
отымите от 2 единицу:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru