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

 
 
5 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> падает скорость на rs232
borischi
сообщение Aug 23 2009, 09:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 14-07-09
Пользователь №: 51 224



здравствуйте!
Такая проблема-использую АТ89S52 для чтения информации с мобильника (эрик т28).На коротких посылках всё нормально а свыше 13-15 байт-не успеваю вычитывать похоже.Допустим посылка из 30 байт-меня в ней интересует 25-й для проверки и я в него не попадаю.Если чуть опережаю события(на один вызов getch меньше)-удается попасть в нужный байт-но это ж не дело.
В терминальной программе эрик выдает всё как надо.Уровни его на интерфейсе до 5 вольт подтянул.
Может кто сталкивался с подобным-буду очень благодарен за совет
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Aug 23 2009, 09:39
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(borischi @ Aug 23 2009, 12:27) *
Может кто сталкивался с подобным-буду очень благодарен за совет

С поиском телепатов - конечно smile.gif
Приведите Ваш исходник, или часть его, или хоть что-то, за что можно зацепиться.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 23 2009, 11:55
Сообщение #3


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Кварц какой? Может скорость не совсем точно совпадает?
Ну и, если обработка символов занимает какое-то время, можно использовать буферизованный приём по прерываниям.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
manul78
сообщение Aug 23 2009, 12:26
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Была у одного знакомого такая-же проблема.
Компьютер читал через СОМ порт промышленный контроллер Дельта Электроникс как часы, а вот МК
посредством USART - ну никак ! И кварцев кучу перепробовали, и скорости меняли, короче "танцы
с бубнами" были конкретные... А все потому, что USART у МК не имеет в отличие от компьютерной
микросхемы ФАПЧ (фазовую автоподстройку частоты) !

Победили написав программный USART через прерывания... Аппаратный отправили "фтоппку"... maniac.gif


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 23 2009, 12:49
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(manul78 @ Aug 23 2009, 14:26) *
А все потому, что USART у МК не имеет в отличие от компьютерной
микросхемы ФАПЧ (фазовую автоподстройку частоты) !

Вы бредите.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
manul78
сообщение Aug 23 2009, 14:51
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(zltigo @ Aug 23 2009, 16:49) *
Вы бредите.


Обоснуйте ? В каком месте ? biggrin.gif


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
borischi
сообщение Aug 23 2009, 15:12
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 14-07-09
Пользователь №: 51 224



Цитата(AHTOXA @ Aug 23 2009, 14:55) *
Кварц какой? Может скорость не совсем точно совпадает?
Ну и, если обработка символов занимает какое-то время, можно использовать буферизованный приём по прерываниям.

Кварц 11.059
Настроил передатчик на стандартный 2-й режим 10 бит(старт,стоп и 8 бит дата).Скорость 9600 с соотв.перезагрузкой таймера.Никакой обработки символов нет-тупо вычитываю по готовности.проверяю на наличие определенного символа и всё.Там только и есть,что CJNE
Go to the top of the page
 
+Quote Post
manul78
сообщение Aug 23 2009, 15:46
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(borischi @ Aug 23 2009, 19:12) *
Кварц 11.059
Настроил передатчик на стандартный 2-й режим 10 бит(старт,стоп и 8 бит дата).Скорость 9600 с соотв.перезагрузкой таймера.Никакой обработки символов нет-тупо вычитываю по готовности.проверяю на наличие определенного символа и всё.Там только и есть,что CJNE


А как организован RS232 в телефоне ? Есть схема ?
Возможно у компьютера высокое входное сопротивление и соответственно в "терминалке" все работает
гуд. А вот в МК может быть более низкоомная входная цепь, которая в процессе работы медленно
подсаживает RS232 схему телефона и она начинает пороть чушь... Это мои догадки... biggrin.gif

С телефона идет "чиcтый RS-232" ? Уровни +10, -10 ?

Сообщение отредактировал manul78 - Aug 23 2009, 15:52


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
borischi
сообщение Aug 23 2009, 15:58
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 14-07-09
Пользователь №: 51 224



Цитата(manul78 @ Aug 23 2009, 18:46) *
А как организован RS232 в телефоне ? Есть схема ?
Возможно у компьютера высокое входное сопротивление и соответственно в "терминалке" все работает
гуд. А вот в МК может быть более низкоомная входная цепь, которая в процессе работы медленно
подсаживает RS232 схему телефона и она начинает пороть чушь... Это мои догадки... biggrin.gif

Ну поставил я последовательно резисторы на Rx и Tx.По 100 ом.А как организовано входное сопротивление каналов rs232 контроллера-честно говоря не знаю.Пробовал вписывать 1 в Rx контроллера конечно-не помогло biggrin.gif

Цитата(manul78 @ Aug 23 2009, 18:46) *
С телефона идет "чиcтый RS-232" ? Уровни +10, -10 ?

Нет конечно TTL 0 +- 2.5 V
Go to the top of the page
 
+Quote Post
manul78
сообщение Aug 23 2009, 16:35
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(borischi @ Aug 23 2009, 19:58) *
Нет конечно TTL 0 +- 2.5 V


Осциллограф цифровой возможно пролил-бы свет на данную проблему... biggrin.gif

Попробуйте буферную микросхему чтобы привести уровни в приемлемый вид...

Последняя догадка, возможно телефон передает не поток, а пакеты (15 байт данных + 16-тый CRC) ?


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
borischi
сообщение Aug 23 2009, 16:58
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 14-07-09
Пользователь №: 51 224



Цитата(manul78 @ Aug 23 2009, 19:35) *
Осциллограф цифровой возможно пролил-бы свет на данную проблему... biggrin.gif

Попробуйте буферную микросхему чтобы привести уровни в приемлемый вид...

Последняя догадка, возможно телефон передает не поток, а пакеты (15 байт данных + 16-тый CRC) ?

Осциллографа пока нету,-но жду его с нетерпением
Bus tranceiver ставил-не помогло.
А вот насчет пакета поподробнее если можно unsure.gif
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 23 2009, 17:24
Сообщение #12


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(borischi @ Aug 23 2009, 21:12) *
Кварц 11.059


Это гуд.

Цитата(borischi @ Aug 23 2009, 21:12) *
Настроил передатчик на стандартный 2-й режим 10 бит(старт,стоп и 8 бит дата).Скорость 9600 с соотв.перезагрузкой таймера.Никакой обработки символов нет-тупо вычитываю по готовности.проверяю на наличие определенного символа и всё.Там только и есть,что CJNE


Какого таймера? Какое значение перезагружается? Может, приведёте кусочки кода с инициализацией и обработкой?

Цитата
Нет конечно TTL 0 +- 2.5 V



При пятивольтовом контроллере? Я б поставил хоть транзистор для порядкаsmile.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
manul78
сообщение Aug 23 2009, 17:43
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(borischi @ Aug 23 2009, 20:58) *
А вот насчет пакета поподробнее если можно unsure.gif


Вы конечно знаете, что устройства осуществляющие обмен между собой по RS-232 используют протоколы
обмена. Протоколов этих масса. Возможно Ваш телефон использует какой-то свой.
Как пример, надо например передать 100 байт. Устройства "договариваются" между собой и процесс
пошел:

Формат пакета: первый байт - количество передаваемых байт данных.
следующие байты - собственно данные.
последний байт - контрольная сумма. (CRC)

Передаем 100 байт пакетами по 15 :

Первый пакет: 15, х,х....х,х, CRC - Получив его приемник быстро обрабатывает результат и
отвечает передатчику что все гут либо просит повторить
первый пакет...
Второй пакет: 15,х,х.....х,х, CRC ................................................................................
.....................

................................................................................
................................................................................
.

Седьмой пакет: 10,х,х.....х,х,CRC - Последний пакет.

Используя всевозможные протоколы, устройства "разговаривают" между собой. Динамически меняют
скорости обмена при плохом качестве передачи и т.д. Все это делается для точной и быстрой передачи
данных. Все это я описал в общих чертах. Кстати, я больше чем уверен, что Ваш телефон использу-
ет какой-либо протокол обмена, т.к. просто "сливать" данные как из одного ведра в другое, не контро-
лируя результат - это маловероятно... biggrin.gif


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
borischi
сообщение Aug 23 2009, 18:02
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 14-07-09
Пользователь №: 51 224



Цитата(AHTOXA @ Aug 23 2009, 20:24) *
При пятивольтовом контроллере? Я б поставил хоть транзистор для порядкаsmile.gif

Уровни на приеме от эрика я подтянул к 5 вольтам-поставил 2 инвертора на транзисторах.
Причина редактирования: Урезание цитаты.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 23 2009, 18:15
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(manul78 @ Aug 23 2009, 17:51) *
Обоснуйте ? В каком месте ?
Если совсем откровенно - во всех. Для начала: "компьютерная микросхема" - 16550 и ее более продвинутые версии. Найдите в ее даташите хотя бы упоминание о ФАПЧ.

Цитата(manul78 @ Aug 23 2009, 20:43) *
Вы конечно знаете, что устройства осуществляющие обмен между собой по RS-232 используют протоколы
обмена. Протоколов этих масса. Возможно Ваш телефон использует какой-то свой.
Телефоны используют протокол, унаследованный от модемов Hayes. Обычный текст, текстовые же команды, начинающиеся с AT. Отсюда название - AT-команды. Никаких CRC.
borischi: лучше покажите код. Телепатией заниматься просто лень. Последняя попытка телепатии: У вас в системе используются прерывания? Если да, то нет ли где-то в прерываниях больших участков кода, время исполнения которых больше времени приема символа?

Цитата(borischi @ Aug 23 2009, 21:02) *
Уровни на приеме от эрика я подтянул к 5 вольтам-поставил 2 инвертора на транзисторах.
А инверторы там как раз и не нужны. Если у вас нет ничего, кроме инверторов - поставьте их два последовательно. И инверторы лучше взять интегральные. Что-то вроде 74HCT14.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

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

 


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


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