реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> AT91x или LPC21xx. Наставьте полного новичка
Tarhan
сообщение Apr 28 2006, 21:41
Сообщение #1





Группа: Новичок
Сообщений: 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), т.е. без дополнительных узлов соединить часть контактов микроконтроллера с контактами памяти. По скудному описанию микросхем памяти я понял, что память работает на высокой частоте.
Однако я не понимаю (ввиду скудных познаний в электронике), можно ли использовать ее с микроконтроллером? Т.е. не засчитается ли, допустим, один такт логической единицы с микроконтроллера за несколько единиц памяти?

Заранее спасибо за ответы.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 29 2006, 05:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
Tarhan
сообщение Apr 29 2006, 09:35
Сообщение #3





Группа: Новичок
Сообщений: 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-битной адресации там нельзя использовать большие объемы памяти.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 29 2006, 09:59
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
DASM
сообщение Apr 29 2006, 10:17
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



жаль я больше по фармакологии =( Ну а вообще - Атмель форевар ! =)))
Go to the top of the page
 
+Quote Post
goodwin
сообщение Apr 29 2006, 10:35
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267



Чем-то пожоже на это : http://www.itelsat.info/viewtopic.php?t=13357&start=0
На второй страничке вообще NASA и инопланетяне...
Go to the top of the page
 
+Quote Post
Tarhan
сообщение Apr 29 2006, 12:18
Сообщение #7





Группа: Новичок
Сообщений: 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 и инопланетяне...

Неа smile.gif) Это устройство ближе к медицине, а также на грани лженауки.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 29 2006, 14:00
Сообщение #8


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Через USB чистые LPC не грузятся.
JTAG в LPC можно применять вместе с альтернативными функциями, но переключать между режимами надо явно софтом или сигналом на пине при старте.
Чтоб узнать кто лучше смотрите ERRATA, сканируйте конференции, а вообще вам не позавидуешь.
Тут 6-ым чуством выбирать, надо иметь многолетний опыт, заранее чуять все возможные траблы и не только технические. Один.. два недокументированных глюка в чипе и ваш проект уйдет в минус, не поможет и двухслойный экран biggrin.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 29 2006, 14:12
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 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), т.е. без дополнительных узлов соединить часть контактов микроконтроллера с контактами памяти. По скудному описанию микросхем памяти я понял, что память работает на высокой частоте.
Однако я не понимаю (ввиду скудных познаний в электронике), можно ли использовать ее с микроконтроллером? Т.е. не засчитается ли, допустим, один такт логической единицы с микроконтроллера за несколько единиц памяти?

Можно - рулить памятью и задавать скорость будет контроллер.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 29 2006, 15:01
Сообщение #10


Гуру
******

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



Цитата(aaarrr @ Apr 29 2006, 17:12) *
Можно - рулить памятью и задавать скорость будет контроллер.

Ага 'рулить' можно, а то, что кто-то (с абсолютно непонятными целями и желанием получить некий недекларированный результат) собирается цеплять параллельную флешку на _порты_ и медленно и печально эмулировать туеву кучу обращений это НОРМАЛЬНОЕ решение? Полагаю, что в 99 случаях из 100 так делать в принципе не правильно.

На два предыдущих вопроса ответы находятся _самостоятельно_ за 10 минут чтения документов.
Дальше что?

Железячник там нужен хоть с какой-то квалификацией тогда и 'вопросов' станет на несколько порядков меньше и разговор пойдет...


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 29 2006, 15:31
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 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) *
Железячник там нужен хоть с какой-то квалификацией тогда и 'вопросов' станет на несколько порядков меньше и разговор пойдет...

Полностью согласен.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 29 2006, 15:34
Сообщение #12


Гуру
******

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



Цитата(aaarrr @ Apr 29 2006, 18:31) *
По-вашему, надо было вместо ответа написать "RTFM", флуда ради?

Наоборот :-( если уж по очевидным вопросам самостоятельно не найдены ответы, то дальше будет флуда немеряно :-( В конференции сие наблюдаллось и по гораздо менее обширным проблемам.

Цитата
Да и вопрос был о том, можно ли так подключить флеш, а не о том...

Да :-) вопрос был о том можно-ли выпрыгнуть из самолета. Вопроса нужен-ли для этого парашют и
о предпрыжковой подготовке действительно не было.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Apr 29 2006, 19:04
Сообщение #13


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Купите да почитайте эту книгу для начала
http://www.dodeca.ru/books/arm7lpc2000.php
Go to the top of the page
 
+Quote Post
Edmundo
сообщение Apr 30 2006, 10:45
Сообщение #14


Мастер
****

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



Ничего не могу сказать про LPC, но про AT91SAM7S кое-что могу сказать.

Вообще выбора у меня подобного не стояло, потому что основная моя деятельность связана не с ARM, а с DSP. Появилось желание сделать USB-устройство, выполняющее определенные функции. Пара дней изучения информации привели меня к выводу, что это должен быть АРМ (32-бита, доступность средств разработки и отладки). Первым попавшимся был AT91SAM7S. Пара дней на сотворение и разводку схемы (с привлечением аналогичных схем), отладка правильно смонтированной платы не потребовалось -- SAM-BA при первом включении подтвердила, что плата дышит, ну и багов впоследствии выявлено не было (правда плата довольно простая). День на подъем обмена по USB (на основе примеров с at91.com, даже не потребовалось окрывать раздел USB в Preliminaty Complete smile.gif, хотя несколько синих экранов словил ). Ну а дальше при программироваии проблем особо не возникало.

Это при всем том, что схемотехникой и железом я тоже особо не занимался, хотя сталкивался тесно. Ну и при всем отсутствии опыта работы с АРМ, с USB, с драйверами WDM, с IAR и т.п.

Вывод: не бояться, выбрать что-то одно, сделать продукт. Не настолько они сильно отличаются, имхо. Максимум разницы -- на создание продукта с одним процессором у вас уйдет неделя, а со вторым полторы. Дольше выбирать, чем делать smile.gif

Все имхо, может быть рассуждаю с высоты DSP, но процесс с МК идет гораздо быстрее.


--------------------
شامل
Go to the top of the page
 
+Quote Post
defunct
сообщение May 4 2006, 13:37
Сообщение #15


кекс
******

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



Цитата(Edmundo @ Apr 30 2006, 13:45) *
Вывод: не бояться, выбрать что-то одно, сделать продукт. Не настолько они сильно отличаются, имхо. Максимум разницы -- на создание продукта с одним процессором у вас уйдет неделя, а со вторым полторы. Дольше выбирать, чем делать smile.gif

Целиком и полностью согласен с выводом.

Цитата
какую группу МК - или LPC2xxx, или AT91SAM7xxx, - выбрать для дальнейшего изучения и использования?

они похожи. Ядро одинаковое. Примеров много как к тому так и к другому. Готовых и даже разведенных схем в инете имеется и к тому и к другому.
Отличия:
1. LPC имеют некоторый запас производительности, SAM'ы - более толковую документацию.
2. SAMовский бутлоадер работает по USB только с одним номиналом кварца.
3. LPCшный бутлоадер работает только по UART'у.
4. Оба имеют UARTы и всегда можно воспользоваться USB-мостом напр, FT232 и таким образом будет вам наипростейшее USB устройство и возможность загрузки прошивок по USB.
5. Для подключения и нормальной работы с внешней памятью желательно чтобы у чипа была соответствующая шина, у филипка есть такие чипы - LPC2292/2294, у атмела ARM7 нормальных с поддержкой внешней памяти imho нет, AT91M40800 с трудом можно назвать нормальным. (хотя здесь может фанаты атмела, что-то могут подсказать).

И с теми и с теми очень легко начать работать.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01535 секунд с 7
ELECTRONIX ©2004-2016