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

 
 
 
Reply to this topicStart new topic
> UART - сэмплирование битов в первой части
toweroff
сообщение Nov 14 2017, 10:40
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Добрый день
Есть физический интерфейс на витой паре, сигнал в нем выглядит вот так
Прикрепленное изображение

По сути, это обычный UART, но "0" передается вот в таком виде. Обычный же UART сэмплирует три отсечки в середине бита, потом уже принимается решение о "чистоте" сэмпла и его значении
Очень не хочется ловить каждый бит, пока надежда на использование стандартных аппаратных интерфейсов не совсем померла sm.gif
Есть идея использовать 32-битный SPI, с периодом тактирования как раз в 35мс и запускать по компаратору, который ловит старт-бит. У меня Start + 8 + Parity + Stop. Получается, один отсчет стоп-бита потеряется, да и фиг с ним

Что еще можно придумать? Пока смотрел LPC и STM32F, L. Вроде как не нашел переназначения тактов сэмплирования (или плохо смотрел?)
Go to the top of the page
 
+Quote Post
novikovfb
сообщение Nov 14 2017, 11:22
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 518
Регистрация: 29-09-11
Пользователь №: 67 450



Посмотрите описание IrDA кодеков, там времена другие, но идея похожа: логический "0" передается укороченным импульсом. Кодеки есть во многих микроконтроллерах.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Nov 14 2017, 11:59
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(novikovfb @ Nov 14 2017, 14:22) *
Посмотрите описание IrDA кодеков, там времена другие, но идея похожа: логический "0" передается укороченным импульсом. Кодеки есть во многих микроконтроллерах.

да, спасибо. Судя по диаграмме, в STM32L0 такое может прокатить, нужно тестировать
Прием, вроде как, пройдет. Передача, получается, будет сдвинута на 7/16, но сама по себе останется такой, как нужно
В общем приедет подопытный кролик, напишу о результатах
Go to the top of the page
 
+Quote Post
k155la3
сообщение Nov 14 2017, 12:11
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Данные приходят асинхронно, те. в любой момент.
Как привязать старт SPI к обработке посылки ? (Если это узел USART, то он отрабатывает автономно и будет "успевать")
Работать скорее всего будт, эдакий bit-bang по приему. Вопрос в микросекундных таймингах.
Если стартовать SPI по апп. прерыванию - то у него д.б наивысший приоритет и разрешена вложенность.
Иначе старт SPI может уплыть относительно начала посылки по приемной линии.
-----
Еслибы тайминги были не микросекундные, то саму линию можно было бы завести на вход аппаратного прерывания
и реализовать программный USART с нужной спецификой. Узел таймер придется задействовать.

ps
Внешний "выпрямитель саксафона" в виде контроллера, который растягивает до нужного размера стартовый импульс
+ линия задержки остального "паравоза" на соотв-ее кол-во тактов.
1 вход, 1 выход.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Nov 14 2017, 12:22
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(k155la3 @ Nov 14 2017, 15:11) *
Как привязать старт SPI к обработке посылки ?


Цитата
Есть идея использовать 32-битный SPI, с периодом тактирования как раз в 35мс и запускать по компаратору, который ловит старт-бит.


Цитата(k155la3 @ Nov 14 2017, 15:11) *
Еслибы тайминги были не микросекундные...

Скорость 9600, тактовая 30 МГц. Теоретически, вполне возможно с приоритетным прерыванием компаратора

Цитата(k155la3 @ Nov 14 2017, 15:11) *
Внешний "выпрямитель саксафона" в виде контроллера, который растягивает до нужного размера стартовый импульс

Скорость не меняется, одновибратор не проще? laughing.gif

Если б только прием... мне и передавать нужно в таком формате. Хотя, если одновибратор да по фронту, да две штуки их - на прием и передачу...
Go to the top of the page
 
+Quote Post
k155la3
сообщение Nov 14 2017, 12:28
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Так я и предлагаю, "интеллектуальный" одновибратор в виде 8-лапкового контроллера sm.gif
Тем более что и передавать надо "с саксофоном".

Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 05:59
Рейтинг@Mail.ru


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