mp41 0 January 28, 2010 Posted January 28, 2010 · Report post А вот кто такой TBD я что-то не понял... TBD (сокр. от To Be Determined) = подлежит определению. Короче, в следующих ревизиях значение возможно появится. Share this post Link to post Share on other sites More sharing options...
MDD 0 January 29, 2010 Posted January 29, 2010 · Report post С температурным сенсором ситуация начинает проясняться. Оказывается я малость протупил - кроме переключения мультиплексора этот сенсор еще надо включать специальным битом в регистре 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. Share this post Link to post Share on other sites More sharing options...
vasyagold 0 January 29, 2010 Posted January 29, 2010 · Report post Добрый день. Кто нибудь работал с таймерами. Я использую Xmegу 128A и появился вопрос. Когда включаю таймер/счетчик в режиме захвата(настраиваю на событие по появлению фронтов с пина), то удается работать только с каналом A. На остальных(B, C и D) прерываний не возникает. Может так и должно быть, но в datasheet ничего не нашел? Share this post Link to post Share on other sites More sharing options...
mp41 0 January 29, 2010 Posted January 29, 2010 · Report post Кто-нибудь работал с внешней SRAM на Xmega? До конца не понятно, сигнал ALE инвертированный или нет. Если да, то что вместо регистра-защёлки типа 573 можно использовать? Инвертор на ALE лепить не хочется. Share this post Link to post Share on other sites More sharing options...
Spider 0 January 30, 2010 Posted January 30, 2010 · Report post Ничего не надо. Подключал на прямую. // 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 ); Share this post Link to post Share on other sites More sharing options...
MDD 0 January 30, 2010 Posted January 30, 2010 · Report post Инвертор на ALE лепить не хочется. Кстати, на портах Хмеги есть такая фича, как Inverted I/O. Включается соответствующим битом в регистрах PINnCTRL. Если посмотреть на структурную схему портов, то она должна действовать и на альтернативные функции портов. Сейчас ради интереса проверил на COM порте - инвертирует! А ведь иногда это действительно удобно. Share this post Link to post Share on other sites More sharing options...
mp41 0 February 1, 2010 Posted February 1, 2010 · Report post Alexey Belyaev, 573 использовали? MDD, инверсию на портах видел, но то, что она действует - хорошая новость. Share this post Link to post Share on other sites More sharing options...
Zlumd 0 February 2, 2010 Posted February 2, 2010 · Report post Обновились даташиты для XMega128A1 http://www.atmel.com/dyn/products/product_...sp?part_id=4298 Share this post Link to post Share on other sites More sharing options...
Zlumd 0 February 2, 2010 Posted February 2, 2010 · Report post Никак не могу понять, может ли 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 действительно существует, но просто нигде не описан? Share this post Link to post Share on other sites More sharing options...
Хомяк 0 February 3, 2010 Posted February 3, 2010 · Report post Всем доброго дня Начал юзать 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('*'); } } Прошиваю и получаю тиши Мож я не доконча вкулил мануал? Прошу помочь Share this post Link to post Share on other sites More sharing options...
MDD 0 February 3, 2010 Posted February 3, 2010 · Report post USART работает нормально и по опросу, и по прерываниям. Как по мне, у Вас в инициализации не хватает установки регистра USARTx.CTRLC для задания протокола. Например, для асинхронного 8N1 там дожно быть 0x03. Share this post Link to post Share on other sites More sharing options...
Хомяк 0 February 3, 2010 Posted February 3, 2010 · Report post USART работает нормально и по опросу, и по прерываниям. Как по мне, у Вас в инициализации не хватает установки регистра USARTx.CTRLC для задания протокола. Например, для асинхронного 8N1 там дожно быть 0x03. Спасибо Share this post Link to post Share on other sites More sharing options...
Хомяк 0 February 5, 2010 Posted February 5, 2010 · Report post Начал работать с 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 должен использоваться всегда получаеться Share this post Link to post Share on other sites More sharing options...
Zlumd 0 February 5, 2010 Posted February 5, 2010 · Report post Начал работать с EBI, и впал в ступор. Задумка следующая - прицепить циклок как внешкюю память а вот с конфигурированием регистров встал... ALE должен использоваться всегда получаеться Если ALE не использовать, то можно адресовать максимум 256 байт внешней SRAM. А у тебя SRAM какого размера? Share this post Link to post Share on other sites More sharing options...
Хомяк 0 February 5, 2010 Posted February 5, 2010 · Report post Так мне и не надо пока много суть такая что к плисине цепляеться 6 АЦП, которые непрывно молотят данные И эти данные складыаються в внтренюю память плисины Share this post Link to post Share on other sites More sharing options...