Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Общетехнические вопросы

Общетехнические вопросы Общие вопросы аналоговой и цифровой электроники.

Ответ
 
Опции темы Опции просмотра
Старый 09.03.2009, 07:36   #1
FiNik
Member
 
Регистрация: 03.08.2007
Сообщений: 69
Вес репутации: 140/42
FiNik will become famous soon enoughFiNik will become famous soon enough
По умолчанию Как обнаружить КЗ на линии RX в режиме USART?

Как обнаружить короткое замыкание на шине RX при работе контроллера (PIC 16F873) в режиме USART? Скорее всего, в этом случае установится флаг ошибки кадра FERR. Но ведь он может появиться и просто в результате какого-то сбоя.
И как смоделировать такую ситуацию? В MPLAB SIM что-то не получается.
FiNik вне форума   Ответить с цитированием
Старый 09.03.2009, 09:20   #2
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 48
Сообщений: 4,100
Вес репутации: 1883/102
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Ответ: Как обнаружить КЗ на линии RX в режиме USART?

Цитата:
Сообщение от FiNik Посмотреть сообщение
Как обнаружить короткое замыкание на шине RX при работе контроллера (PIC 16F873) в режиме USART? Скорее всего, в этом случае установится флаг ошибки кадра FERR. Но ведь он может появиться и просто в результате какого-то сбоя.
И как смоделировать такую ситуацию? В MPLAB SIM что-то не получается.
нет FERR не будет признаком что там 0 засело. (вернее всего один раз ) Необходимо проверить состояние ноги, что она в нуле висит достаточно продолжительное время
IgorV вне форума   Ответить с цитированием
Старый 09.03.2009, 10:40   #3
FiNik
Member
 
Регистрация: 03.08.2007
Сообщений: 69
Вес репутации: 140/42
FiNik will become famous soon enoughFiNik will become famous soon enough
По умолчанию Ответ: Как обнаружить КЗ на линии RX в режиме USART?

Цитата:
Сообщение от IgorV Посмотреть сообщение
Необходимо проверить состояние ноги, что она в нуле висит достаточно продолжительное время
Я так понимаю, что для этого можно использовать любую команду чтения порта (типа btfsc PORTC,7)?
И все таки, как (или в чем) можно смоделировать короткое замыкание RX? Хотелось бы проанализировать разные ситуации.
FiNik вне форума   Ответить с цитированием
Старый 09.03.2009, 10:48   #4
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,751
Вес репутации: 5285/162
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Ответ: Как обнаружить КЗ на линии RX в режиме USART?

Цитата:
Сообщение от FiNik Посмотреть сообщение
Я так понимаю, что для этого можно использовать любую команду чтения порта (типа btfsc PORTC,7)?
И все таки, как (или в чем) можно смоделировать короткое замыкание RX? Хотелось бы проанализировать разные ситуации.
"замыкание" - вещь расплавчатая. мог просто разъём отвалиться, сдохнуть приёмник-передатчик и т.д.
надо анализировать на отсутствие активности в течение какого-то времени (можно специально построить таким образом протокол обмена)
Greg вне форума   Ответить с цитированием
Старый 09.03.2009, 11:19   #5
FiNik
Member
 
Регистрация: 03.08.2007
Сообщений: 69
Вес репутации: 140/42
FiNik will become famous soon enoughFiNik will become famous soon enough
По умолчанию Ответ: Как обнаружить КЗ на линии RX в режиме USART?

Цитата:
Сообщение от Greg Посмотреть сообщение
"замыкание" - вещь расплавчатая. мог просто разъём отвалиться, сдохнуть приёмник-передатчик и т.д.
надо анализировать на отсутствие активности в течение какого-то времени (можно специально построить таким образом протокол обмена)
Вот именно поэтому мне бы хотелось смоделировать такую ситуацию. В Proteus кое-что получается, даже удается установить флаг FERR, но устанавливается он как-то некорректно:
1. Сначала устанавливается флаг RCIF, т.е. принят нормальный байт (0х00), и только затем, при чтении регистра RCREG, устанавливается флаг ошибки кадра. А должно быть как-то не так.
2. Сбросить флаг FERR программно не удается! Не помогает ни чтение регистра RCREG, ни выключение передатчика, ни выключение всего USART. Причем, как при замкнутом, так и при разомкнутом входе RX!
3. И только очередной нормальный байт с терминала сбрасывает этот флаг, хотя сам при этом не принимается (RCIF не устанавливается).
Возможно, это глюк Proteus. Я задавал вопрос по этому поводу на Kazus.ru, но пока в ответ тишина.
А нельзя ли это как то в МПЛАБ проверить?
FiNik вне форума   Ответить с цитированием
Старый 09.03.2009, 11:31   #6
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,751
Вес репутации: 5285/162
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Ответ: Как обнаружить КЗ на линии RX в режиме USART?

Цитата:
Сообщение от FiNik Посмотреть сообщение
А нельзя ли это как то в МПЛАБ проверить?
нет, нельзя
Greg вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подключение магнитолы Sergey1 Общетехнические вопросы 10 27.12.2007 22:39
Помогите, пожалуйста, найти ошибку в коде Катя Микроконтроллеры других производителей 26 08.12.2007 14:58
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00
Подскажите пожалуйста как на dsPic реализовать умножение 16 бит на 32 бита с результатом в 32 бита на Асме. kotlyara Продукция MICROCHIP 9 29.08.2007 10:01
А кто знает, как поведет себя USART, если... Zloj_ya Продукция MICROCHIP 12 11.04.2007 14:05


Часовой пояс GMT +3, время: 15:52.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot