Эта отладочная плата разрабатывалась как дешевая, облегченная альтернатива платам от Atmel (AT91SAM7X-EK, стоит примерно $390) и Olimex (SAM7-EX256, стоит порядка $125). На плате установлен микроконтроллер с ядром ARM - AT91SAM7X512-AU.
На макетной плате AT91SAM7X, помимо микроконтроллера AT91SAM7X512-AU, установлены:
- Кварц 18.432 МГц, частота выбрана для работы интерфейса USB, при этом тактовый генератор микроконтроллера AT91SAM7X512-AU настраивается с помощью внутренней системы PLL на частоту 48 МГц. Максимальная возможная тактовая частота равна 55 МГц при работе кода из памяти FLASH и 200 МГц при работе кода из SRAM. - Коннектор miniUSB. - Коннектор RS-232 мама, подключенный к порту DBGU микроконтроллера. - Коннектор JTAG - для отладки и программирования. - Коннектор UEXT - на него выведены последовательные интерфейсы (цоколевка совпадает с коннектором UEXT макетной платы Olimex SAM7-EX256). - Коннектор EXP - на него выведены входы АЦП и некоторые порты (цоколевка совпадает с коннектором EXP макетной платы Olimex SAM7-EX256). - Перемычки TST, JTAGSEL и ERASE (совпадают с перемычками макетной платы Olimex SAM7-EX256). - Коннектор для питания 5 V (джек). - Перемычка для выбора источника питания для платы (USB PWR/EXT PWR) - плату можно запитать или от USB, или от внешнего источника питания 5 вольт. - Кнопка сброса RST. - Порты микроконтроллера AT91SAM7X512, которые не выведены на коннекторы UEXT и EXP и некоторые другие (AD4..AD7, PA0..PA2, PA7..PA9, PA12..PA20, PB0..PB20, PB22..PB26), подключены к контактным площадкам платы, предназначенным для пайки (P1..P45).
Макетная плата AT91SAM7X отличается от SAM7-EX256 тем, что отсутствуют Ethernet, LCD-индикатор, кнопки, пищалка, триммеры, интерфейс CAN. Зато она маленькая, на ней есть макетное поле, разъемы miniUSB и RS-232, поэтому с помощью макетной платы AT91SAM7x удобно собирать рабочие радиолюбительские устройства, а не только отлаживать на ней программы.
Отлаживают программы с помощью интерфейса JTAG (см. [4]) и порта RS-232, подключенного к порту DBGU микроконтроллера. Программируется плата тоже через JTAG, но можно использовать загрузчик SAM-BA, тогда программу леко можно залить через интерфейс USB с помощью утилиты загрузки от Atmel (см. [5]).
Спецификация на детали в формате PCAD, монтажная схема
№
|
Кол.
|
Тип
|
RefDes
|
Примечание
|
1
|
1
|
AT91SAM7X512 |
U3 |
LQFP100 |
2
|
1
|
BUTT_RESET |
BP1 |
|
3
|
4
|
CAP |
C22, C23, C25, C29 |
0805-0.1uF |
4
|
15
|
CAP |
C13, C20, C21, C24, C26, C27, C28, C30, C31, C32, C33, C34, C35, C36, C37 |
0805-0.22uF |
5
|
9
|
CAP |
C8, C9, C10, C11, C12, C15, C17, C18, C19 |
0805-1n |
6
|
2
|
CAP |
C2, C3 |
0805-10 (9.1) |
7
|
1
|
CAP |
C7 |
0805-10n |
8
|
2
|
CAP |
C4, C5 |
0805-15 (9.1) |
9
|
1
|
CAP |
C6 |
0805-33 (22) |
10
|
1
|
DB9 |
J6 |
DSUB1.385-2H9 |
11
|
1
|
10 pin male |
U6 |
HDR2X5 UEXT |
12
|
3
|
JMP2 |
J4, J5, J7 |
ERASE, JTAGSEL, TST |
13
|
1
|
JMP3 |
J2 |
POWER USB/EXT |
14
|
2
|
20 pin male |
U4, U1 |
HDR2X10 EXT, JTAG |
15
|
1
|
LED |
VD1 |
1210 |
16
|
1
|
LM1117 |
U2 |
SOT-223 |
17
|
3
|
POLCAP |
C1, C14, C16 |
1210-22uF |
18
|
1
|
POWJACK |
J1 |
|
19
|
2
|
RES |
R15, R18 |
0805-* |
20
|
1
|
RES |
R13 |
0805-1 |
21
|
2
|
RES |
R9, R11 |
0805-1.5k |
22
|
1
|
RES |
R10 |
0805-15k |
23
|
1
|
RES |
R12 |
0805-22k |
24
|
2
|
RES |
R7, R8 |
0805-27 |
25
|
4
|
RES |
R3, R4, R5, R6 |
0805-100k |
26
|
1
|
RES |
R14 |
0805-240 |
27
|
2
|
RES |
R19, R20 |
0805-330 |
28
|
2
|
RES |
R1, R2 |
0805-330k |
29
|
1
|
RES |
R17 |
0805-390 |
30
|
1
|
RES |
R16 |
0805-470 |
31
|
1
|
ST232CDR |
U5 |
SO16-150 |
32
|
1
|
USB-M-1J |
J3 |
USB-M-1J-PCB-02 |
33
|
1
|
XTAL |
QZ1 |
HC-18N-18.432 |
[Чем прошивать AT91SAM7X]
1. SAM-BA через USB (коннектор J3). 2. SAM-BA через DBGU (RS-232, коннектор J6). 3. JTAG (коннектор U1).
Способы 1 и 2 возможностями почти не отличаются, применяется одна и та же утилита SAM-BA. Способ 3 может также использоваться для полноценной пошаговой отладки программ, для этого нужен специальный аппаратный отладчик SEGGER SAM-ICE (или JLink, или MT-LINK).
[См. также]
- Простой пример мигания светодиодом на макетной плате - led-flashing (исходные коды) и прошивка (бинарник, который можно загрузить с помощью SAM-BA). - Как сделать USB Mass Storage Device на основе MMC/SD. - Работа с файловой системой FAT на карточках SD/MMC (с использованием библиотеки EFSL). - Работа с портом SSC. - AT91 Software Package site:atmel.com - обновление для IAR EW ARM, содержащее примеры кода (инициализация ядра, тактового генератора, работа с периферийными устройствами, примеры реализации USB-устройств и т. д.). Использование этих примеров как шаблона - самый быстрый способ сделать свою программу для микроконтроллера ARM. Примеры рассчитаны на макетную плату Atmel - AT91SAM7X-EK, но они также работают и на макетной плате AT91SAM7X. - AT91SAM7X256 - пишем USB HID и ПО хоста для него.
[UPD110920]
Выявился баг в схеме - необходим эмиттерный повторитель на N-P-N транзисторе для управления нагрузочным резистором USB R11. Без эмиттерного повторителя USB bootloader (загрузчик SAM-BA) может не запуститься. Любое другое программное обеспечение, которое управляет портом PA25 как выходом, будет при этом работать нормально, без эмиттерного повторителя. Доработка показана в схеме красным цветом.
В качестве транзистора используется MMBT5551, но подойдет любой биполярный транзистор структуры N-P-N. Теперь все макетные платы AT91SAM7X поставляются с такой ручной доработкой.
[Как загружать программы (firmware) в память AT91SAM7X через USB]
Установите перемычку J2 в положение 1-2 (питание от USB) и подключите плату к компьютеру стандартным кабелем miniUSB. При первом подключении система Windows обнаружит новое устройство и запросит драйвер. Драйвер вместе с пакетом программ можно найти на сайте Atmel, для закачки потребуется регистрация. Можно без регистрации скачать по ссылке [3]. Скачайте пакет и установите. Пакет установится по умолчанию в папку c:\Program Files\ATMEL Corporation\sam-ba_2.11. Драйвер для платы AT91SAM7X находится в папке c:\Program Files\ATMEL Corporation\sam-ba_2.11\drv. Скормите этот путь мастеру установки драйвера, и драйвер успешно установится. Процесс установки показан на скриншотах.
Далее можно запустить утилиту программатора SAM-BA v2.11 (найдете в меню Пуск), выбрать интерфейс подключения (в нашем примере \USBserial\COM4), тип платы (для нашего случая at91sam7x512-ek) и нажать Connect.
Запустится утилита SAM-BA, которая имеет широкие возможности по манипуляции памятью AT91SAM7X.
[Аналоги]
1. Atmel AT91SAM7X-EK site:atmel.com. 2. Olimex SAM7-EX256 site:olimex.com. 3. LDM-SAM7X256 site:ldm-systems.ru.
[Ссылки]
1. Программирование - ARM. 2. Полезные ссылки по ARM. 3. SAM-BA 2.11 for Windows (XP, Vista, Seven editions) revision 2.11, updated 10/11. Установочный пакет для утилиты SAM-BA, драйвер, а также руководство пользователя SAM-BA v2.11. 4. ARM: как начать работать с MT-LINK. 5. SAM-BA boot agent. |
Комментарии
microsin: вот пример подключения карты SD/MMC к макетной плате AT91SAM7X через коннектор UEXT - http://microsin.ru/content/view/1198/44/ .
microsin: я пробовал IAR-овский пример examplesAtmelat 91sam7x-ekgetting-started-project. Чтобы он стабильно заработал на повышенной частоте (больше 100 МГц), нужно выбрать конфигурацию проекта, рассчитанную на работу кода из SRAM (не из flash), и поменять константу тактовой частоты. Думаю, что таким же образом заработает любой другой пример, не привязанный к тактовой частоте и к памяти программ flash.
RSS лента комментариев этой записи