|
|
  |
AT91x или LPC21xx. Наставьте полного новичка |
|
|
|
Apr 28 2006, 21:41
|
Группа: Новичок
Сообщений: 7
Регистрация: 28-04-06
Пользователь №: 16 594

|
Жизнь заставила перейти от системного программиста к программисту микроконтроллеров. Понадобилось сделать (создание схемы не моя будет задача) один девайс условно состоящий из нескольких источников аналогового сигнала, внешнего АЦП, внешней памяти ну и собственно контроллера с USB интерфейсом. Сделать его предполагается наскоком (и хотелось бы избежать ошибки создания аппаратной части). Т.е. создать принципиальную схему, отдать ее конторе для трассировки и собственно печати платы печатающей платы. Далее уже эксперементировать с программированием. Как я уже упомянул я в программировании микроконтроллеров абсолютный новичок, поэтому заранее прошу прощения за несуразные вопросы.
Итак, для начала интересует выбор микроконтроллера. Мне приклянулись LPC2148 и AT91SAM7S256 на ядре ARM7TDMI-S. По нескольким результатам поиска в форумах понял, что работа с протоколом USB в LPC сделано хуже. Однако еще интересует возможность программирование через USB, причем голого устройства, т.е. еще без программы во флешке. У SAM'ом вроде как для этого есть SAM-BA, только я не понял действует ли он когда флеш память пуста? И есть у LPC аналог SAM-BA (из datasheet я это не понял)? Если при пустой памяти нельзя провести программирование через USB, то как я понял придется использовать JTAG (что это и с чем его едят я еще смутно представляю). Однако как я прочел в неком JTAG FAQ для ARM чаще всего используется 14-и контактовый JTAG-интерфейс. Можно ли вывести контакты, используемые для других задач, параллельно заюзать еще и для JTAG? Т.е. вывести контакты на некий порт (например, как контакты дополнительных usb в компьютере), которым придется воспользоваться в теории только однажды при первом программировании.
Другой момент, который я еще не допонимаю. Возможно ли использовать напрямую микроконтроллер с памятью NAND Flash (от Samsung), т.е. без дополнительных узлов соединить часть контактов микроконтроллера с контактами памяти. По скудному описанию микросхем памяти я понял, что память работает на высокой частоте. Однако я не понимаю (ввиду скудных познаний в электронике), можно ли использовать ее с микроконтроллером? Т.е. не засчитается ли, допустим, один такт логической единицы с микроконтроллера за несколько единиц памяти?
Заранее спасибо за ответы.
|
|
|
|
|
Apr 29 2006, 05:50
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Tarhan @ Apr 29 2006, 00:41)  Понадобилось сделать (создание схемы не моя будет задача) ... Однако я не понимаю (ввиду скудных познаний в электронике) ... Сделать его предполагается наскоком (и хотелось бы избежать ошибки создания аппаратной части). ..... Так зачем тогда вопросы 'от нуля'? Когда кто-то создающий Вам железо выдвинет свои предложения, тогда можно их и обсудить. А пока какая-то профанация получается :-( Цитата Далее уже эксперементировать с программированием. Для экспериментов с программированием, тем более не имея никакго опыта ни в железе ни в железном программировании СЛЕДУЕТ ОБЯЗАТЕЛЬНО ДЛЯ НАЧАЛА ВЗЯТЬ что-нибудь из готовых железок для оного предназначенных, например, из гаммы выпускаемой Olimex http://olimex.com/dev/index.html
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Apr 29 2006, 09:35
|
Группа: Новичок
Сообщений: 7
Регистрация: 28-04-06
Пользователь №: 16 594

|
Цитата(zltigo @ Apr 29 2006, 09:50)  Так зачем тогда вопросы 'от нуля'? Когда кто-то создающий Вам железо выдвинет свои предложения, тогда можно их и обсудить. А пока какая-то профанация получается :-( Разумеется можно обсудить, но для начала следует определиться с нетокорыми заданными вопросами, чтобы лучше представлять что хотелось бы получить. Цитата(zltigo @ Apr 29 2006, 09:50)  Для экспериментов с программированием, тем более не имея никакго опыта ни в железе ни в железном программировании СЛЕДУЕТ ОБЯЗАТЕЛЬНО ДЛЯ НАЧАЛА ВЗЯТЬ что-нибудь из готовых железок для оного предназначенных, например, из гаммы выпускаемой Olimex http://olimex.com/dev/index.htmlПонятное дело, просто для опытов в программировании микроконтроллера буду использовать dev.board, но просто, конкретные желаемые алгоритмы необходимо применять не для прикладных задач - корпус устройства (имеющийся уже) состоит двухслойной электромагнитной защиты, а между стоями формируется более-менее однородное электромагнитное поле искажающее прошеднее через первый слой поле другой природы нежели электромагнитное (только не надо сразу писать, что кроме электромагнитных поле других не существует, топик то не о том). Так что на dev.board'е будет влиять обычные электромагнитные наводки, что совершенно не нужно. Однако прежде чем брать dev.board, необходимо выяснить какой все таки (LPC21xx или AT91SAM7xx) микроконтроллер мне лучше использовать, с точки зрения удобства программирования. P.S.: Я вообще вначале хотел использовать PIC'и (что-то вроде 18F4550), но из-за 12-битной адресации там нельзя использовать большие объемы памяти.
|
|
|
|
|
Apr 29 2006, 09:59
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Tarhan @ Apr 29 2006, 12:35)  Разумеется можно обсудить, но для начала следует определиться с нетокорыми заданными вопросами, чтобы лучше представлять что хотелось бы получить. Проблема в том, что можно и нужно обсуждать с теми, кто компетентен в обсуждаемом вопросе. Иначе это получается совсем не обсуждение :-(. Цитата Понятное дело, просто для опытов в программировании микроконтроллера буду использовать dev.board, но просто, конкретные желаемые алгоритмы необходимо применять не для прикладных задач - корпус устройства (имеющийся уже) состоит двухслойной электромагнитной защиты, а между стоями формируется более-менее однородное электромагнитное поле искажающее прошеднее через первый слой поле другой природы нежели электромагнитное (только не надо сразу писать, что кроме электромагнитных поле других не существует, топик то не о том). Так что на dev.board'е будет влиять обычные электромагнитные наводки, что совершенно не нужно. Вопросы о влиянии второго слоя электромагнитной защиты на алгоритмы лучше обсуждать под наблюдением специалистов соответствующей медициской квалификации.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Apr 29 2006, 12:18
|
Группа: Новичок
Сообщений: 7
Регистрация: 28-04-06
Пользователь №: 16 594

|
Цитата(zltigo @ Apr 29 2006, 13:59)  Проблема в том, что можно и нужно обсуждать с теми, кто компетентен в обсуждаемом вопросе. Иначе это получается совсем не обсуждение :-(. Я понимаю, что мои вопросы могут звучать по детски, но это не повод упорно меня уличать в не компетентности. Все таки я их задал достаточно конкретно, уж на те вопросы (выделенные жирным шрифтом), которые спрашивают можно или нет что-то сделать можно было ответить, параллельно с не нужными упреками. Ведь я не мнение свое просил высказать, а помочь если есть возможность, под чем подразумевается также желание помочь, а не только знание вопроса. Итак повторю первостепенные с моей точки зрения вопросы. У миктоконтроллеров LPC2xxx можно ли утилитами перепрошить программу на "голом устройстве" через USB? Интересуют ответы типа невозможно; можно утилитами производителя; можно но писать утилиту придется самому. Если на предыдущий вопрос ответ невозможно, то можно ли расвести часть контактов МК на порт для JTAG (например 20 контактный как у некоторых dev.board'ов), а также эти же контакты расвести в другие места для выполнения задач в режиме выполнения? Интересуют ответы типа нельзя, можно, можно но нужно замыкать еще контакты на время программирования (тот же ресет) и отключать всякое дополнительное питание. Чисто с субективной точки зрения какую группу МК - или LPC2xxx, или AT91SAM7xxx, - выбрать для дальнейшего изучения и использования? Интресуют ответы типа LPC2xxx, AT91SAM7xxxЦитата(zltigo @ Apr 29 2006, 13:59)  Вопросы о влиянии второго слоя электромагнитной защиты на алгоритмы лучше обсуждать под наблюдением специалистов соответствующей медициской квалификации. Такие люди есть, они собственно заказчики, но с очень низким бюджетом, почему приходится совмещать обычное программирование с железным программированием. Цитата(goodwin @ Apr 29 2006, 14:35)  Чем-то пожоже на это : http://www.itelsat.info/viewtopic.php?t=13357&start=0На второй страничке вообще NASA и инопланетяне... Неа  ) Это устройство ближе к медицине, а также на грани лженауки.
|
|
|
|
|
Apr 29 2006, 14:12
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Tarhan @ Apr 29 2006, 01:41)  У SAM'ом вроде как для этого есть SAM-BA, только я не понял действует ли он когда флеш память пуста? Действует (точнее, можно восстановить загрузчик дернув один пин). Цитата(Tarhan @ Apr 29 2006, 01:41)  И есть у LPC аналог SAM-BA (из datasheet я это не понял)? Есть, но шить придется через RS232. Цитата(Tarhan @ Apr 29 2006, 01:41)  Другой момент, который я еще не допонимаю. Возможно ли использовать напрямую микроконтроллер с памятью NAND Flash (от Samsung), т.е. без дополнительных узлов соединить часть контактов микроконтроллера с контактами памяти. По скудному описанию микросхем памяти я понял, что память работает на высокой частоте. Однако я не понимаю (ввиду скудных познаний в электронике), можно ли использовать ее с микроконтроллером? Т.е. не засчитается ли, допустим, один такт логической единицы с микроконтроллера за несколько единиц памяти? Можно - рулить памятью и задавать скорость будет контроллер.
|
|
|
|
|
Apr 29 2006, 15:01
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(aaarrr @ Apr 29 2006, 17:12)  Можно - рулить памятью и задавать скорость будет контроллер. Ага 'рулить' можно, а то, что кто-то (с абсолютно непонятными целями и желанием получить некий недекларированный результат) собирается цеплять параллельную флешку на _порты_ и медленно и печально эмулировать туеву кучу обращений это НОРМАЛЬНОЕ решение? Полагаю, что в 99 случаях из 100 так делать в принципе не правильно. На два предыдущих вопроса ответы находятся _самостоятельно_ за 10 минут чтения документов. Дальше что? Железячник там нужен хоть с какой-то квалификацией тогда и 'вопросов' станет на несколько порядков меньше и разговор пойдет...
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Apr 29 2006, 15:31
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(zltigo @ Apr 29 2006, 19:01)  Ага 'рулить' можно, а то, что кто-то (с абсолютно непонятными целями и желанием получить некий недекларированный результат) собирается цеплять параллельную флешку на _порты_ и медленно и печально эмулировать туеву кучу обращений это НОРМАЛЬНОЕ решение? Полагаю, что в 99 случаях из 100 так делать в принципе не правильно. А я, в свою очередь, рискну предположить, что в 80 случаях из 100 это вполне приемлемое решение. Да и вопрос был о том, можно ли так подключить флеш, а не о том, можно ли при таком подключении добиться скорости 20 Мбайт/с. Цитата(zltigo @ Apr 29 2006, 19:01)  На два предыдущих вопроса ответы находятся _самостоятельно_ за 10 минут чтения документов. Дальше что? По-вашему, надо было вместо ответа написать "RTFM", флуда ради? Цитата(zltigo @ Apr 29 2006, 19:01)  Железячник там нужен хоть с какой-то квалификацией тогда и 'вопросов' станет на несколько порядков меньше и разговор пойдет... Полностью согласен.
|
|
|
|
|
Apr 29 2006, 15:34
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(aaarrr @ Apr 29 2006, 18:31)  По-вашему, надо было вместо ответа написать "RTFM", флуда ради? Наоборот :-( если уж по очевидным вопросам самостоятельно не найдены ответы, то дальше будет флуда немеряно :-( В конференции сие наблюдаллось и по гораздо менее обширным проблемам. Цитата Да и вопрос был о том, можно ли так подключить флеш, а не о том... Да :-) вопрос был о том можно-ли выпрыгнуть из самолета. Вопроса нужен-ли для этого парашют и о предпрыжковой подготовке действительно не было.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Apr 30 2006, 10:45
|

Мастер
   
Группа: Свой
Сообщений: 730
Регистрация: 18-02-06
Из: Москва
Пользователь №: 14 474

|
Ничего не могу сказать про LPC, но про AT91SAM7S кое-что могу сказать. Вообще выбора у меня подобного не стояло, потому что основная моя деятельность связана не с ARM, а с DSP. Появилось желание сделать USB-устройство, выполняющее определенные функции. Пара дней изучения информации привели меня к выводу, что это должен быть АРМ (32-бита, доступность средств разработки и отладки). Первым попавшимся был AT91SAM7S. Пара дней на сотворение и разводку схемы (с привлечением аналогичных схем), отладка правильно смонтированной платы не потребовалось -- SAM-BA при первом включении подтвердила, что плата дышит, ну и багов впоследствии выявлено не было (правда плата довольно простая). День на подъем обмена по USB (на основе примеров с at91.com, даже не потребовалось окрывать раздел USB в Preliminaty Complete  , хотя несколько синих экранов словил ). Ну а дальше при программироваии проблем особо не возникало. Это при всем том, что схемотехникой и железом я тоже особо не занимался, хотя сталкивался тесно. Ну и при всем отсутствии опыта работы с АРМ, с USB, с драйверами WDM, с IAR и т.п. Вывод: не бояться, выбрать что-то одно, сделать продукт. Не настолько они сильно отличаются, имхо. Максимум разницы -- на создание продукта с одним процессором у вас уйдет неделя, а со вторым полторы. Дольше выбирать, чем делать  Все имхо, может быть рассуждаю с высоты DSP, но процесс с МК идет гораздо быстрее.
--------------------
شامل
|
|
|
|
|
May 4 2006, 13:37
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Edmundo @ Apr 30 2006, 13:45)  Вывод: не бояться, выбрать что-то одно, сделать продукт. Не настолько они сильно отличаются, имхо. Максимум разницы -- на создание продукта с одним процессором у вас уйдет неделя, а со вторым полторы. Дольше выбирать, чем делать  Целиком и полностью согласен с выводом. Цитата какую группу МК - или LPC2xxx, или AT91SAM7xxx, - выбрать для дальнейшего изучения и использования? они похожи. Ядро одинаковое. Примеров много как к тому так и к другому. Готовых и даже разведенных схем в инете имеется и к тому и к другому. Отличия: 1. LPC имеют некоторый запас производительности, SAM'ы - более толковую документацию. 2. SAMовский бутлоадер работает по USB только с одним номиналом кварца. 3. LPCшный бутлоадер работает только по UART'у. 4. Оба имеют UARTы и всегда можно воспользоваться USB-мостом напр, FT232 и таким образом будет вам наипростейшее USB устройство и возможность загрузки прошивок по USB. 5. Для подключения и нормальной работы с внешней памятью желательно чтобы у чипа была соответствующая шина, у филипка есть такие чипы - LPC2292/2294, у атмела ARM7 нормальных с поддержкой внешней памяти imho нет, AT91M40800 с трудом можно назвать нормальным. (хотя здесь может фанаты атмела, что-то могут подсказать). И с теми и с теми очень легко начать работать.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|