mp41 0 28 января, 2010 Опубликовано 28 января, 2010 · Жалоба А вот кто такой TBD я что-то не понял... TBD (сокр. от To Be Determined) = подлежит определению. Короче, в следующих ревизиях значение возможно появится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MDD 0 29 января, 2010 Опубликовано 29 января, 2010 · Жалоба С температурным сенсором ситуация начинает проясняться. Оказывается я малость протупил - кроме переключения мультиплексора этот сенсор еще надо включать специальным битом в регистре REFCTRL. А тут и ответ от Atmel подоспел: The internal temperature sensor is ideally linear from 0°K to the measured value in the production. The temperature reference value in the signature row which the measurement is done at is 85°C (358°K) but with an inaccuracy of +- 5 degrees. This deviation will result in some error when measuring at other temperatures. The measurement stored in the signature row is done in unsigned mode with 12-bit resolution and the internal 1V reference. The ADC setup has to be the same if this value is going to be used in the application. The stored value can be used for a 2-point calibration where the second point will be 0°K and the ADC value will be 0. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vasyagold 0 29 января, 2010 Опубликовано 29 января, 2010 · Жалоба Добрый день. Кто нибудь работал с таймерами. Я использую Xmegу 128A и появился вопрос. Когда включаю таймер/счетчик в режиме захвата(настраиваю на событие по появлению фронтов с пина), то удается работать только с каналом A. На остальных(B, C и D) прерываний не возникает. Может так и должно быть, но в datasheet ничего не нашел? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mp41 0 29 января, 2010 Опубликовано 29 января, 2010 · Жалоба Кто-нибудь работал с внешней SRAM на Xmega? До конца не понятно, сигнал ALE инвертированный или нет. Если да, то что вместо регистра-защёлки типа 573 можно использовать? Инвертор на ALE лепить не хочется. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Spider 0 30 января, 2010 Опубликовано 30 января, 2010 · Жалоба Ничего не надо. Подключал на прямую. // Initialize EBI. EBI_Enable( EBI_SDDATAW_8BIT_gc, EBI_LPCMODE_ALE1_gc, EBI_SRMODE_NOALE_gc, EBI_IFMODE_3PORT_gc ); // Initialize SRAM EBI_EnableLPC ( &EBI.CS1, // Chip Select 1. EBI_CS_ASPACE_128KB_gc, // 128 KB Address space. (void *) SRAM_ADDR, // Base address. EBI_CS_SRWS_0CLK_gc ); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MDD 0 30 января, 2010 Опубликовано 30 января, 2010 · Жалоба Инвертор на ALE лепить не хочется. Кстати, на портах Хмеги есть такая фича, как Inverted I/O. Включается соответствующим битом в регистрах PINnCTRL. Если посмотреть на структурную схему портов, то она должна действовать и на альтернативные функции портов. Сейчас ради интереса проверил на COM порте - инвертирует! А ведь иногда это действительно удобно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mp41 0 1 февраля, 2010 Опубликовано 1 февраля, 2010 · Жалоба Alexey Belyaev, 573 использовали? MDD, инверсию на портах видел, но то, что она действует - хорошая новость. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zlumd 0 2 февраля, 2010 Опубликовано 2 февраля, 2010 · Жалоба Обновились даташиты для XMega128A1 http://www.atmel.com/dyn/products/product_...sp?part_id=4298 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zlumd 0 2 февраля, 2010 Опубликовано 2 февраля, 2010 · Жалоба Никак не могу понять, может ли EBI тактироваться тактовой частотой 64 MHz. С одной стороны в мануале на Xмегу на странице 268 написано: The EBI is clocked from the Fast Peripheral clock, running up to two times faster than the CPU and supporting speeds of up to 64 MHz.Но с другой стороны в даташите на XMega128A1 в эл. характеристиках на странице 69 написано, что ClkSYS 32 MHz максимум. И если взглянуть на схему распределения тактовых сигналов в мануале на Xмегу на странице 77, то видно, что единственный PLL стоит до ClkSYS и вроде бы больше неоткуда взять удвоенную частоту. И еще в мануале на Xмегу на странице 270 упоминается сигнал Clk2PER, которого нет на схеме дистрибуции клока. Мне интересно, Atmel просто перепутал и вместо ClkPER2 написал Clk2PER, или сигнал Clk2PER действительно существует, но просто нигде не описан? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Хомяк 0 3 февраля, 2010 Опубликовано 3 февраля, 2010 · Жалоба Всем доброго дня Начал юзать Xmegu. С портами проблем не возникло А вот с UART затык Привожу код #define CPU_FREQ 2000000 #define BAUD_RATE 9600 #define BRREG_VALUE 12 // definition for UART control #define UART_PORT PORTF #define UART_TX_PIN PIN7_bm #define BAUD_RATE_LOW_REG USARTF1.BAUDCTRLA #define UART_CONTROL_REG USARTF1.CTRLB #define ENABLE_TRANSMITTER_BIT USART_TXEN_bp #define ENABLE_RECEIVER_BIT USART_RXEN_bp #define UART_STATUS_REG USARTF1.STATUS #define TRANSMIT_COMPLETE_BIT USART_TXCIF_bp #define DATA_REG_EMPTY_BIT USART_DREIF_bp #define RECEIVE_COMPLETE_BIT USART_RXCIF_bp #define UART_DATA_REG USARTF1.DATA /****************************************************************************** * Функция : * Описание : * Вх. параметры : * Возвр. значение : *****************************************************************************/ void UART_Init(void) { UART_PORT.DIRSET |= UART_TX_PIN; BAUD_RATE_LOW_REG = BRREG_VALUE; UART_CONTROL_REG = (1<<ENABLE_RECEIVER_BIT)| (1<<ENABLE_TRANSMITTER_BIT); } /****************************************************************************** * Функция : * Описание : * Вх. параметры : * Возвр. значение : *****************************************************************************/ void UART_Tx(u08 D) { UART_DATA_REG = D; while(!(UART_STATUS_REG &(1<<TRANSMIT_COMPLETE_BIT))); UART_STATUS_REG |= (1<<TRANSMIT_COMPLETE_BIT); } /****************************************************************************** * Функция : * Описание : * Вх. параметры : * Возвр. значение : *****************************************************************************/ u08 UART_Rx(void) { u08 ret=0; while(!(UART_STATUS_REG&(1<<RECEIVE_COMPLETE_BIT))); //while(bit_is_clear()); ret = UART_DATA_REG; return ret; } int main(void) { u08 val=0; //PORTF.DIR = (1<<6) | (1<<7); //PORTF.OUT = (1<<6) | (1<<7); UART_Init(); for(;;) { val = UART_Rx(); if(val=='a') { UART_Tx('Y'); } else if(val=='A') { UART_Tx('N'); } //UART_Tx('*'); } } Прошиваю и получаю тиши Мож я не доконча вкулил мануал? Прошу помочь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MDD 0 3 февраля, 2010 Опубликовано 3 февраля, 2010 · Жалоба USART работает нормально и по опросу, и по прерываниям. Как по мне, у Вас в инициализации не хватает установки регистра USARTx.CTRLC для задания протокола. Например, для асинхронного 8N1 там дожно быть 0x03. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Хомяк 0 3 февраля, 2010 Опубликовано 3 февраля, 2010 · Жалоба USART работает нормально и по опросу, и по прерываниям. Как по мне, у Вас в инициализации не хватает установки регистра USARTx.CTRLC для задания протокола. Например, для асинхронного 8N1 там дожно быть 0x03. Спасибо Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Хомяк 0 5 февраля, 2010 Опубликовано 5 февраля, 2010 · Жалоба Начал работать с EBI, и впал в ступор. Задумка следующая - прицепить циклок как внешкюю память По мануалу есть режим без использования адресной защелки ALE По ногам получаеться следующее: PH0 WE PH1 RE PH2 ALE - не использую PH3 PH4 CS0/A16 PH5 CS1/A17 PH6 CS2/A18 PH7 CS3/A19 PJ0..PJ7 -> D0..D7 PR0..PR7 -> A0..A7/A8..A15 а вот с конфигурированием регистров встал... ALE должен использоваться всегда получаеться Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zlumd 0 5 февраля, 2010 Опубликовано 5 февраля, 2010 · Жалоба Начал работать с EBI, и впал в ступор. Задумка следующая - прицепить циклок как внешкюю память а вот с конфигурированием регистров встал... ALE должен использоваться всегда получаеться Если ALE не использовать, то можно адресовать максимум 256 байт внешней SRAM. А у тебя SRAM какого размера? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Хомяк 0 5 февраля, 2010 Опубликовано 5 февраля, 2010 · Жалоба Так мне и не надо пока много суть такая что к плисине цепляеться 6 АЦП, которые непрывно молотят данные И эти данные складыаються в внтренюю память плисины Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться