реклама на сайте
подробности

 
 
> Прерывания UART, не работает
Грендайзер
сообщение Feb 13 2014, 18:10
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451



Всем категорически драсте. Пытаюсь реализовать небольшое устройство (назовём его A), которое должно управлять другим устройством (В) по интерфеёсу 485 (полудуплексный режим) с использованием протокола юарт. Система работает след. образом : с PC на устройство А отправляется пакет данных (по юарту, скорость 9600кБод/с). Устройство А принемает пакет и транзитом передаёт его на устройство Б но уже со скоростью 1Мбит/с (т.е. длительность импульса данных = 1 мкс). Далее устройство Б должно ответить (по тем же проводам). Решил не морочится, взял ниос прилепил к нему 2 UART контроллера один принемает с компа другой для работы с устройством Б. Сначало было всё нормально, с компа посылка принемалась и благополучно отправлялась с необходимой скоростью. Но вот когда устр. Б отвечает, прерывания UARTа (для 1 Мбита) говорящие о том, что очередной байт принят ведут себя каким то рандомным образом. Дело в том, что для преобразования интерфейсов используется микросхема MAX3485. Её работа такова, что ножка, с которой данные приходят уже на ПЛИС всё время, сидит в 0. Кода же устройство Б начинает передавать оно сначало поднимает линию (назовём этот момент предстартовым битом) и затем опускает (это уже стартовый бит). Этот самый предстартовый бит довольно короткий и я думал дело в этом. Но сдаётся мне дело в чём то другом. Ниос использею естественно самый простяцкий. Может кто подскажет чего. На осциллограмме жёлтым изображён ответ устройства Б, а синим моменты, в которые UART контроллер говорит, что мол байт принят, т.е. происходит прерывание.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Грендайзер
сообщение Feb 14 2014, 08:51
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451



Подтягивающие резисторы не помогают. Действительно, процесс передачи инициализирую я, и пока я передаю, линия RО (ножка микросхемы идущая к ПЛИС) задирается в 1. Когда я переключаюсь из режима передачи в режим приёма RО опускается в 0 и лежит в нём до тех пор, пока устройство В не переключится в режим передачи и его передатчик не поднимет линию. Т. о. происходит дополнительное срабатывание, но картину это всёравно не особо меняет. Это что касается резистора. Картина же без резистора представлена на осциллограммах (в самаом верху рисунка видно, что до прихода предстартового бита, линия сидит в 0, и никаких прерываний нет).
P.S.
Каждый кстати раз прерывания расставляются как то рандомно...

Цитата
проверьте как должны быть линии А и Б, и подтяните их резисторами куда надо!

В том то и дело, что ароде всё правильно ссоединено. Ведь как я писал, на устройство Б приходит от пеня сигнал, который то же сначала сидит в 0. Единственное , то, что мой предстартовый бит по длительности как раз не менее стопового. Более того, я напрямую ссоединял ножки плис (в обход линии 485). В этом случае линя приёмника по умолчанию была в 1 а потом проваливалась (т.е. всё как надо) но... ниос зараза всёравно косячит с прерываниями... быть может для нормальной работы на скоростях отличных от стандартных нужно другое ядро, а не бесплатное... блин неделю уже мучаюсь...

Сообщение отредактировал Грендайзер - Feb 14 2014, 08:38
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Грендайзер   Прерывания UART   Feb 13 2014, 18:10
- - sazh   Цитата(Грендайзер @ Feb 13 2014, 21:10) п...   Feb 13 2014, 18:51
- - Грендайзер   Дело а том, что при переключении из режима передач...   Feb 14 2014, 06:44
|- - sazh   Цитата(Грендайзер @ Feb 14 2014, 09:44) Д...   Feb 14 2014, 07:43
- - Golikov A.   по спецификации UART сигнал должен быть в 1 в неак...   Feb 14 2014, 07:12
- - Golikov A.   ЕПРСТ! Что ядра менять, если на осцилографе Н...   Feb 14 2014, 08:56
- - Грендайзер   Я ж написал, что ссоединял плисы напрямую, в обход...   Feb 14 2014, 11:46
- - Golikov A.   время написания UART модуля - 20 минут. Возьмите и...   Feb 14 2014, 12:05
- - Грендайзер   Да написать то UART дело не хитрое кодов и нете по...   Feb 14 2014, 12:14
- - Golikov A.   UART надо писать к ниосу, У всех этих процов шина ...   Feb 14 2014, 13:02
- - Грендайзер   Да я тоже подумывал сначала написать небольшой мод...   Feb 14 2014, 14:38
- - Грендайзер   Появилось времечко, и вновь взялся за разборки с н...   Mar 12 2014, 08:27
|- - alexadmin   Цитата(Грендайзер @ Mar 12 2014, 12:27) Т...   Mar 12 2014, 08:36
- - Грендайзер   Ооопанькииии... А ещё можно наводящий вопросик как...   Mar 12 2014, 08:42
|- - _Anatoliy   Цитата(Грендайзер @ Mar 12 2014, 10:42) О...   Mar 12 2014, 08:59
|- - alexadmin   Цитата(_Anatoliy @ Mar 12 2014, 12:59) им...   Mar 12 2014, 09:24
|- - _Anatoliy   Цитата(alexadmin @ Mar 12 2014, 11:24) И ...   Mar 12 2014, 09:32
- - Грендайзер   Нет, ну у Альтеры есть какая то там фифошечка, я п...   Mar 12 2014, 09:41
- - Golikov A.   берете корку уарта и корку фифо правильно соединя...   Mar 12 2014, 14:57
- - vadimuzzz   вообще-то у альтеры есть streaming-режим, и прерыв...   Mar 12 2014, 22:27
- - Грендайзер   Цитатавообще-то у альтеры есть streaming-режим, и ...   Mar 13 2014, 02:56
|- - vadimuzzz   Цитата(Грендайзер @ Mar 13 2014, 09:56) А...   Mar 13 2014, 05:20
|- - alexadmin   Цитата(vadimuzzz @ Mar 13 2014, 09:20) в ...   Mar 13 2014, 05:24
|- - vadimuzzz   Цитата(alexadmin @ Mar 13 2014, 12:24) У ...   Mar 14 2014, 01:45
|- - alexadmin   Цитата(vadimuzzz @ Mar 14 2014, 05:45) я ...   Mar 14 2014, 03:47
|- - vadimuzzz   Цитата(alexadmin @ Mar 14 2014, 10:47) Хм...   Mar 14 2014, 10:52
- - Грендайзер   Ну проблема то в том, что количество байт в пакете...   Apr 9 2014, 08:57
|- - vadimuzzz   Цитата(Грендайзер @ Apr 9 2014, 15:57) Ну...   Apr 9 2014, 23:07
- - Грендайзер   ааааа... да да да понял... Правда последним символ...   Apr 11 2014, 15:15


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.0141 секунд с 7
ELECTRONIX ©2004-2016