8-900-374-94-44
[email protected]
Slide Image
Меню

Bascom xmega: [07-2015] ATxmega BASCOM AVR —

ATXMEGA

ATXMEGA — отличный новый чип. У него много аппаратного обеспечения на борту и огромное количество аппаратных регистров.

Однако некоторые изменения в архитектуре нарушают совместимость с обычными процессорами AVR (ATMEGA/ATTINY).

 

Не пропустите раздел часто задаваемых вопросов — ATXMEGA ниже!

 

ATXMEGA предлагает огромное количество интерфейсов, таких как UART, I2C, SPI, счетчик/таймер, 12-битный аналоговый ввод/вывод, а также новые функции, такие как DMA (прямой доступ к памяти), система событий или аппаратное шифрование AES/ расшифровка.

 

Дополнительную информацию об АНАЛОГО-ЦИФРОВОМ ПРЕОБРАЗОВАТЕЛЕ (АЦП) ATXMEGA см. здесь:

КОНФИГУРАЦИЯ ADCX

 

Все ATXMEGA имеют свои регистры по одному и тому же адресу. Некоторые микросхемы могут иметь не все регистры, потому что оборудование находится не внутри микросхемы, но все файлы DAT* похожи. И все оборудование имеет фиксированное смещение.

Это позволяет использовать динамический код. Например, Bascom-AVR теперь может использовать переменную для UART, и код нужен только один раз, потому что все оборудование имеет фиксированное смещение.

 

* Файлы DAT — это регистровые файлы. Файлы регистров хранятся в каталоге приложений BASCOM-AVR, и все они имеют расширение DAT. Файл регистров содержит информацию о микросхеме, такую ​​как внутренние регистры и адреса прерываний. Информация о регистровом файле берется из файлов определений ATMEL.

 

ATXMEGA работает с 3,3 В, поэтому, пожалуйста, не подключайте что-либо, выдающее 5 В, к контактам XMEGA. Используйте для этого Level Shifter.

Максимальное напряжение для контакта ATXMEGA  3,6 В.

При использовании внутреннего генератора на 32 МГц требуется не менее 2,7 В постоянного тока. Внутренний генератор с частотой 32 МГц достаточно стабилен для многих приложений. Максимальная тактовая частота процессора составляет 12 МГц при использовании XMEGA всего с 1,6 В постоянного тока.

 

Прочтите указания по применению AVR1012: XMEGA Контрольный список схем для особых соображений при проектировании вашего оборудования.

 

 

Вы можете найти образцы Bascom для ATXMEGA в папке Bascom-AVR:

Общие образцы ……..\BASCOM-AVR\SAMPLES\XMEGA

Примеры загрузки S\BOOT

Для чипов типа xm128a1 в …….\BASCOM-AVR\SAMPLES\CHIPS

 

EL Руководства для каждого ATMME доступны для ATXMEGA2:  р

 

1. One Family Manual, как, например, для ATXMEGA128A1, это Atmel AVR XMEGA A Manual

2.
2.
, как ATX1, например, для одиночных чипов ATX1 для an28049. это ATxmega64A1/128A1/192A1/256A1/384A1 Руководство. В этом руководстве вы найдете, например, функции альтернативных выводов. Таким образом, вы можете найти, какой вывод на порту C является выводом SDA и SCL, когда вы хотите использовать интерфейс I2C/TWI этого порта.

 

Помимо руководств по микросхемам ATXMEGA на веб-сайте ATMEL имеется множество примечаний по применению, в которых объясняется, например, система событий ATXMEGA или прямой доступ к памяти (DMA) и т. д.

 

Что необходимо для начала работы с ATXMEGA и BASCOM-AVR

 

1. Последняя ПОЛНАЯ версия Bascom-AVR (демонстрационная версия Bascom-AVR не поддерживает ATXMEGA).

2. Оценочная плата, такая как оценочный комплект Atmel AVR XMEGA® Xplained или любая другая оценочная плата ATXMEGA с разъемом PDI (программный и отладочный интерфейс).

3. Программатор, такой как AVRISP MKII или любой другой программатор PDI или JTAG, поддерживающий ATXMEGA.

4. Последняя версия AVR-Studio 4.X или 5.X только для установки фьюз-битов и прошивки загрузчика в ATXMEGA.

5. Программирование ATXMEGA может быть выполнено непосредственно из BASCOM-IDE. См. также LIBUSB для получения дополнительной информации.

Наиболее важные части программы Bascom-AVR для XMEGA:

53

 

$regfile = «xm128a1def. dat»
$crystal = 32000000                     ’32MHz
$hwstack = 64
$swстек = 40
$framesize = 64

 

2. Включите и настройте генератор по вашему выбору:

= Enabledh, 3sc2d Configzo

Config        ‘ включить внутренние генераторы 2 МГц и 32 МГц

3. Выберите источник генератора для системных часов и прескалера (это должно совпадать с $crystal = XXXXXX). Далее настройте внутренний генератор 32 МГц как системные часы без предварительного делителя, чтобы системные часы были 32 МГц, что соответствует $crystal = 32000000

 

Config Sysclock = 32 МГц, Prescalea = 1, Prescalebc = 1_1  

 

50 4. необходимо настроить его, прежде чем использовать команду Enable Interrupt. Bascom-AVR автоматически активирует прерывание среднего уровня, если в коде есть Разрешить прерывание, но не прерывания низкого и высокого уровня.

 

Приоритет конфигурации = статический, вектор = приложение, Lo = включено, Med = включено, Hi = включено

 

5. Также, если вы хотите использовать EEPROM, вам необходимо настроить его, прежде чем вы сможете его использовать:

 Настройка режима памяти для EEPROM в XMEGA

 

6. После этого вы можете добавить Enable Interrupts и свой код в основной цикл.

 

До
‘Вставьте свой код
Loop

 

 

Конец                                                                                                ATXMEGA, которые переключают вывод каждую секунду:

 

$regfile = «xm64a3def. dat»
$кристалл = 32000000
$hwstack = 40
$swстек = 16
$framesize = 32

Config Osc = включено, 32mhzosc = включено
Системные часы конфигурации = 32 МГц, Prescalea = 1, Prescalebc = 1_1
Конфигурационный портb = выход

Сделать
переключить портb.0
Вэйтс 1000
петля

end ‘end program

 

Часто задаваемые вопросы — ATXMEGA

 

В: Как установить источник тактовой частоты и тактовую частоту с помощью ATXMEGA?

A: См. CONFIG OSC и CONFIG SYSCLOCK

 

Q: Нужно ли устанавливать предохранители XMEGA для начала работы?

A: Нет, для начала не нужно устанавливать фьюзы, потому что в отличие от megaAVR или ATTINY, где фьюзы используются для установки источника тактового сигнала и частоты, вы можете установить источник тактового сигнала и частоту в программе Bascom-AVR .

Вам также не нужен внешний источник синхронизации. Вы можете использовать внутренний 32MHz или 2MHz RC-генератор в качестве источника тактового сигнала.

 

В: Какой уровень прерывания (низкий, средний, высокий) используется, если я не указываю приоритет?

A: MED используется, когда приоритет не указан.

 

В: Поддерживается ли AVR-DOS для XMEGA?

О: Да, см. Файловая система AVR-DOS

 

В: Что еще поддерживается (Статус: Bascom-AVR 2.0.7.6), о чем просили пользователи форума Bascom-AVR?

A: Следующий список:

— 1-WIRE, EEPROM, XRAM, система событий, сервоприводы конфигурации, драйвер AVR-DOS SDHC, DCF77, RTC32,

— поддержка ввода/вывода Xmega огромная память, xmega LCD моделирование, dmxslave , RS-485, импульсный вход, импульсный выход, DMA

— Bascom Simulator, Event System, getrc5, CONFIG POWER_REDUCTION, буферизованный последовательный выход (com1-com4)

— конфигурация виртуальной карты портов, конфигурация tcXX для таймеров xmega, компаратор xmega, $forcesofti2c заставит xmega использовать программное обеспечение i2c

— Шифрование/дешифрование AES, xmega TWI, SPI, UART

 

В: Где узнать, какой вывод ATXMEGA является SDA и SCL?

A: Существует 2 руководства от ATMEL

1. Одно семейное руководство, например, для ATXMEGA128A1, это Atmel AVR XMEGA A Manual

2. Другое руководство для отдельных микросхем, например, для ATXMEGA128A1, это

ATxmega64A1/128A1/192A1/256A1/384A1 Руководство. В этом Руководстве вы найдете, например,

Альтернативные функции контакта. Таким образом, вы можете найти, какой вывод на порту C является выводом SDA и SCL, когда вы хотите

использовать интерфейс I2C/TWI этого порта.

 

В: Как запрограммировать/прошить ATXMEGA?

О: Программная поддержка провайдера отсутствует. Поддерживаются только JTAG и PDI. Конечно, загрузчик MCS можно использовать, но сначала вам необходимо запрограммировать чип, например, с помощью программатора AVRISP MKII. После этого программирование

   ATXMEGA может быть выполнено непосредственно из BASCOM-IDE 9.0003

 Важно также то, что программатору AVRISP MKII требуется напряжение питания 3,3 В от Цели.

 

В: Есть ли специальный исходный код загрузчика, который я могу использовать для ATXMEGA?

A: Пример загрузчика находится в следующей папке Bascom-AVR (C:\. …..\BASCOM-AVR\SAMPLES\BOOT)

 , например, ATXMEGA32A4 или ATXEMGA128A1. Для других чипов ATXMEGA исходный код можно легко адаптировать.

 

В: Что такое интерфейс программы и отладки (PDI)?

A: Программный и отладочный интерфейс (PDI) — это собственный интерфейс Atmel для внешнего программирования и встроенной

   отладки устройства.

 

В: Как читать/писать из/в регистр ATXMEGA?

A: Если вы хотите или вам нужно писать или читать регистры ATXMEGA напрямую, вам просто нужно найти имя, используя файл  

   ATXMEGA DAT.

   Например, если вы хотите прочитать версию ATXMEGA, в файле DAT есть регистр Mcu_revid.

 Файлы DAT можно найти в папке BASCOM-AVR.

   Позаботьтесь о защищенных регистрах. Прежде чем вы сможете писать в эти регистры, вам нужно освободить их. Примером этого       является сброс программного обеспечения.

 

В: Как инициировать программный сброс ATXMEGA?

A: Прежде чем вы сможете записать бит программного сброса, вам необходимо снять защиту от записи для этого бита и зарегистрироваться.

 ‘разрешить изменение защищенных регистров для следующих 4 циклов инструкций ЦП
CPU_CCP = &HD8
‘Инициировать программный сброс, установив бит 0 в регистре RST_CTRL
. Rst_ctrl.0 = 1                 ‘Когда этот бит установлен, происходит программный сброс

 

В: Как внешние прерывания (прерывания порта) используются с ATXMEGA?

A: Каждый порт XMEGA (например, PortA или PortF) с контактами от Pin0….Pin7 имеет 2 прерывания (INT0 и INT1). Таким образом, для каждого порта доступны INT0 и INT1.

Прерывания порта должны быть разрешены, прежде чем их можно будет использовать, например, Int1 на PortA = PORTA_INT1

 

Шаги для использования PortE.0 в качестве прерывания порта, где используется INT0:

 

1. Включите прерывание INT0 на порту E Enable Porte_int0 , Lo                                 ‘Включить это прерывание как прерывание нижнего уровня
Включить прерывания.0003

 

3. Настройте реакцию:

 

Config Xpin = Porte. 0 , Outpull = Pullup , Sense = Falling ‘enable Pull up и реакция на спадающий фронт  

 

4. Задайте маску прерывания будет активирован для генерации INT0 в этом случае):

Porte_int0mask = &B0000_0001                                                                                          0 = контакт деактивирован для прерывания

 

Вы также можете установить больше контактов как активированных (установить на 1), но тогда вам нужно проверить в подпрограмме обслуживания прерывания, какой контакт был основной причиной для генерации прерывания.

 

5. Процедура обслуживания прерываний:

 

‘Процедура обслуживания прерываний порта E INT0
Порт_e_int0__isr:

 
‘сделай что-нибудь….

 
Возврат

 

 

Дополнительная информация для прерываний порта:

Для асинхронного считывания только контакт 2 порта на каждом порту имеет полную поддержку асинхронного считывания. Это означает, что при обнаружении фронта

контакт 2 обнаружит и зафиксирует любой фронт, и он всегда будет запускать запрос на прерывание. Остальные выводы порта имеют ограниченную поддержку асинхронного считывания

[ATXMEGA A Manual].

 

 

См. также пример прерывания порта (внешнее прерывание) ниже.

 

В: Как записать в 16-битный (Word) регистр ATXMEGA?

A: Вам не нужен 16-битный (Word) регистр, потому что компилятор сделает это за вас автоматически.

   Для этого вы можете найти раздел [WIO] (Word IO) в файле DAT. Вы можете напрямую записывать в 16-битный регистр только через        определенный регистр в разделе [WIO] файла DAT

   Если есть необходимость вручную записывать/читать в/из 16-битного регистра, вам всегда нужно писать/читать Младший байт (LSB)

   и затем старший байт (MSB).

 

В: Существует ли также линейная архитектура памяти, как у ATMEGA или ATTINY AVR?

A: Сила AVR в линейной архитектуре памяти. В ATXMEGA это было изменено: регистры помещены в отдельное адресное пространство. Это приводит к сбою такого кода:

 

   Clr r31

   Ldi r30,10   ; указать на регистр R10

   Ld r24,z+   ; значение нагрузки от R10 и указатель

 

   Код типа LDS r16, 0  не будет загружать содержимое регистра R0 с Xmega

   Если ваш код ASM содержит такой код, вам необходимо его переписать.

 

В: Поддерживает ли демо-версия Bascom-AVR ATXMEGA?

A: ATXMEGA недоступна в PDIP. Это означает, что ATXMEGA не совсем подходит для любительских проектов.

  В результате ДЕМО-версия не поддерживает ATXMEGA.

 

 

В: Для чего нужны регистры виртуальных портов?

A: «Регистры виртуальных портов позволяют отображать регистры портов в расширенном пространстве памяти ввода-вывода виртуально

   в пространстве памяти ввода-вывода. При сопоставлении порта запись в регистр виртуального порта будет

   так же, как запись в регистр реального порта. Это позволяет использовать специальные инструкции памяти ввода-вывода

   для битовых манипуляций, а также инструкции IN и OUT памяти ввода-вывода в регистре порта, которые

   обычно находится в расширенной памяти ввода-вывода. Существует четыре виртуальных порта, поэтому одновременно можно сопоставить до четырех портов

  . Сопоставляемые регистры: IN, OUT, DIR и

   INTFLAGS». [из руководства ATXMEGA A]

 

В: На каком порту ATXMEGA я могу найти COM1…..COM8?

A: см. таблицу ниже:

 

    COM1 —> Usartc0
COM2 —> Usartc1
COM3 —> Usartd0
COM4 —> Usartd1
COM5 —> Usarte0
COM6 —> Usarte1
COM7 —> Usartf0
COM8 —> Usartf1

 

Q: Поддерживается ли Serialin и Serialout для интерфейсов UART выше COM4

A: Да, начиная с версии 2077, все 8 UART поддерживают буферизованный последовательный ввод и вывод.

 

  Для ATXMEGA первые 4 UART могут использовать, например, серийный номер:

 SERIALIN   : first UART/UART0        —> COM1
SERIALIN1 : второй UART/UART1 —> COM2
SERIALIN2 : третий UART/UART2        —> COM3
SERIALIN3 : четвертый UART/UART3        —> COM4
SERIALIN4 : четвертый UART/UART4        —> COM5
SERIALIN5 : четвертый UART/UART5        —> COM6
SERIALIN6 : четвертый UART/UART6        —> COM7
SERIALIN7 : четвертый UART/UART7        —> COM8

 

 

  Например, с ATXMEGA128A1 вы получите 8 UART:

  Каждый из 8 USART имеет, например, прерывание приема, которое можно использовать для анализа входящих данных:

 

    ATXMEGA128A1 Прерывания приема:
COM1 —> Usartc0_rxc
COM2 —> Usartc1_rxc
COM3 —> Usartd0_rxc
COM4 —> Usartd1_rxc
COM5 —> Usarte0_rxc
COM6 —> Usarte1_rxc
COM7 —> Usartf0_rxc
COM8 —> Usartf1_rxc

 

   В процедуре прерывания вам необходимо использовать функцию inkey(#X), поскольку inkey(#X) считывает регистр данных и

   , поэтому сбрасывает флаг прерывания. Без считывания регистра данных или сброса флага прерывания вручную прерывание

   будет срабатывать снова и снова.

 

   Пример процедуры прерывания:

 

  Rxc_isr:
Rs232 = Inkey(#1)
‘сделать что-нибудь с данными
Возврат

 

 

В: Как узнать причину сброса ATXMEGA (например, включение питания, сторожевой таймер или отдых программного обеспечения)

О: Для этого RST_STATUS существует специальный регистр, который вы можете прочитать и проанализировать.

  Вы также можете прочитать регистр R0, используя функцию GetReg(R0): myvar=GetReg(r0). Вам нужно сделать это в самом начале вашего кода.

 

 

В: Как выполнить автоматическую калибровку внутренних генераторов 2 МГц и 32 МГц во время работы?

A: Автоматическая калибровка внутренних генераторов во время работы активируется путем включения DFLL (цифровых контуров автоподстройки частоты) и автокалибровки.

‘Внутренний генератор 32,768 кГц используется для калибровки

OSC_DFLLCTRL = & B00000000

‘ Включение DFLL и AutoCalibration
Установите Dfllrc32m_ctrl. 0                                      

 

   Дополнительный совет от ATMEL для некоторых ревизий чипов:

«….Для работы одного из них должны быть включены оба DFLL и оба генератора.

Устранение неполадок/Временное решение

Включены как DFLL, так и генераторы при использовании автоматической калибровки во время выполнения для одного из внутренних генераторов

…»

 

 

В: Сколько циклов записи/стирания флэш-памяти и EEPROM можно выполнить с помощью ATXMEGA?

A: Один цикл записи состоит из стирания сектора с последующим программированием того же сектора. Вы можете найти максимальное количество для ATXMEGA128A1 здесь:

XMEGA Flash и EEPROM Циклы записи/стирания:

10 000 циклов записи/стирания

85°C — 10K циклов записи/стирания

 

EEPROM:

25°C 80K- Циклы записи/стирания

85°C 30K- Циклы записи/стирания

 

 

Port2 (Внешнее прерывание) от пользователя hzz:

‘—————————————————————————— ————————————————— ———————-
‘   Настройка внешних прерываний с помощью XMEGA
‘ Протестировано успешно с BASCOM 2. 0.7.5 и платой XMEGA128A3 от Chip45
‘   14 августа 2012 г.
————————————————— ————————————————— ———————
_________________________________________________________________________________
$regfile = «xm128a3def.dat»
$hwstack = 256
$swстек = 128
$framesize = 128
_________________________________________________________________________________
‘   Для кварца 16 МГц
$кристалл = 32000000
Config Osc = Disabled, Extosc = Enabled, Range = 12mhz_16mhz, Startup = Xtal_1kclk, 32khzosc = Enabled
‘ Установить условия PLL OSC:
Osc_pllctrl = &B1100_0010                                   ‘ опорный внешний генератор, установите коэффициент умножения PLL на 2 (биты 0–4)
Set Osc_ctrl.4                                         ‘ Enable PLL Oscillator
Bitwait Osc_status.4 , Set                               ‘ ждать, пока опорный источник синхронизации pll не станет стабильным
Clk_ctrl = &B0000_0100                                   ‘ переключить системные часы на pll
Системные часы конфигурации = Pll, Prescalea = 1, Prescalebc = 1_1
_________________________________________________________________________________
‘ Настройка:
Led1 Псевдоним Portd. 0: Config Portd.0 = Выход: Led1 = 1

‘ Каждый порт XMEGA  имеет два вектора прерывания: INT0 и INT1.
Например, XMEGA A3 имеет 7 портов: A, B, C, D, E, F, каждый из которых имеет 8 контактов в диапазоне от 0 до 7, и порт R всего с двумя контактами, обычно используемый внешним XTAL.
Поэтому до 12 контактов можно использовать в качестве внешних прерываний с XMEGA A3 (или до 14, если внешний XTAL не используется и PORTR.0 и PORTR.1 свободны)
‘ Для каждого порта любые два вывода могут быть определены как внешний источник прерывания следующим образом:
‘       В следующем примере следующие порты настраиваются как внешние источники прерываний:
. ‘           PORTB.0  с использованием вектора прерывания INT0 PORTB
‘           PORTB.3  с использованием вектора прерывания INT1 из PORTB
‘            (выводы порта B больше не могут быть определены как внешние источники прерываний)
‘           PORTA.3  с использованием вектора прерывания INT0 PORTA

‘ 1) Установите метки подпрограмм обслуживания прерываний для используемых векторов прерываний и
‘      включить прерывания, установив уровень прерывания:
На Portb_int0 B0_b0_isr : включить Portb_int0 , привет
На Portb_int1 B1_b3_isr : включить Portb_int1 , Lo
На Porta_int0 A0_a3_isr : Включить Porta_int0 , Lo
‘       Я выбираю имена меток, чтобы указать используемый вектор прерывания и вывод, который будет назначен
‘ следующий. Например, B1_b3_isr: использует вектор INT 1 порта B, назначенный контакту b3
.
‘ 2) Настройте контакты как входы и определите, что должно вызывать прерывание: низкий уровень, высокий уровень или переходы: повышение, понижение или оба
Config Portb.0 = Input: Config Xpin = Portb.0, Sense = Rising
Config Portb.3 = Input: Config Xpin = Portb.3, Sense = Falling
Config Porta.3 = Input: Config Xpin = Porta.3, Sense = Оба
‘       К этим контактам подключены три переключателя, PORTB.0, PORTB.3 и PORTA.3, для тестирования
.
‘ 3) Назначить контакты для векторов прерывания:
Portb_int0mask = &B0000_0001                     ‘ Назначить контакт b0 порту b_int0
Portb_int1mask = &B0000_1000                     ‘ Назначить вывод b3 порту Portb_int1
Porta_int0mask = &B0000_1000                     ‘ Назначить вывод a3 порту Porta_int0

‘     Обратите внимание, что одному и тому же вектору может быть назначено несколько выводов. Например, у нас может быть
‘      написано:
‘      PROTB_INT0MASK = &B0000_1001                      ‘ Назначьте контакты b0 и b3 порту b_int0
‘     В этом случае оба контакта «b0» и «b3» приведут к выполнению одного и того же ISR (если возможно, ISR может
‘      определить, какой вывод вызвал прерывание, и выполнить другой код. это способ
     имеющих более двух внешних источников прерываний на порт). Другим способом будет присвоение другим
‘      прикрепляет к каналам событий.

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

‘        B1_b3_isr:
‘            ‘ Делайте что угодно на каждом заднем фронте штифта b3
‘        Вернуть

‘        A0_a3_isr:
‘           ‘ Делайте что угодно на каждом восходящем и падающем фронтах штифта a3
‘        Вернуть

5) Не забудьте включить прерывания и настроить приоритеты
Включить прерывания
Приоритет конфигурации = Статический, Вектор = Приложение, Низкий = Включен, Средний = Включен, Высокий = Включен
_________________________________________________________________________________
Сделать
‘ Ничего здесь делать не надо
Петля
_________________________________________________________________________________

B0_b0_isr:                                               ‘ Переключатель, подключенный к PORTB. 0, будет переключать светодиод каждый раз, когда он переходит на HI
Переключить светодиод1
Возврат

B1_b3_isr:                                               ‘ Переключатель, подключенный к PORTB.3, будет переключать светодиод каждый раз, когда он переходит в состояние LO
Переключить светодиод1
Возврат

A0_a3_isr:                                               ‘ Переключатель, подключенный к PORTA.3, будет переключать светодиод каждый раз, когда он переходит в состояние LO или HI
Переключить светодиод1
Возврат

Макетная плата XMEGA — ATxmega128a1

ATxmega128a1 USB макетная плата
MT-X1


нажмите, чтобы увеличить

Эта страница больше не обновляется. См. http://www.mattairtech.com/index.php/development-boards/mt-x1s.html

Особенности

Atmel XMEGA 128A1 (версия чипа H), 128 КБ флэш-памяти, 8 КБ ОЗУ
Встроенный программатор USB PDI (внешний программатор не требуется)
Совместимость с AVRISPmkII
Программная флэш-память, EEPROM, предохранители, биты блокировки и т. д.
Работает с AVR Studio 4 и 5 , AVRDUDE, Codevision и BASCOM 2.0.6
USB — последовательный мост
Скорость передачи данных до 2 МГц (асинхронный режим 1 МГц)
Синхронный или асинхронный режим
Дополнительный сигнал готовности USB
3,3 В, 1 А LDO-стабилизатор
Питание через USB или внешний разъем
Резонатор 32,768 кГц подключен к контактам TOSC (RTC)
Внешний тактовый генератор 8 МГц доступен от USB AVR
Посадка резонатора HC49 подключена к контактам XTAL может использоваться для отключения устройств, когда они не используются (освобождает штырек разъема)
Слот для карты MicroSD с пружинным механизмом
Микросхема SPI SRAM 32 КБ
8-канальный драйвер реле с защитой от отдачи
До 70 мА на канал
Устройства 5 В или 3,3 В (реле, подсветка ЖК-дисплея и т. д.)
Может использоваться в качестве драйвера нижнего плеча общего назначения
Аудиоусилитель, подключенный к XMEGA DAC
Датчик температуры с маломощным режимом работы
Прецизионный эталон напряжения 1,25 В
Работает с XMEGA ADC errata
Используется для дифференциальных преобразований со знаком от 0 В до ~ 2,5 В на контакте
Направляется на оба эталонных входа через перемычки под пайку
4 кнопки
4 светодиода
JTAG (XMEGA), PDI (XMEGA)* и ISP (USB AVR) разъемы
4 режима загрузки, выбираемые с помощью перемычки и кнопки
Последовательный мост (по умолчанию)
Совместимый с AVRISPmkII программатор PDI
Конфигурация (использует эмулятор терминала)
Загрузчик DFU (для обновления прошивки на USB AVR через USB)
Кнопка загрузки может использоваться для переключения между программатором PDI и последовательным мостом
Предварительно загруженная демонстрация программа демонстрирует встроенные периферийные устройства, а также спящий режим
Размеры печатной платы 10 см x 5 см
Совместимость с Windows XP/Vista/7 и Linux
Все прошивки с открытым исходным кодом (лицензия MIT)
Использует USB-библиотеку LUFA и клон AVRISPmkII от Dean Camera ( http://www. fourwalledcubicle.com/)

Введение

MT-X1 — это гибкая отладочная плата USB для микроконтроллера Atmel ATxmega128a1. XMEGA можно полностью запрограммировать через USB, используя встроенный программатор PDI, совместимый с AVRISPmkII (нет необходимости приобретать внешний программатор). XMEGA может обмениваться данными с компьютером, используя встроенный мост USB-последовательный порт. Поддерживается скорость до 2 Мбит/с в синхронном режиме (1 Мбит/с в асинхронном режиме). USB-ресивер Atmel AT90USB162, обладающий этими функциями, автоматически переходит в спящий режим при отключении USB. Плата может получать питание через USB или внешний разъем. Напряжение регулируется LDO-регулятором 3,3 В, 1 А. На борту доступно несколько вариантов тактовой частоты, включая кварцевый резонатор 32,768 кГц, внешний тактовый генератор 8 МГц, внешний HC49.хрустальная посадка и несколько вариантов внутренних часов. Несколько периферийных устройств установлены и подключены к XMEGA через перемычки для пайки, что позволяет использовать контакты, если устройство не используется. Большинство выводов направляются в заголовки. Эти устройства включают в себя слот для карты MicroSD, 32 КБ SPI SRAM, аудиоусилитель, драйвер реле, датчик температуры, 4 кнопки, 4 светодиода и встроенный прецизионный источник опорного напряжения 1,25 В для АЦП. Эта ссылка настроена для работы с исправлениями XMEGA. На XMEGA предустановлена ​​демонстрационная программа, демонстрирующая использование каждого периферийного устройства, а также демонстрацию спящего режима. Все программное обеспечение, используемое как на XMEGA, так и на USB AVR, имеет открытый исходный код (лицензия MIT).

ATxmega128a1 Особенности:

Высокопроизводительный, маломощный 8/16-разрядный микроконтроллер AVR XMEGA
Энергонезависимая память программ и данных
128 Кбайт внутрисистемной самопрограммируемой флэш-памяти
8 Кбайт Загрузочная секция с независимыми битами блокировки
2 КБ EEPROM
8 КБ Внутренняя SRAM
Интерфейс внешней шины для SRAM до 16 Мбайт
Интерфейс внешней шины для SDRAM до 128 Мбит
Периферийные функции
Четырехканальный контроллер прямого доступа к памяти с поддержкой внешних запросов
Восьмиканальная система обработки событий
Восемь 16-битных таймеров/счетчиков
4 таймера/счетчика с 4 выходами для сравнения или захвата входов
4 таймера/счетчиков с 2 выходами для сравнения или захвата входов
Расширение высокого разрешения для всех таймеров/счетчиков
Advanced Расширение сигнала на два таймера/счетчика
Восемь USART
Модуляция/демодуляция IrDA для одного USART
Четыре 2-проводных интерфейса с двойным согласованием адресов (I2C и SMBus)
Четыре периферийных устройства SPI (последовательный периферийный интерфейс)
Механизм шифрования AES и DES
16-разрядный счетчик реального времени с отдельным генератором
Два восьмиканальных, 12-разрядных, 2 Мвыб/с аналого-цифровых преобразователя
Два двухканальных, 12-разрядных, 1 Мвыб/с цифро-аналоговый преобразователь
Четыре аналоговых компаратора с функцией сравнения окон
Внешние прерывания на всех контактах ввода-вывода общего назначения
Сторожевой таймер с отдельным встроенным сверхмаломощным генератором
Специальные функции микроконтроллера
Сброс при включении питания и программируемое обнаружение снижения напряжения
Внутренние и внешние часы с PLL и предделителем
Программируемый многоуровневый контроллер прерываний
Спящие режимы: бездействие, отключение питания, режим ожидания, энергосбережение, доп.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *