|
|
  |
ATxmega |
|
|
|
Oct 3 2009, 17:31
|
Группа: Участник
Сообщений: 6
Регистрация: 24-09-09
Пользователь №: 52 554

|
Цитата(Rst7 @ Oct 2 2009, 21:42)  ..бинарный поиск надо знать как "Отче наш" - неужели 18 сравнений занимают столько времени? Категоричность суждений, как способ поиска оптимального решения, может иметь место только при знании обсуждаемого предмета и, обычно, говорит только о недостатке практического опыта. Я не детализировал задачу потому, что меня интересует ответ на конкретный вопрос: работа xmeg'и на 32 Мгц (на больше никто не пробовал разгонять?). А как применить бинарный поиск, если записи (которые не у меня формируются) расположены неупорядочено-последовательно (добавляются в конец списка по мере поступления, при удалении устанавливается соотв.признак и повлиять на это нет возможности) известные мне теории почему-то не излагают. Кстати, у меня не 18 сравнений, а 3-4, а время уходит не на сравнение, а на доступ к записи. Спасибо SasaVitebsk за косвенную поддержку.
|
|
|
|
|
Oct 8 2009, 21:01
|
Местный
  
Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017

|
С хмегой не работал. Беглым взглядом по даташиту нашел следующее: На порты PC7, PD7, PE7 можно вывести клок периферии. Также на порты PC7, PD7, PE7 можно вывести ивент канала 0. Как это сделать - в описании регистра CLKEVOUT, раздел 13.5.4 На другие пины ивенты не выводятся. Так же, как и ивенты других каналов нельзя вывести на пины. Цитата хочу вывести на лапку такт/2-4 Судя по таблице 6.3 при CH0MUX = 0b_1000_xxxx источником ивента как раз служит клок периферии. По поводу диапазона М = 1-32768 - наверное ошиблись. Или должно быть 1-16, или там стоит предделитель на 16 фиксированных значений, который забыли описать.Во всяком случае, перепробовать 16 значений с осциллографом не так уж тяжело. Интересно будет узнать результаты. Далее... Ширина импульса ивента, (в том числе того, что выведен на ножки), "will be visible on the port pin as long as the event last. Normally this is one peripheral clock cycle only." То есть, т.е. поделить частоту на 4 наверное можно (если предделитель == 4 ), но скважность выходного сигнала может отличаться от 2. (так как ивент не умеет делать toggle порта). Хотя если учесть, что "some event sources, such as low level on an I/O pin, will generate events continuously" и к таким "some event sources" относится и частота париферии, деленная на М, то можно ожидать и скважность, == 2. Хотя это маловероятно. Цитата система собыйтий считается системным тригер сурсом для ДМА? т.е. тригер соурс адрес 0х01+смещение? в зависимости от канала ивент систем? Все верно. В Table 5-8 в 3-м столбце наверное просто забыли дописать слово "Event", так так в таблице 5.9 оно присутствует: Table 5-9. DMA Trigger sources, offset values for Event System triggers
|
|
|
|
|
Oct 9 2009, 03:01
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018

|
спасибо ) железа пока нет, мучаю симулятор... Код ldi tmp, 0b10000001 sts EVSYS_CH0MUX, tmp ldi tmp, 0b00000000 sts EVSYS_CH0CTRL, tmp вот так инициализирую первый канал.. в симуляторе реакции 0 ( ну собственно нада бы для начала в железо все это засунуть...
Сообщение отредактировал Duhas - Oct 9 2009, 03:06
|
|
|
|
|
Oct 16 2009, 05:22
|

Профессионал
    
Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955

|
Цитата(Duhas @ Oct 9 2009, 21:20)  на запись в DMA_CH0_TRFCNT сначала младшего а следом старшего байтов студия не ругается, но и не реагирует.... Как это не реагирует? Вот кусок моего кода настройки DMA на выдачу буфера в компорт: CLI STS DMA_CH1_TRFCNT,TxLen CLR r16 STS DMA_CH1_TRFCNT+1,r16 SEI Все арбайтен! Прерывания запретил, чтобы запись в 16-разрядный регистр случайно не прервалась. Так и атмеловцы рекомендуют. Может, у вас прерывания разрешены? Да, и проц xmega32a4 вполне работает, из него 2 компорта и один SPI настроил на DMA. Аааа, понял! Все 16-разрядные регистры у них по 2 адреса занимают, а вы писали в один, наверное! Ну, и 24-битные - соответственно - по 3 адреса, это на будущее!
Сообщение отредактировал V_G - Oct 16 2009, 05:26
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|