Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IrDA в AT91SAM7X
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Daria
Здравствуйте. Такая проблема -
Хочу передавать данные со скоростью 19200 бод, mck 32МГц. Работая в обычном асинхронном режиме usart, задаю делитель 104, и скорость mck/(div*16)=19230. В даташите написано, что в режиме IrDA используется логика ISO7816, скорость будет вычисляться mck/(div*16)/(значение поля FI_DI_RATIO регистра US_FIDI), поэтому там должно быть записано не нулевое значение. Задаю FI_DI_RATIO=0x01. По идее, скорость должна остаться 19230 unsure.gif
Но на анализаторе видно, что она уже 18800... unsure.gif
Может, кто-нибудь подскажет, что не правильно? И какие биты в какие регистры записать rolleyes.gif Я не понимаю, зачем это FI_DI_RATIO в этом режиме вообще нужно. unsure.gif
Буду очень благодарна!
rezident
Об IrDA по-русски
Daria
Цитата(rezident @ Nov 19 2010, 22:50) *

Спасибо, по-русски - всегда хорошоsmile.gif Но в моем случае не проясняет ситуацию. приведенные вами страницы естесственно, читала. Так вот, при скорости 19200, 3/16 интервала должны быть 9,77мкс. А на анализаторе видно, что у меня 10мксsad.gif И отношение Di/Fi используется для ISO7816, а для асинхронной передачи зачем?
rezident
Я не специалист в этом ISO7816, но как мне кажется что так реализована логика приемопередатчика. Из-за того, что битовый интервал отличается от длительности бита на этом интервале приходится корректировать битовую скорость. То бишь при соотношении 3/16 приходится пропорционально изменять битрейт так, чтобы битовая скорость соответствовала длительности бита для такого же битрейта обычного UART.
Daria
Здравствуйте. Помогите разобраться - хочу отправлять и принимать данные по ИК-порту со скоростью 19200бод. В даташите указано, что HSDL-3007 управляется по IrDA, подаю на Tx данные с этой скоростью, анализатор показывает, что импульс 3/16 бита равен 9,7 мкс, т.е. все правильно вроде. принимаю данные на другой плате с помощью такой же микросхемы - в сигнале с Rx импульс 3/16 в четыре раза короче.
Подключали согласно схеме в даташите, вот схема на всякий случай.
Что неправильно? или все так и должно быть? Но модуль IrDa на процессоре не принимает такие измененные данные
Подскажите, буду очень рада ответу
rezident
Цитата(Daria @ Nov 26 2010, 01:30) *
Что неправильно? или все так и должно быть?
Если вы не используете вход TXD_RC, то его следует подключить в GND. Обратите внимание на примечание Note 6 в таблице описания пинов HSDL-3007.
Цитата
6.Logic high turns on the RC LED. If held high longer than 50 µs, the RC LED is turned off. Do NOT float the pin.

С19 либо не нужен, либо он должен стоять до R17. 1 pin это анод излучающего диода, R17 - балласт для него, ограничивающий ток этого диода.
Dog Pawlowa
Цитата(Daria @ Nov 25 2010, 23:30) *
с помощью такой же микросхемы - в сигнале с Rx импульс 3/16 в четыре раза короче.
..
Что неправильно? или все так и должно быть?
..

Дык у Вас потери в аналоговом тракте. Мощности не хватает или расстояние слишком. Или схема неверна.

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.