Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:3
Форум » starterkit.ru » Embedded Linux
помогите с генератором меандра
Franky
Добавлено 14.06.2012 18:43 Редактировалось 14.06.2012 18:43 Сообщение: 21
Franky
5

Пункты: 5030
Регистрация: 29.06.2010
Сейчас всё заработало (когда убрал ненужный spi).
Дело в том, что у меня древний осциллограф и посмотрев на нём генерируемый меандр сделал вывод что частота импульсов 250 000 Гц. А нужно 100 000.
Если я правильно понял то за частоту отвечает эта часть кода:
...
at91_tc_write(AT91_TC_CMR,
AT91_TC_WAVE | AT91_TC_WAVESEL_UP_AUTO
| AT91_TC_ACPA_SET | AT91_TC_ACPC_CLEAR
| AT91_TC_TIMER_CLOCK2); // делитель для MCK/8

at91_tc_write(AT91_TC_RC, 125); // частота на выходе 100 000 000 / 8 / 125 = 100 000
at91_tc_write(AT91_TC_RA, 62); // половина AT91_TC_RC если им пульс/пауза 50/50

тогда, тогда, может не стоит верить осциллу...
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 14.06.2012 19:07 Сообщение: 22
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
тогда, тогда, может не стоит верить осциллу...

верить вообще никому нельзя..
а что, если поверить осцилл банально подключив к звуковой карте и софтине-звукогенератору..
или состряпать примитивный генератор на кварце и 2-3 делителях.. кварц на 6-8МГц..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Franky
Добавлено 14.06.2012 23:25 Редактировалось 14.06.2012 23:51 Сообщение: 23
Franky
5

Пункты: 5030
Регистрация: 29.06.2010
Завёлся таймер и вроде бы всё хорошо.... но я не посмотрел, что появилась другая проблема. Оказывается теперь ядро не грузится полностью(((
вижу в консоли:
...

at91_mci at91_mci: Timeout waiting end of packet

всё(

оказывается время от времени "слетает" файловая система. Тип файловой ext3. как быть если случается так что часто устройство выключается некорректно, а нужно иметь целую файловую систему?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 15.06.2012 00:22 Сообщение: 24
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
оказывается время от времени "слетает" файловая система. Тип файловой ext3. как быть если случается так что часто устройство выключается некорректно, а нужно иметь целую файловую систему?

1. во время отладки ядра для nuc950 мне показалось удобным использовать рутовую на NFS прямо в виртуалке.. при малейших зависаниях из-за рутовой, она просто быстренько сносилась и копировалось резервное "дерево"
2. попробовать монтирование рутовой в ReadOnly и вынос RW каталога /var в оперативку
это для отладки..

Цитата
а нужно иметь целую файловую систему?

пропишите принудильно запуск e2fsck с автолечением при загрузке платы..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Franky
Добавлено 15.06.2012 20:17 Сообщение: 25
Franky
5

Пункты: 5030
Регистрация: 29.06.2010
что-то совсем не запускается теперь рутовая


at91_mci at91_mci: Timeout waiting end of packet

и всё...
раньше хоть форматирование помогало(
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 15.06.2012 21:18 Сообщение: 26
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
что-то совсем не запускается теперь рутовая


at91_mci at91_mci: Timeout waiting end of packet

и всё...
раньше хоть форматирование помогало(

дак а рутовая тут каким боком?
имхо, это проблема физики интерфейса.. для проверки можно:
- временно отключить "те" таймера и все что с ними связано
- накатать заведомо исправную рутовую и подсунуть киту
- сделать аварийное восстановление: ядро+рутовая от Павла и подмотировав, проверить работу карточки

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Franky
Добавлено 16.06.2012 00:23 Редактировалось 16.06.2012 00:23 Сообщение: 27
Franky
5

Пункты: 5030
Регистрация: 29.06.2010
Цитата
Цитата
что-то совсем не запускается теперь рутовая


at91_mci at91_mci: Timeout waiting end of packet

и всё...
раньше хоть форматирование помогало(

дак а рутовая тут каким боком?
имхо, это проблема физики интерфейса.. для проверки можно:
- временно отключить "те" таймера и все что с ними связано
- накатать заведомо исправную рутовую и подсунуть киту
- сделать аварийное восстановление: ядро+рутовая от Павла и подмотировав, проверить работу карточки


попробовал два варианта:
1) Отключил генерацию мандра посредствам tc1 (закоментил функцию). В ядре включил Device Dreiver -> Misc.Device->Timer counter driver->[0] TC Block
Результат: рутовая поднялась. Всё хорошо.
2) Генерация поп режнему отключена, но сделал Device Dreiver -> Misc.Device->Timer counter driver->[1] TC Block
Результат: рутовая поднялась. Всё хорошо.

Вывод: генерация меандра через таймер не даёт рутовой нормально подняться.
((
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 16.06.2012 01:01 Сообщение: 28
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Вывод: генерация меандра через таймер не даёт рутовой нормально подняться. ((

ЧТД собственно..
осталось разобраться с механизмом возникновения таймаутов и попробовать их пофиксить..
я бы для старта поискал место в драйвере, где происходит вылет и прикинул времянки. вполне может быть, что надо чуть подкрутить настройки..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Franky
Добавлено 16.06.2012 10:15 Сообщение: 29
Franky
5

Пункты: 5030
Регистрация: 29.06.2010
Цитата
Цитата
Вывод: генерация меандра через таймер не даёт рутовой нормально подняться. ((

ЧТД собственно..
осталось разобраться с механизмом возникновения таймаутов и попробовать их пофиксить..
я бы для старта поискал место в драйвере, где происходит вылет и прикинул времянки. вполне может быть, что надо чуть подкрутить настройки..

о каком драйвере вы говорите? MCI? его крутить?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 16.06.2012 11:16 Сообщение: 30
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
о каком драйвере вы говорите? MCI? его крутить?

если включить логику и посмотреть на строчку:
Код
at91_mci at91_mci: Timeout waiting end of packet

то я бы просто посмотрел, что и как там организовано с т.з. ожидания готовности..
отсюда можно принять решение - пилить драйвер или смотреть, что неправильно при организации ваших таймерных девайсов..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux