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

|
Всем категорически драсте. Пытаюсь реализовать небольшое устройство (назовём его A), которое должно управлять другим устройством (В) по интерфеёсу 485 (полудуплексный режим) с использованием протокола юарт. Система работает след. образом : с PC на устройство А отправляется пакет данных (по юарту, скорость 9600кБод/с). Устройство А принемает пакет и транзитом передаёт его на устройство Б но уже со скоростью 1Мбит/с (т.е. длительность импульса данных = 1 мкс). Далее устройство Б должно ответить (по тем же проводам). Решил не морочится, взял ниос прилепил к нему 2 UART контроллера один принемает с компа другой для работы с устройством Б. Сначало было всё нормально, с компа посылка принемалась и благополучно отправлялась с необходимой скоростью. Но вот когда устр. Б отвечает, прерывания UARTа (для 1 Мбита) говорящие о том, что очередной байт принят ведут себя каким то рандомным образом. Дело в том, что для преобразования интерфейсов используется микросхема MAX3485. Её работа такова, что ножка, с которой данные приходят уже на ПЛИС всё время, сидит в 0. Кода же устройство Б начинает передавать оно сначало поднимает линию (назовём этот момент предстартовым битом) и затем опускает (это уже стартовый бит). Этот самый предстартовый бит довольно короткий и я думал дело в этом. Но сдаётся мне дело в чём то другом. Ниос использею естественно самый простяцкий. Может кто подскажет чего. На осциллограмме жёлтым изображён ответ устройства Б, а синим моменты, в которые UART контроллер говорит, что мол байт принят, т.е. происходит прерывание.
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Сообщений в этой теме
Грендайзер Прерывания 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 Грендайзер Подтягивающие резисторы не помогают. Действительно... Feb 14 2014, 08:51 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 11 2014, 15:15
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|