Программирование ARM Макетная плата AT91SAM7X Mon, January 23 2017  

Поделиться

нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Макетная плата AT91SAM7X Печать
Добавил(а) microsin   

Эта отладочная плата разрабатывалась как дешевая, облегченная альтернатива платам от Atmel (AT91SAM7X-EK, стоит примерно $390) и Olimex (SAM7-EX256, стоит порядка $125). На плате установлен микроконтроллер с ядром ARM - AT91SAM7X512-AU.

AT91SAM7X-kit-SCH.GIF AT91SAM7X-kit-IMG_8374.jpg AT91SAM7X-kit-IMG_8377.jpg
AT91SAM7X-kit-IMG_8396.jpg AT91SAM7X-kit-IMG_8384.jpg AT91SAM7X-kit-IMG_8400.jpg

На макетной плате 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 поставляются с такой ручной доработкой.

AT91SAM7X-upgrade-IMG_1357.JPG

[Как загружать программы (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. Скормите этот путь мастеру установки драйвера, и драйвер успешно установится. Процесс установки показан на скриншотах.

ARM-SAM-BA01 ARM-SAM-BA02 ARM-SAM-BA03 ARM-SAM-BA04
ARM-SAM-BA05 ARM-SAM-BA06 ARM-SAM-BA07

Далее можно запустить утилиту программатора SAM-BA v2.11 (найдете в меню Пуск), выбрать интерфейс подключения (в нашем примере \USBserial\COM4), тип платы (для нашего случая at91sam7x512-ek) и нажать Connect.

ARM-SAM-BA08 ARM-SAM-BA09

Запустится утилита SAM-BA, которая имеет широкие возможности по манипуляции памятью AT91SAM7X.

ARM-SAM-BA10

[Аналоги]

1. Atmel AT91SAM7X-EK site:atmel.com.
2. Olimex SAM7-EX256 site:olimex.com.
3. LDM-SAM7X256 site:ldm-systems.ru.

[Как заказать]

Если хотите приобрести макетную плату AT91SAM7X, отправьте мне email (адрес см. на страничке Контакты), или оставьте комментарий ниже, указав контакты для связи с Вами (email, ICQ или телефон). Если Вы находитесь не в Москве, возможна доставка посылкой. Внимание: в таблице указана цена без учета стоимости пересылки (180 руб.).

Стоимость готовой макетной платы AT91SAM7X        1600 руб.
Стоимость пустой печатной платы 500 руб.

[Ссылки]

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.

 

Комментарии  

 
0 #3 Андрей 19.12.2010 22:49
Пример "как сделать USB Mass Storage" к этой плате ведь не подойдет, т.к. нет разъема SD/MMC?

microsin: вот пример подключения карты SD/MMC к макетной плате AT91SAM7X через коннектор UEXT - http://microsin.ru/content/view/1198/44/ .
Цитировать
 
 
0 #2 Андрей 19.12.2010 22:47
С частотой 100-200 МГц непонятно... В Atmel'овской документации написано про 55 МГц. Насколько удорожит плату добавление Ethernet PHY?
Цитировать
 
 
0 #1 Сергей 07.04.2010 20:43
А есть реальный пример работы на 200МГц?

microsin: я пробовал IAR-овский пример examplesAtmelat 91sam7x-ekgetting-started-project. Чтобы он стабильно заработал на повышенной частоте (больше 100 МГц), нужно выбрать конфигурацию проекта, рассчитанную на работу кода из SRAM (не из flash), и поменять константу тактовой частоты. Думаю, что таким же образом заработает любой другой пример, не привязанный к тактовой частоте и к памяти программ flash.
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Top of Page