Member
Статус: Не в сети Регистрация: 01.12.2007 Откуда: moscow
Это не по теме (сайта). Другое дело, если бы программировать контроллер материнской платы или видеокарты. На матплате имеются 2 процессора - в контроллере клавиатуры упомянутый аналог MCS-51, но он не интересен, и в СМ, но на него нет документации, Интел почему-то её не раскрывает. Второй начинает работу платы. По идее, можно было бы обойтись без основного процессора, чтобы проделать простейшие действия и вывести что-то на монитор.
_________________ Копайте гвозди лопатами и забивайте ямы молотками.
Hardware Nightmare
Статус: Не в сети Регистрация: 14.09.2003 Откуда: Taipei, Taiwan
Хинт, МК лучше разгонять подачей внешнего тактового сигнала с генератора, а не от кварца. Но это безполезное баловство, если нехватает скорости и возможностей, нужно брать более мощные МК, например те же ATMEL AT91SAM, а не прикручивать ракету к велосипеду, в надежне получить самолет.
Junior
Статус: Не в сети Регистрация: 29.10.2006 Откуда: USA
Для начала вопросы: что за экран "Графический сенсорный дисплей DOG-128M с интерфейсом SPI"? Кто производитель? Есть ли на него документация? Как подключается сенсорная панель - к плате дисплея и по SPI считываем координаты, или нужен отдельный контроллер?
А теперь критика: статья ни о чём. Как микроконтроллер это кусок мусора без программы, так и всё это баловство без придания конечной формы. Нужна ли вам макетка с экранчиком? Мне - нет. На макетке можно что либо сделать, запрограммировать, но потом всё равно нужно переделывать. Зачем начинать с последнего этапа? Нужна полноценная разработка: 1) Идея что делать - самое главное. 2) Выбор компонентов по параметрам и знакомство с их даташитами. 3) Составление схемы, разводка и изготовление платы. 4) Запайка изделия, написание тестовой программы. 5) Сборка изделия 6) Программирование всех необходимых функций
Могу на примере: 1) Как-то заинтересовался моделизмом. Передатчики на МК с экранами стоят дорого. Вот и идея - делать самому. 2)Идея не нова, некоторый опыт у людей уже есть. Грех не воспользоваться. Поскольку программа уже имеется выбираем МК ATMega128. Экран из того проекта мне не понравился, выбираем промышленный широкодоступный 128x64 точки. Минус экрана параллельная шина, но уж какой был в наличии. 3) Схема была переработана для подключения другого экрана. Разведена и изготовлена по ЛУТ технологии. В результате получилось это: #77#77 Отмечу, что это моя первая плата. Так что боятся SMD не стоит. От ДИП корпусов пора уходить. 4 и 5) К МК прямого отношения не имеют, нечего и рассказывать: #77 #77 6) И вот когда мы держим в руках готовое изделие, тогда понимаешь, что теперь можно творить всё что хочешь, потому что оно будет работать, а не пылится на винте. Я переработал почти всё от первоначального проекта: #77
Теперь по выбору языка: только Си! Ассемблер платформозависим, не структурирован, тяжёл в написании, а главное в сопровождении программ. Простейший пример: переделать математику на большую разрядность. В Си только типы переменных поменять. Си позволяет делать не меньше чем ассемблер, одни указатели чего стоят. А если нужно что-либо специфическое, всегда можно добавить ассемблерную вставку.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
SenseLine писал(а):
Это не по теме (сайта).
Не смешите. Вы с этими заявлениями идите в раздел флейма, где и есть основное содержание сайта, судя по количеству постов с ежедневно плодящимися темами для дебилоидов. Конечно, тема не в майнстриме специфики сайта, но и не настолько далека от нее.
SenseLine писал(а):
На матплате имеются 2 процессора - в контроллере клавиатуры упомянутый аналог MCS-51, но он не интересен, и в СМ
Маловато будет. Обычно побольше. К примеру, JMicron их очень любит.
TiN писал(а):
Но это безполезное баловство, если нехватает скорости и возможностей, нужно брать более мощные МК, например те же ATMEL AT91SAM, а не прикручивать ракету к велосипеду, в надежне получить самолет.
Никто с этим и не спорит. А моя эпопея с МК как раз и есть простое баловство для поддержания боевого духа. Самое полезное, что вижу пока для себя - дистанционное управление холодильником .
Nick_Shl писал(а):
что за экран "Графический сенсорный дисплей DOG-128M с интерфейсом SPI"?
Я немножко напутал в названии - правильно будет DOGM-128e, скачать все можно с сайта http://www.lcd-module.com/products/dog.html Made in Germany. Сенсор самоклеится на панель, разъем отдельный, программируется отдельно, стандартная четырехпроводка. На черта ей отдельный микроконтроллер? Если нужна сесорная панель на "большой" экран 128х64, то вот югославы недорого берут (без учета персылок) : http://www.mikroe.com/
Nick_Shl писал(а):
статья ни о чём
Не грубите. Статья о моей жизни. Если хотите, то это - дневник, записи о себе и для себя. Остальным - ненапряжное (надеюсь) чтиво.
Nick_Shl писал(а):
Нужна ли вам макетка с экранчиком? Мне - нет. На макетке можно что либо сделать, запрограммировать, но потом всё равно нужно переделывать. Зачем начинать с последнего этапа?
Сдается мне, вы никогда ничего по-настоящему не проектировали.
Nick_Shl писал(а):
Теперь по выбору языка: только Си! Ассемблер платформозависим, не структурирован, тяжёл в написании, а главное в сопровождении программ. Простейший пример: переделать математику на большую разрядность. В Си только типы переменных поменять.
Похоже, что и ассемблер вы толком не знаете.
Nick_Shl писал(а):
Си позволяет делать не меньше чем ассемблер, одни указатели чего стоят.
Junior
Статус: Не в сети Регистрация: 29.10.2006 Откуда: USA
zauropod писал(а):
Не грубите. Статья о моей жизни. Если хотите, то это - дневник, записи о себе и для себя. Остальным - ненапряжное (надеюсь) чтиво.
Это не грубость, а моё мнение. На дневник то же не похоже. В плане освоения МК эта статья тоже особо ничего не преподносит... Так, разве что картинками полюбоваться...
zauropod писал(а):
Сдается мне, вы никогда ничего по-настоящему не проектировали.
Не проектировал, и что с того? Если вы делаете "настоящее" - то после макетки вы бы должны были n-сотен плат заказать. Там макетки нужны, что бы начать разработку раньше софта, чем появится готовое изделие. Там это оправдано. Когда делаешь одну штуку для себя - нет.
zauropod писал(а):
Похоже, что и ассемблер вы толком не знаете.
AVR толком не знаю. x86 знаю достаточно. Выучил его ещё в школе-коллежде. А когда пошёл в универ понял - надо было учить Си. Все эпитеты типа "быстрее, оптимизированнее, полный доступ к аппаратуре" - полный фуфел. На Си такой же доступ, а скорость и оптимизация не намного проигрывают Си. А вот сопровождаемость и расширяемость ассемблера оставляет желать лучшего. Может это вы Си толком не знаете?
Hardware Nightmare
Статус: Не в сети Регистрация: 14.09.2003 Откуда: Taipei, Taiwan
Nick_Shl Уважаемый, вы бред пишете Листинг на Си в итоге всеравно переводится всегда в ассемблер, еще не придумали железо которое может работать на Си или каком-то другом языке высокого уровня. Это никому не нужно.
Макетки нужны чтобы в железе отладить какие-то узлы и блоки, не обязательно программные. Аналоговые цепи в реальных условиях особо не насимулируешь.
Junior
Статус: Не в сети Регистрация: 29.10.2006 Откуда: USA
TiN писал(а):
Уважаемый, вы бред пишете
|Где конкретно?
TiN писал(а):
Листинг на Си в итоге всеравно переводится всегда в ассемблер, еще не придумали железо которое может работать на Си или каком-то другом языке высокого уровня. Это никому не нужно.
Я разве утверждал обратное?
TiN писал(а):
Макетки нужны чтобы в железе отладить какие-то узлы и блоки, не обязательно программные. Аналоговые цепи в реальных условиях особо не насимулируешь.
Мы про МК говорим? А так можно и ВЧ технику привести - попробуйте на макетке собрать то, что очень сильно зависит от разводки. А для симуляции простеньких вещей макетки не надо - хватит и Proteus'а...
Hardware Nightmare
Статус: Не в сети Регистрация: 14.09.2003 Откуда: Taipei, Taiwan
Nick_Shl
Цитата:
хватит и Proteus'а...
симулируйте пожалуйста АЦП , скажем AD7708, к примеру, который меряет 2 термопары и платиновый RTD. И все это когда рядом стоит импульсный источник питания, да в тесном корпусе. На макетке - запросто проверяется, и вносятся правки, и через 3-4 подхода - получаются адекватные результаты, даже когда рядом лежит мобилка и звонят на нее . Протеус хорошая программа, но не чудо и не панацея. И протеус вам не поможет никак оценить конрастность индикатора на солнце , в темноте, или инерционность обновления изображения.
Конечно, если МК - просто побаловаться вечером с паяльником - сойдет и протеус. А если проект надо сделать, да чтобы работало, и заказчик не вставил потом результат труда куда не подобает - тут и макетки, и пробы, и термошкафы.
Junior
Статус: Не в сети Регистрация: 29.10.2006 Откуда: USA
TiN писал(а):
симулируйте пожалуйста АЦП , скажем AD7708, к примеру, который меряет 2 термопары и платиновый RTD.
И где мне это применить? В реобасе? Я не привык строить песочные замки экскаватором. Можно взять лопату - готовый термодатчик типа LM35 или какой-нибудь с 1-Wire. Или детскую лопатку - полупроводниковый терморезистор, стоящий в плече делителя напряжения. Точно так же, кстати, сделано в Cooler Master AeroGate/CoolDreive.
TiN писал(а):
Конечно, если МК - просто побаловаться вечером с паяльником - сойдет и протеус.
А разве тут речь идёт не об этом? Если нет, то автор ошибся сайтом... Для домашнего применения макетка - баловство, не более...
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Nick_Shl
Давайте прекратим выяснять отношения. В этой жизни каждый проходит свой путь. Но здесь ваш юношеский задор и категоричность в советах неуместны, ибо они неадекватны ситуации. Вы на единственном своем примере пытаетесь навязать неправильную практику работы. Я тоже могу привести конкретный пример - у меня сейчас на большой макетке АТмега 328 с графическим экраном и АТмега 88 с четырехразрядным LED. На 88 я довел до ума обработчик IR-сигналов стандарта NEC, который в июне дедал на 2313, и к нему подсоединен по I2C H-Fi пред TDA8424. Идет анализ постоения входов на IC 4052 vs HiFi реле, и различные варианты разводки питания цифровых и аналоговых цепей и самих источников и влияния их на звук. Кроме того, планируется подключение IC FM-тюнера, но пока трудности с выбором. Ваш совет - сразу делать печатную плату - бред чистой воды.
Что касается программирования, то прочитайте, о чем я писал. Я изучаю не язык, а микроконтроллер, его устройство и систему команд. Вы предлагаете мне это делать на Си? Касательно ваших опусов с расхожими цитатами из серии "Си vs Ассемблер", а также "x86 знаю достаточно. Выучил его ещё в школе-коллежде. А когда пошёл в универ понял - надо было учить Си" говорит о том, что вы занимались кодированием, а не программированием. К сожалению, эти два понятия часто считают идентичными. Классики программирования по этому поводу и про необходимость знания машинных языков высказывались не раз. И выучить систему команд и научиться программировать на ассеммблере - совершенно разные вещи. И на одном языке, хоть в лигвистическом, хоть в программистском понимании, сегодня никуда не уедешь.
По поводу того, что на Си и ассемблере можно сделать одно и то же - да, большинстве случаев прикладного кода. Но не в системном программировании в условиях ограниченных ресурсов, когда приходится отказываться от парадигмы единственной точки входа и выхода. Языки высоко уровня позволяют добиться более высокой скорости программирования, но какой ценой? Если вы говорите про себя, что "x86 знаю достаточно", то вы знаете Ole и его линкер и сравнение его с MS, знаете hutch и многих других гуру, жаль их не так много, иначе бы Windows была бы раз в десять поменьше по объему. Правда и делалась бы подольше, наверное, но вот он и компромисс - гигантский объем кода, но быстро сделанный, либо оптимальный, но медленее. У больших коммерческих проектов просто нет выбора. А для нескольких килобайт кода - так это просто смешно говорить, что на Си вы сделаете что-то быстрее и компактнее, чем на ассемблере.
Member
Статус: Не в сети Регистрация: 16.08.2007 Откуда: Москва
zauropod Отличная статья! Только в прошлом семестре микроконтроллеры ковыряли (в основном на симуляторах, правда). Выйди она месяца на 3-4 пораньше — была б мне неплохим мотиватором. P. S. Понравилась идея с буфером в SRAM для дисплея, мы до такого, разумеется, не додумались.
_________________ LinX — маленький GUI к великому Linpack'у: http://people.overclockers.ru/Dualist/12527/Linpack_GUI_LinX/
Junior
Статус: Не в сети Регистрация: 29.10.2006 Откуда: USA
zauropod писал(а):
Ваш совет - сразу делать печатную плату - бред чистой воды.
Значит плохо читали мой совет. Сначала накачать даташитов и апликейшн ноутов, изучить и принять решение. Зачем заниматься самодеятельностью и экспериментаторством? Производитель уже всё проделал за вас. Есть типовые схемы включения, рекомендации и т.д.
zauropod писал(а):
Что касается программирования, то прочитайте, о чем я писал. Я изучаю не язык, а микроконтроллер, его устройство и систему команд. Вы предлагаете мне это делать на Си?
Микроконтроллер, это перефрия, её регистры, прерывания, организация памяти и т.д. А ассемблер(как и Си) лишь способ воздействия на всё это. Посмотрите в даташиты - там приводится код и на ассемблере, и на Си. Значит и на Си можно изучать МК ничуть не хуже чем на ассемблере.
zauropod писал(а):
По поводу того, что на Си и ассемблере можно сделать одно и то же - да, большинстве случаев прикладного кода. Но не в системном программировании
Теперь я просто уверен, что Си вы не знаете. Почитали бы wikipedi'ю хотя бы:
Цитата:
Си ценят за его эффективность; он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. ... Код на Си можно легко писать на низком уровне абстракции, почти как на ассемблере. Иногда Си называют «универсальным ассемблером» или «ассемблером высокого уровня», что отражает различие языков ассемблера для разных платформ и единство стандарта Си, код которого может быть скомпилирован без изменений практически на любой модели компьютера. Си часто называют языком среднего уровня или даже низкого уровня, учитывая то, как близко он работает к реальным устройствам.
Честно, говоря уже надоело спорить и что-то доказывать. Кому надо тот сам вынесет из этих споров то, что ему надо. Надеюсь увидеть продолжение стати с конкретными завершёнными поделками и что всё не закончится на мекетках. Но есть определённые сомнения... Хотя бы потому, что был куплен программатор. Настоящие джедаи могут сделать сами. Например этот. Моя версия выглядит так: #77 #77 Для заливки прошивки были использованы "5 проводков" на LPT порт. Залита модифицированная прошивка от AVRDoper. Поддерживает протокол STK500.
Dua|ist писал(а):
Отличная статья! Только в прошлом семестре микроконтроллеры ковыряли (в основном на симуляторах, правда). Выйди она месяца на 3-4 пораньше — была б мне неплохим мотиватором.
Вот на это она точно годится. Этакий развёрнутый лозунг "Микроконтроллеры - это круто!" получился.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Nick_Shl Вам уже все сказано, где вы не правы, и не только мной, почему бы не успокоиться, а вы стали заниматься схоластикой и выдергиванием слов из предложений для цитирования ( троллинг?). Или вам негде пропиариться и вы решили здесь разместить фото ваших страшилок? Кстати, размещенные с нарушением правил конференции.
Для тех, кто в танке. В преамбуле я написал, что вижу МК Атмел впервые, берем документацию и ... дальше описания моих подвигов по мере продвижения. Какие к черту печатные платы? Никакого конкретного устройства не разрабатывалось.
Nick_Shl писал(а):
Значит и на Си можно изучать МК ничуть не хуже чем на ассемблере
Для программирования контроллера - безусловно. Но не для изучения его СИСТЕМЫ КОМАНД, анализа операционных кодов и оптимизации.
Не надо меня пугать википедией, и Си я знаю достаточно. Си - язык и для системного программирования. Вы дочитайте предложение, выхваченное для цитирования, до конца. Или для вас новость, что все критичные по времени участки кода пишутся на ассемблере? Подумайте на досуге, почему не на Си.
Nick_Shl писал(а):
есть определённые сомнения... Хотя бы потому, что был куплен программатор. Настоящие джедаи могут сделать сами
До этого вы меня упрекали, как истинный джедай, и в боязни использовать smd-элементы, и в том, что это не похоже на дневник. Боязни никакой нет. Есть ограничения по физическому состоянию. Очень многого я не имею возможности делать сам. Я несколько лет назад был почти полностью парализован, сейчас приходится и печатать на клавиатуре, и заниматься с радиодетальками одной рукой, и это еще не все проблемы. Поэтому, каждая моя новая статья - победа над собой и вера в то, что это может быть кому-то полезно, поскольку я пишу только о том, что делал сам, никого не копируя и ничего не слизывая. Так что, благородный джедай, продолжайте ваши инсинуации.
Member
Статус: Не в сети Регистрация: 20.07.2005 Откуда: Днепропетровск
Цитата:
Такая оболочка для программатора была найдена на просторах интернета — товарищ из Ирана сделал, на мой взгляд, лучший вариант — Khazama AVR Programmer http://www.khazama.com/project/programmer/ .
А как же идущий вместе с AVR Studio AVR Prog? Или там нет поддержки вашего программатора? Как я понял, у вас программатор основан на ISP, значит поддержка есть. И так как это официальный Atmel'овский софт, то проблем с поддержкой любых MCU там быть не должно (по-идее). Плюс ко всему в AVR Prog удобно (как по мне) выполнен процесс прошивки фьюзов, выбираем то, что хотим получить, скажем, внутренний осциллятор на 8 МГц, и все - просто и удобно, не нужны никакие калькуляторы фьюзов, поначалу это помогает уберечь от ошибок
_________________ Hallowed be Thy Name, Iron Maiden!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения