реклама на сайте
подробности

 
 
> Atmel SAM3U4, Различные вопросы
sonycman
сообщение Jun 26 2011, 18:46
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Доброго времени суток!
Начал потихоньку осваивать SAM3U4C, сделал темку, так как возникают различные вопросы, которые хотелось бы обсудить.

В этом камне, не смотря на два банка, RAM можно использовать как единый блок по адресам 0x20078000 - 0x20083FFF.

Можно ли такую же методику применить к флеш?
В комплекте с ИАРом идёт флешлоадер, который шьёт сразу два банка по адресам 0x000E0000 - 0x0011FFFF.

Сделал в .icf файле также, посмотрим, как получится на практике, если вместо 0x00080000 везде в программе использовать 0x000E0000.

Ещё хотел спросить про встроенный RTC, если кто им пользовался.

Я так понял, что модифицировать время тут не так просто - надо сначала остановить часы, записать новые значения, запустить их, и подождать около 1 секунды, пока можно будет проводить следующую модификацию.
Вот что интересно - после записи и запуска часов сбрасывается ли прескалер секунд? То есть переход на следующую секунду наступит ровно через секунду после запуска, или раньше, в зависимости от значения прескалера?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sonycman
сообщение Jul 4 2011, 21:46
Сообщение #2


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jul 4 2011, 15:22) *
Нет, он обязан считать до 47.

А вот и нет!
На практике оказалось не так!

Уже был уверен, после Ваших слов, что глюк с "убеганием" таймера вносит мой софт, но всё же когда пришёл с работы решил прогнать простенький цикл и сохранить значения счётчика TC0 на протяжении его цикла так:
Код
    byte    dbuf[4096];
    for (int i = 0; i < sizeof(dbuf); i++)
    {
        dbuf[i] = (byte)AT_TC0->TC_CV;
    }

то есть считав все его значения на протяжении относительно большого времени.
Напомню, конфигурация счётчика была такая:
Код
    AT_TCB0->TCB_TC0.TC_CMR =    AT_TC_CLKS_TIMER_DIV32_CLOCK | AT_TC_WAVESEL_UP_AUTO | AT_TC_WAVE | AT_TC_ACPA_SET |
                                AT_TC_ACPC_CLEAR; //| AT_TC_ASWTRG_CLEAR;
    AT_TCB0->TCB_TC0.TC_RA = 24;
    AT_TCB0->TCB_TC0.TC_RC = 48;

то есть upcounter со сбросом по RC compare, RC = 48(!).
И что же получил:
Код
00 00 00 01 01 01 01 02 02 02 02 03 03 03 03 04 04 04 04 05 05 05 05 06 06 06 06 06 07 07 07 08 08 08 08 08 09 09 09 09 0a 0a 0a 0a 0b 0b 0b 0b 0c 0c 0c 0c 0d 0d 0d 0d 0e 0e 0e 0e 0e 0f 0f 0f 10 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 13 14 14 14 14 14 15 15 15 16 16 16 16 16 17 17 17 17 18 18 18 18 19 19 19 19 1a 1a 1a 1a 1b 1b 1b 1b 1c 1c 1c 1c 1c 1d 1d 1d 1e 1e 1e 1e 1e 1f 1f 1f 1f 20 20 20 20 21 21 21 21 22 22 22 22 23 23 23 23 24 24 24 24 25 25 25 25 25 26 26 26 27 27 27 27 27 28 28 28 28 29 29 29 29 2a 2a 2a 2a 2b 2b 2b 2b 2c 2c 2c 2c 2d 2d 2d 2d 2d 2e 2e 2e 2f 2f 2f 2f 2f 00 00 00

то есть прекрасно видно, что значением 48 - 0x30 - и не пахнет!
Сброс идёт мгновенно и после 0х2f сразу получается 0!
Теперь понятно, почему была такая погрешность.

К слову, весьма необычная особенность аппаратуры, первый раз сталкиваюсь с таким поведением sad.gif
Цитата
Так из картинок и текста все в общем-то понятно...

А Вы говорите, что всё понятно в мануале. Вот если бы была диаграмма с растактовкой переполнения\сброса\установки (что встречается довольно часто), тогда действительно многих вопросов бы не возникало, и не приходилось бы прибегать к практическим исследованиям, с чём Вы сами соглашаетесь sm.gif

Цитата(aaarrr @ Jul 4 2011, 16:37) *
Если прерывания гарантированно укладываются в 65мс, то не нужно.

Хм, да хоть прерывания будут длиться 650 миллисекунд - что изменится?
Код считывания таймера такой:
Код
dword    sys_counter()
    {
        dword hw, lw;
        do
        {
            hw = AT_TCB0->TCB_TC2.TC_CV;
            lw = AT_TCB0->TCB_TC1.TC_CV;
        }
        while (hw != AT_TCB0->TCB_TC2.TC_CV);
        return (hw << 16) | lw;
    }

Переполнение 32 битного счётчика возможно за период равный 71 минуте.
Всё, что меньше этого периода, внести ошибку не в состоянии, по моему...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 5 2011, 06:31
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jul 5 2011, 01:46) *
К слову, весьма необычная особенность аппаратуры, первый раз сталкиваюсь с таким поведением sad.gif

А Вы говорите, что всё понятно в мануале. Вот если бы была диаграмма с растактовкой переполнения\сброса\установки (что встречается довольно часто), тогда действительно многих вопросов бы не возникало, и не приходилось бы прибегать к практическим исследованиям, с чём Вы сами соглашаетесь sm.gif

Странно действительно, так как прямо противоречит описанию 36.5.6 Trigger sad.gif Посмотрю на досуге.

Цитата(sonycman @ Jul 5 2011, 01:46) *
Хм, да хоть прерывания будут длиться 650 миллисекунд - что изменится?

Да, все правильно. С прерываниями я погорячился.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jul 5 2011, 08:27
Сообщение #4


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jul 5 2011, 10:31) *
Странно действительно, так как прямо противоречит описанию 36.5.6 Trigger sad.gif Посмотрю на досуге.

Наверное, это бага. Но в еррате про неё ничего нет.
Впрочем, легко обходится sm.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 5 2011, 09:14
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jul 5 2011, 12:27) *
Наверное, это бага. Но в еррате про неё ничего нет.

Надо будет сравнить с SAM7. Описания у них не отличаются.
Впрочем, не припоминаю, чтобы мне приходилось использовать UP_RC с малым значением этого самого RC, а 0.01% мог и не заметить, конечно.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jul 5 2011, 09:37
Сообщение #6


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jul 5 2011, 13:14) *
Надо будет сравнить с SAM7. Описания у них не отличаются.
Впрочем, не припоминаю, чтобы мне приходилось использовать UP_RC с малым значением этого самого RC, а 0.01% мог и не заметить, конечно.

Да я бы тоже не заметил, в других чипах (от AVR до C-M3 разных производителей) никогда не сверял получаемые клоки, так как не использую их для точных измерений.
Только тут, раз уж взялся ковырять модуль и с наскоку заставить заработать как хотелось не удалось, стал проверять всё досконально...

Однако в моём случае ошибка в 2% через всего лишь час дала погрешность, легко заметную на глаз sad.gif

Процессор, кстати, нормально прожорливый - на 96 МГц кушает почти 60 миллиампер, из периферии включены только TC0-TC2 и PIOA-PIOB.
Если включить всю остальную периферию (без её конфигурирования) - получается красивая циферка 100 ма sm.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sonycman   Atmel SAM3U4   Jun 26 2011, 18:46
- - aaarrr   Цитата(sonycman @ Jun 26 2011, 22:46) Мож...   Jun 26 2011, 19:17
|- - sonycman   Цитата(aaarrr @ Jun 26 2011, 23:17) Это т...   Jun 26 2011, 21:03
|- - aaarrr   Цитата(sonycman @ Jun 27 2011, 01:03) При...   Jun 26 2011, 21:07
|- - sonycman   Цитата(aaarrr @ Jun 27 2011, 01:07) Конеч...   Jun 27 2011, 01:37
|- - aaarrr   Цитата(sonycman @ Jun 27 2011, 05:37) Но ...   Jun 27 2011, 02:35
- - sonycman   Да, в даташите довольно много ошибок\опечаток...   Jun 29 2011, 15:48
|- - aaarrr   Цитата(sonycman @ Jun 29 2011, 19:48) Да,...   Jun 29 2011, 17:03
|- - sonycman   Цитата(aaarrr @ Jun 29 2011, 21:03) Увы, ...   Jun 29 2011, 17:13
|- - aaarrr   Цитата(sonycman @ Jun 29 2011, 21:13) Кст...   Jun 29 2011, 17:31
|- - sonycman   Цитата(aaarrr @ Jun 29 2011, 21:31) Это п...   Jun 29 2011, 17:41
|- - aaarrr   Цитата(sonycman @ Jun 29 2011, 21:41) Вот...   Jun 29 2011, 17:46
|- - sonycman   Цитата(aaarrr @ Jun 29 2011, 21:46) На са...   Jun 29 2011, 17:59
|- - aaarrr   Цитата(sonycman @ Jun 29 2011, 21:59) Вот...   Jun 29 2011, 18:45
- - sonycman   Из мануала не совсем понятно, в режиме Sleep Mode ...   Jul 1 2011, 11:20
|- - aaarrr   Цитата(sonycman @ Jul 1 2011, 15:20) Но о...   Jul 1 2011, 12:36
|- - sonycman   Цитата(aaarrr @ Jul 1 2011, 16:36) Не отн...   Jul 1 2011, 13:50
|- - aaarrr   Цитата(sonycman @ Jul 1 2011, 17:50) ЗЫ: ...   Jul 1 2011, 14:13
|- - sonycman   Цитата(aaarrr @ Jul 1 2011, 18:13) В Slee...   Jul 1 2011, 14:29
|- - aaarrr   Цитата(sonycman @ Jul 1 2011, 18:29) Каки...   Jul 1 2011, 14:42
- - sonycman   Провозился вчера весь день с блоком таймеров, реал...   Jul 4 2011, 10:10
|- - aaarrr   Цитата(sonycman @ Jul 4 2011, 14:10) Приш...   Jul 4 2011, 11:22
|- - sonycman   Цитата(aaarrr @ Jul 4 2011, 15:22) Не пон...   Jul 4 2011, 12:29
|- - aaarrr   Цитата(sonycman @ Jul 4 2011, 16:29) Цифр...   Jul 4 2011, 12:37
- - sonycman   Кстати, ещё одна фишка по поводу странной работы с...   Jul 4 2011, 13:28
|- - aaarrr   Цитата(sonycman @ Jul 4 2011, 17:28) Стра...   Jul 4 2011, 14:41
|- - sonycman   Цитата(aaarrr @ Jul 4 2011, 18:41) В ваше...   Jul 4 2011, 16:25
- - aaarrr   Проверил на SAM7: таки да, не доходит до RC, что с...   Jul 5 2011, 15:58
|- - sonycman   Цитата(aaarrr @ Jul 5 2011, 19:58) То ест...   Jul 5 2011, 18:10
||- - aaarrr   Цитата(sonycman @ Jul 5 2011, 22:10) И с ...   Jul 5 2011, 18:19
|- - singlskv   Цитата(aaarrr @ Jul 5 2011, 19:58) Провер...   Aug 25 2011, 21:29
|- - sonycman   Цитата(singlskv @ Aug 26 2011, 01:29) ну ...   Aug 26 2011, 13:27
||- - BurglarInt   Здравствуйте, у меня появилась проблема при работе...   Aug 30 2011, 12:12
|- - singlskv   Цитата(singlskv @ Aug 26 2011, 01:29) то ...   Sep 12 2011, 22:03
- - sonycman   Начал разбираться с SDIO (MCI) контроллером. У не...   Aug 9 2011, 15:48
- - aaarrr   При записи может возникнуть только underrun, если ...   Aug 9 2011, 16:01
- - sonycman   Понятно, тогда устанавливаю их и забываю про это ...   Aug 9 2011, 16:09
|- - aaarrr   Цитата(sonycman @ Aug 9 2011, 20:09) Даль...   Aug 9 2011, 16:57
|- - sonycman   Цитата(aaarrr @ Aug 9 2011, 20:57) А вот ...   Aug 9 2011, 17:02
|- - aaarrr   Цитата(sonycman @ Aug 9 2011, 21:02) ЗЫ: ...   Aug 9 2011, 17:30
|- - sonycman   Цитата(aaarrr @ Aug 9 2011, 21:30) Да, то...   Aug 9 2011, 18:06
- - aaarrr   Я вводил поддержку SD за пару дней в страшной спеш...   Aug 9 2011, 20:40
|- - sonycman   Цитата(aaarrr @ Aug 10 2011, 00:40) Я вво...   Aug 11 2011, 16:55
|- - aaarrr   Цитата(sonycman @ Aug 11 2011, 20:55) За ...   Aug 11 2011, 18:02
|- - sonycman   Цитата(aaarrr @ Aug 11 2011, 22:02) Что с...   Aug 11 2011, 18:26
|- - aaarrr   Цитата(sonycman @ Aug 11 2011, 22:26) А н...   Aug 11 2011, 19:49
- - sonycman   Что-то не пойму, почему у меня виснет контроллер п...   Aug 21 2011, 18:34
- - aaarrr   Цитата(sonycman @ Aug 21 2011, 22:34) Всё...   Aug 31 2011, 12:13
|- - sonycman   Цитата(aaarrr @ Aug 31 2011, 16:13) Наблю...   Aug 31 2011, 21:08
- - aaarrr   Охладить попробуйте - кит у меня зависал после ули...   Aug 31 2011, 21:27
- - aaarrr   1-2. Нет. 3. Каких-либо прямых ограничений не имее...   Sep 12 2011, 22:12
|- - singlskv   Цитата(aaarrr @ Sep 13 2011, 02:12) 1-2. ...   Sep 12 2011, 22:27
|- - aaarrr   Цитата(singlskv @ Sep 13 2011, 02:27) А ч...   Sep 12 2011, 22:32
|- - singlskv   Цитата(aaarrr @ Sep 13 2011, 02:32) Как и...   Sep 12 2011, 22:39
|- - aaarrr   Цитата(singlskv @ Sep 13 2011, 02:39) то ...   Sep 12 2011, 22:51
|- - singlskv   Цитата(aaarrr @ Sep 13 2011, 02:51) ообще...   Sep 12 2011, 23:22
- - sonycman   Потихоньку пишу инициализацию карты памяти контрол...   Sep 22 2011, 18:22
|- - aaarrr   Цитата(sonycman @ Sep 22 2011, 22:22) Спр...   Sep 22 2011, 19:57
|- - sonycman   Цитата(aaarrr @ Sep 22 2011, 23:57) Это н...   Sep 23 2011, 01:37
- - sonycman   Инициализация карты у меня получается такая: Power...   Sep 23 2011, 16:29
|- - aaarrr   Цитата(sonycman @ Sep 23 2011, 20:29) Ини...   Sep 23 2011, 16:52
|- - sonycman   Спасибо! Цитата(aaarrr @ Sep 23 2011, 20...   Sep 23 2011, 17:00
|- - aaarrr   Цитата(sonycman @ Sep 23 2011, 21:00) А в...   Sep 23 2011, 17:22
- - sonycman   Цитата(aaarrr @ Sep 23 2011, 21:21) Можно...   Sep 23 2011, 17:25
|- - aaarrr   Цитата(sonycman @ Sep 23 2011, 21:25) А в...   Sep 23 2011, 17:30
|- - sonycman   Цитата(aaarrr @ Sep 23 2011, 21:30) Нет, ...   Sep 23 2011, 17:44
|- - aaarrr   Цитата(sonycman @ Sep 23 2011, 21:44) То ...   Sep 23 2011, 18:14
- - sonycman   Хм, этот HSMCI вообще может корректно обрабатывать...   Dec 15 2011, 10:28
|- - aaarrr   Цитата(sonycman @ Dec 15 2011, 14:28) Но ...   Dec 15 2011, 10:40
|- - sonycman   Цитата(aaarrr @ Dec 15 2011, 14:40) Нет. ...   Dec 15 2011, 10:43
|- - aaarrr   Цитата(sonycman @ Dec 15 2011, 14:43) но ...   Dec 15 2011, 10:55
|- - sonycman   Цитата(aaarrr @ Dec 15 2011, 14:55) Кстат...   Dec 15 2011, 11:00
- - aaarrr   Ну, на CMD7(DESELECT) ответа и не должно быть. Сд...   Dec 15 2011, 11:14
|- - sonycman   Цитата(aaarrr @ Dec 15 2011, 15:14) Ну, н...   Dec 15 2011, 11:19
- - sonycman   Ну вот, вроде сделал чтение сектора, теперь надо б...   Dec 15 2011, 15:05
- - aaarrr   Цитата(sonycman @ Dec 15 2011, 15:19) Впр...   Dec 15 2011, 16:15
|- - sonycman   Цитата(aaarrr @ Dec 15 2011, 20:15) Может...   Dec 15 2011, 18:59
|- - aaarrr   Цитата(sonycman @ Dec 15 2011, 22:59) Что...   Dec 15 2011, 19:10
|- - sonycman   Цитата(aaarrr @ Dec 15 2011, 20:15) Теоре...   Dec 15 2011, 19:22
|- - aaarrr   Цитата(sonycman @ Dec 15 2011, 23:22) Но ...   Dec 15 2011, 20:30
|- - sonycman   Цитата(aaarrr @ Dec 16 2011, 00:30) Упс. ...   Dec 16 2011, 01:41
|- - aaarrr   Цитата(sonycman @ Dec 16 2011, 05:41) Поч...   Dec 16 2011, 02:08
|- - sonycman   Цитата(aaarrr @ Dec 16 2011, 06:08) Так н...   Dec 16 2011, 06:46
|- - aaarrr   Цитата(sonycman @ Dec 16 2011, 10:46) Инт...   Dec 16 2011, 20:47
|- - sonycman   Цитата(aaarrr @ Dec 17 2011, 00:47) Карта...   Dec 17 2011, 01:39
|- - aaarrr   Цитата(sonycman @ Dec 17 2011, 05:39) То ...   Dec 19 2011, 08:12
- - sonycman   Эмм... дошёл до конфигурирования DMA применительно...   Dec 20 2011, 10:30
|- - aaarrr   Цитата(sonycman @ Dec 20 2011, 14:30) Наш...   Dec 20 2011, 13:34
|- - sonycman   Цитата(aaarrr @ Dec 20 2011, 17:34) Табли...   Dec 20 2011, 14:12
- - sonycman   В мануале в примерах программирования DMA под HSMC...   Dec 20 2011, 21:40
|- - aaarrr   Цитата(sonycman @ Dec 21 2011, 01:40) Оче...   Dec 20 2011, 22:13
- - sonycman   Попробовал запрограммировать DMAC на чтение из HSM...   Dec 20 2011, 23:37
- - sonycman   По поводу мультисекторной записи - в примерах в ма...   Dec 22 2011, 12:05
- - aaarrr   Мутный момент. Я смотрю DMADONE при чтении и BLKE ...   Dec 22 2011, 12:14
- - sonycman   Цитата(aaarrr @ Dec 22 2011, 16:14) XFRDO...   Dec 22 2011, 12:41
2 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 17:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.02833 секунд с 7
ELECTRONIX ©2004-2016