Jump to content

    
Sign in to follow this  
Vishay

Тестовые примеры от Atmel AT91RM9200-EK для платы Rainbow.

Recommended Posts

Hello, All !

 

Предлагаются Вашему вниманию несколько тестовых примером от Atmel AT91RM9200-EK, модифицированных для платы Rainbow, откомпилированных с помощью ADS.

 

1) AT91RM9200_BasicUHP - тест петли UHP-UDP для USB интерфейсов платы Rainbow, работающий в цикле.

Загрузка, как описано в примере от Atmel:

u-boot> loadb 20800000 (или tftp 20800000 )

u-boot> go 20800000

( примеры откомпилированы на адрес загрузки 20800000 )

 

2)AT91RM9200_TWI - выдача в цикле байтов 0x55, 0xAA через I2C интерфейс платы Rainbow. Мне было интересно посмотреть сигналы интерфейса I2C в осциллограф. Микросхемы часов на плате у меня нет. Без подтягивающих резисторов R34, R31 тест не работает. Я смотрел сначала в осциллограф оба сигнала со щупом 1:1 - при однократном прикосновении к линии тактов SCL тест зависает, больше никаких эпюр на обоих выводах нет. Со щупом 1:10 все смотрится нормально. Загрузка теста аналогично предыдущему. При повторном (горячем, т.е. без снятия питания с платы ) запуске после нажатия кнопки RESET нет необходимости грузить файл, достаточно дать команду:

u-boot> go 20800000

 

Пока ВСЕ.

AT91RM9200_BasicUHP.zip

AT91RM9200_TWI.zip

Share this post


Link to post
Share on other sites

Двухканальный генератор импульсов с программируемой скважностью по мотивам

doc2682.pdf ("Pulse Width Modulation Generation Using the AT91 Timer/Counter") с сайта Atmel.com, для платы Rainbow_1.1 .

Откомпилированная программа загружается в плату также, как и примеры в предыдущем посте. На выводах 65 и 66 процессора ( или на контактах 8 и 10 разъема P7) после запуска программы наблюдаем в осциллограф импульсы с 30% и 50% скважностью с частотой ~1 кГц ( как и описано в doc2682 ).

AT91_wave_pwm.zip

Share this post


Link to post
Share on other sites

Пример из предыдущего поста, переделанный в виде приложения для Linux (irq_tc1), с уменьшенной до 1 Гц частотой сигналов на выводах процессора, разрешением прерываний от таймера TC1 (irq18), и модулем ядра (intrpt.ko), в котором находится обработчик прерывания IRQ18, печатающий количество произведенных вызовов обработчика.

Модуль intrpt.ko откомпилирован для ядра 2.6.16. После загрузки модуля командой

#./insmod intrpt.ko

в файле /proc/interrupts появляется строчка:

18: 0 test_TC1_irq_handler

 

Запускаем далее

#./irq_tc1

и наблюдаем увеличение раз в секунду количества обработанных прерываний от TC1 в

cat /proc/interrupts, выдачу обработчиком прерывания по printk величины счетчика, обработанных IRQ18-прерываний, прыжки уровня сигнала приблизительно раз в секунду на выводах 65,66 процессора.

Для просмотра памяти, векторов прерываний, регистров TC1, AIC и т.д. я использовал утилиту monitor.c.

irq_tc1.zip

intrpt.zip

monitor.zip

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this