|
Не работает внешний clock на ноге XTAL1 у XMEGA256 A3 |
|
|
|
Jun 26 2015, 10:24
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 18-11-12
Пользователь №: 74 448

|
Кто-нибудь использовал внешний clock на XMEGA A3 (64 пина)? Имеется плата с XMEGA A3. На ногу XTAL1 (она же PR1, пин 59) заведен внешний clock от RTC (RV3029). CLK.RTCCTRL стоит в 0x0F (external clock, RTC enabled). При попытке инициализировать внутренний RTC контроллера, не очищается SYNCBUSY в RTC.STATUS. Если clock завести на PE7 (пин 43), то все работает.
Установка/очистка fuse TOSCSEL в FUSEBYTE2 ни на что не влияет (что само по себе уже странно).
Пробовал на XMEGA128A3U и XMEGA256A3U. На XMEGA128A1U тот же код нормально отрабатывает.
Кто-нибудь сталкивался с подобным? Есть какие-нибудь идеи?
|
|
|
|
|
Jun 29 2015, 06:46
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 18-11-12
Пользователь №: 74 448

|
Цитата(zombi @ Jun 26 2015, 16:47)  В подробности не вдавался, но судя по картинке Figure 10-1. The clock system, clock sources and clock distribution on page 23. XTAL1 вообще не поступает на RTCSRC. Да нет, поступает. Сравнивал datasheet на A1U, A3U и на всю линейку AU. Разницы не увидел. Например, по Вашей ссылке. Страница 24, пункт 10.3.7 10.3.7 External Clock Sources The XTAL1 and XTAL2 pins can be used to drive an external oscillator, either a quartz crystal or a ceramic resonator. XTAL1 can be used as input for an external clock signal. The TOSC1 and TOSC2 pins is dedicated to driving a 32.768kHz crystal oscillator.
Еще одна ссылка. Страница 7 (там же), Figure 3-1. TOSC идет на Clock Generator. Цитата(zombi @ Jun 26 2015, 16:47)  А TOSCSEL вроде как нету ни у A1U ни у A3U. IAR другого мнения. ;-) Цитата(zombi @ Jun 26 2015, 16:47)  Гораздо интереснее узнать почему работает XMEGA128A1U, а не почему XMEGA256A3U не работает. Да нет. У меня как раз мнение, что A1U работает так, как и описано. А вот A3U работать не хочет.
|
|
|
|
|
Jun 29 2015, 07:41
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 18-11-12
Пользователь №: 74 448

|
Цитата(zombi @ Jun 29 2015, 09:25)  Что Вам нужно? Запустить проц от TOSC1 или его RTC от XTAL1? Мне нужно запустить RTC от внешнего такта, подключенного к XTAL1. При подключении к PE7 все работает, но в этом случае я не могу использовать SPI с порта Е. А A3U и так имеет всего 3 SPI (в отличие от 6 на A1U), из которых все заняты. PS. Основная проблема отражена на Вашей аватарке.  А переход на A3U - вынужденная мера.
Сообщение отредактировал beard42 - Jun 29 2015, 07:45
|
|
|
|
|
Jun 29 2015, 08:56
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 18-11-12
Пользователь №: 74 448

|
Цитата(zombi @ Jun 29 2015, 10:01)  не вижу что источником клока для RTC может быть XTAL1. Ну правильно. Источником для RTC может быть TOSC1, который в свою очередь, в зависимости от установленноего TOSCSEL fuse (стр. 31, таблица 4-2) может находиться на XTAL1 или на отдельных пинах (в случае с A3U это PE7/PE6). Как я уже говорил, на A1U все работает и при изменении TOSCSEL RTC либо работает, либо нет. На A3U в независимости от установки TOSCSEL работатет только от PE7. Цитата(zombi @ Jun 29 2015, 10:01)  Я уже смирился и даже не надеюсь на решение проблемы  Судя по последним версиям описаний для A1U, больше 128 в этом корпусе и не будет
|
|
|
|
|
Jun 29 2015, 09:52
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 18-11-12
Пользователь №: 74 448

|
Цитата(zombi @ Jun 29 2015, 11:10)  У A1U и A3U эти контакты общие по умолчанию? АХЕЗ. Сравниваю DS от A1U и A3U. A1U, стр. 61, Table 33-10. Port Q, TOSC1 на PQ0. Стр. 62, Table 33-11. Port R, XTAL1 на PR1. Никаких сносок/примечаний нет. Единственное место, где TOSC1 и XTAL1 упоминаются вместе это пункт 10.3.7 (стр. 21). 10.3.7 External Clock The XTAL1 and XTAL2 pins can be used to drive an external oscillator, either a quartz crystal or a ceramic resonator. XTAL1 can be used as input for an external clock signal. The TOSC1 and TOSC2 pins is dedicated to driving a 32.768kHz crystal oscillator.
Та же ситуация и с A3U, с той лишь разницей, что порты у A3U другие. PE7 для TOSC1. Пункт 10.3.7 (стр. 24) в точности повторяет A1U. А вот у A4U XTAL1 и TOSC1 изначально расположены на одних и тех же ножках, но стоит примечание (стр. 59) TOSC pins can optionally be moved to PE2/PE3.
При этом в описании порта E никаких упоминаний о TOSC нет. Пункт 10.3.7 (стр. 22) снова идентичен. В общем, я в растерянности. ЗЫ. Кстати, на A4U внешний clock на XTAL1 тоже работатет. С переключением TOSCSEL на A4U я еще не игрался. Если интересно, то могу проверить.
|
|
|
|
|
Jun 29 2015, 11:48
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 18-11-12
Пользователь №: 74 448

|
Продолжаем. Протестировано ATxmega128A4U. Все работает, как и должно. В AtmelStudio после переключания TOSCSEL на ALTERNATE перестает работать RTC. На другой плате с ATxmega128A3U вне зависимости от установленного TOSCSEL работает только, если внешний clock подключен на PE7. Похоже на проблему именно у A3U. В Errata ничего по этому поводу нет. Попробую на AVRfreaks написать, но с моим английским... Google на нем и то лучше говорит.
|
|
|
|
|
Jun 29 2015, 14:45
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Уж не знаю поможет это Вам или нет, но напишу: Использую xmega128A1U. CPU тактируется от 32 MHz Int. c разрешённым DFLL от ( 32.768kHz crystal oscillator connected to the TOSC pins). Ноги порта PR0 и PR1 (пины 91,92) никуда не подключены. К порту PQ0 и PQ1 (пины 85,86) физически подключен часовой кварц. Какое бы значение бита TOSCSEL в FUSEBYTE2 я не указал иксмега работает штатно часы работают на порту Q. Т.о. я делаю вывод что бита TOSCSEL у нее не существует. Если бы было иначе то мне пришлось бы при одном из состояний TOSCSEL ещё и часовой кварц перепаивать с порта Q на R. Цитата(beard42 @ Jun 26 2015, 13:24)  На XMEGA128A1U тот же код нормально отрабатывает. А не идёт ли случайно у Вас внешний clock от RTC (RV3029) параллельно и на XTAL1 и на TOSC1 при тесте A1U?
|
|
|
|
|
Jun 30 2015, 06:53
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 18-11-12
Пользователь №: 74 448

|
Цитата(zombi @ Jun 29 2015, 16:45)  А не идёт ли случайно у Вас внешний clock от RTC (RV3029) параллельно и на XTAL1 и на TOSC1 при тесте A1U? Штатно на плате внешний clock от RTC подключен к XTAL1. При тестировании если я переключаю TOSCSEL на ALTERNATE (в IAR или AtmelStudio - без разницы), то часы не инициализируются (ожидает на строке while (RTC_STATUS&RTC_SYNCBUSY_bm)). При переключении назад на XTAL все работает. На A4U и на A3U кроме переключения фьюза, так же перекидывал и соединение. На A4U все работает, как и положено. На A3U только на PE7 ане зависимости от установки TOSCSEL.
|
|
|
|
|
Jun 30 2015, 09:53
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 18-11-12
Пользователь №: 74 448

|
Цитата(zombi @ Jun 29 2015, 16:45)  Использую xmega128A1U. CPU тактируется от 32 MHz Int. c разрешённым DFLL от (32.768kHz crystal oscillator connected to the TOSC pins). Ноги порта PR0 и PR1 (пины 91,92) никуда не подключены. К порту PQ0 и PQ1 (пины 85,86) физически подключен часовой кварц. Какое бы значение бита TOSCSEL в FUSEBYTE2 я не указал иксмега работает штатно часы работают на порту Q. Т.о. я делаю вывод что бита TOSCSEL у нее не существует. Если бы было иначе то мне пришлось бы при одном из состояний TOSCSEL ещё и часовой кварц перепаивать с порта Q на R. Почитал про DFLL. Насколько я понял, не работающий "контрольный" кварц не влияет на работу. В DS на AU-серию стоит If the PLL or external clock source fails when not being used for the system clock, it is automatically disabled, and the system clock will continue to operate normally.Так что раборающие часы в данном случае - не показатель. IMHO.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|