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

 
 
 
Reply to this topicStart new topic
> ADuC841 UART, Full Duplex Software
Panych
сообщение Jan 25 2008, 20:42
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35



Свой вариант работает, но присутствует эхо, чисто цифровое.
Хотелось бы посмотреть, как другие реализуют.
Есть у кого-нибудь ссылки на примеры, желательно на asm? Не могу найти.
Возможно, кто-то сталкивался с такой проблемой.


--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
Go to the top of the page
 
+Quote Post
Linker
сообщение Jan 26 2008, 18:45
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105



Цитата(Panych @ Jan 26 2008, 02:42) *
Свой вариант работает, но присутствует эхо, чисто цифровое.

А что за "эхо цифровое"? Т.е. он принимает то, что передает или как? А с кем идет обмен? Может это viz-a-vi попугайничает?


--------------------
Я здесь и сейчас...
Go to the top of the page
 
+Quote Post
Panych
сообщение Jan 27 2008, 13:20
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35



есть 2 канала речевой связи FULL DUPLEX:
MIC - АЦП (ADuC841) - RS-232 - ЦАП (ADuс841) - SPEAKER
SPEAKER - ЦАП (ADuс841) - RS-232 - АЦП (ADuC841) - MIC.
------------- -------------
ADuс841-1chip ADuс841-1chip
Термин "цифровая" из-за того, что и микр. и спикер для проверки эффекта отключили на одном из терминалов.
Ясная фраза малой громкости, поторяется с затухающей ампл-дой в спикере говорящего в микр-н (на подключ. терминале).
На вызывающем терм. используется циклическая п/прогр (по обнаружению TI-флаг оконч-я передачи байта), за время передачи байта производится ввод инф-ии с АЦП и ввод в
ЦАП. На вызываемом терм. - похожая п/прогр, но цикл организован по прерыв-ю RI(флаг приемника).
Взаимопроникновение сигналов приема/передачи ставит вопросы:
1.Некорректный алгоритм или текст п/программ приема/передачи.
2.Неизвестная особенность UART ADuC841.
Поэтому и понадобилась помощь - скорректировать алгоритм или сам текст *.asm.
Заменить ADuC трудно, т.к. они уже и в док-ии и в железе.


--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
Go to the top of the page
 
+Quote Post
Linker
сообщение Jan 27 2008, 15:42
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105



Цитата(Panych @ Jan 27 2008, 19:20) *
1.Некорректный алгоритм или текст п/программ приема/передачи.
2.Неизвестная особенность UART ADuC841.

С такой особенностью ADuC841 не встречался, хотя приходилось его гонять. Выложите фрагменты ASM приема и передачи по UART. Может чего увидим...


--------------------
Я здесь и сейчас...
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jan 27 2008, 16:59
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Panych @ Jan 27 2008, 16:20) *
Термин "цифровая" из-за того, что и микр. и спикер для проверки эффекта отключили на одном из терминалов.
Ясная фраза малой громкости, поторяется с затухающей ампл-дой в спикере говорящего в микр-н (на подключ. терминале).

Очень трудно себе представить, чтобы ЦИФРОВОЙ сигнал ретранслировался с затухающей громкостью...
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 27 2008, 17:47
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Видимо речь про акустическое эхо (пускай даже и пропущенное через цифровой тракт) идет.
Panych, вам нужно программно каскад эхоподавления реализовать.
Go to the top of the page
 
+Quote Post
SALOME
сообщение Jan 28 2008, 10:00
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(Panych @ Jan 27 2008, 20:20) *
есть 2 канала речевой связи FULL DUPLEX:
MIC - АЦП (ADuC841) - RS-232 - ЦАП (ADuс841) - SPEAKER
SPEAKER - ЦАП (ADuс841) - RS-232 - АЦП (ADuC841) - MIC.

Честно говоря, не догоняю как реализованно это устройство. Вы прочитатйте внимательно, что написали smile.gif. Я имею ввиду вторую строчку "SPEAKER - ЦАП (ADuс841) - RS-232 - АЦП (ADuC841) - MIC".???


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
Panych
сообщение Jan 28 2008, 11:49
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35



Цитата(SALOME @ Jan 28 2008, 13:00) *
Честно говоря, не догоняю как реализованно это устройство. Вы прочитатйте внимательно, что написали smile.gif. Я имею ввиду вторую строчку "SPEAKER - ЦАП (ADuс841) - RS-232 - АЦП (ADuC841) - MIC".???

MIC и SPEAKER находятся в одном узле (телефонная трубка).

Неверно ответил, п/программа обмена информацией в каждом устройстве терминала одна и та же и прилагается ниже.
Уточнение: тихое эхо присутствует как на вызывающем термин. при отключ. акустике на вызываемом термин. так и при подключенной акустике на обоих концах.

Код
         DEXCHANGE:
         setb   RI
         setb   RI

AA:    
         jnb    RI,ADCS
         mov    A,SBUF            ;Receive
         clr    RI
         call   Decompression

         mov    DAC0H,r7          ;DAC HighByte
         mov    DAC0L,r6          ;DAC LowByte

ADCS:
         setb   SCONV           ;ADC  -  sample
         jnb    ADCI,$           ;
         clr     ADCI              ;               `
         clr     SCONV           ;

         MOV    A,ADCDATAH        ;ADC HighByte
         anl      A,#0Fh
         MOV    r7,A
         MOV    r6,ADCDATAL       ;ADC LowByte
         call     Compression

         jnb     TI,$
         clr      TI
         mov   SBUF,A          ;Transmit
         jmp    AA                ;then again

         RET


--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
Go to the top of the page
 
+Quote Post
Linker
сообщение Jan 28 2008, 16:20
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105



Цитата(Panych @ Jan 28 2008, 17:49) *
Код
         DEXCHANGE:
         setb   RI
         setb   RI

AA:    
         jnb    RI,ADCS
         mov    A,SBUF    ;Receive
         clr    RI
         call   Decompression

         mov    DAC0H,r7        ;DAC HighByte
         mov    DAC0L,r6        ;DAC LowByte

ADCS:
         setb   SCONV         ;ADC  -  sample
         jnb    ADCI,$         ;
         clr     ADCI            ;               `
         clr     SCONV         ;

         MOV    A,ADCDATAH;ADC HighByte
         anl      A,#0Fh
         MOV    r7,A
         MOV    r6,ADCDATAL     ;ADC LowByte
         call     Compression

         jnb     TI,$
         clr      TI
         mov   SBUF,A        ;Transmit
         jmp    AA        ;then again

         RET

Здесь возможна ситуация пропуска принимаемого байта, если время выполнения "call Compression" велико. Если не успеваешь считать данные до прихода новых, то они пропадают. У вас передача идет точно без пропусков (jnb TI,$), а прием - возможны пропуски (jnb RI,ADCS), пока программа занимается получением и обработкой данных от АЦП.
Не ясно, что делает и возвращает "call Compression". Судя по всему не простое масштабирование 12 разрядного результата АЦП. Именно это и отправляется в буфер обмена UART. Может там эхо и образуется? И еще: убедитесь, что у Вас отключено прерывание.

Сообщение отредактировал Linker - Jan 28 2008, 16:28


--------------------
Я здесь и сейчас...
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jan 28 2008, 16:36
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Panych @ Jan 28 2008, 14:49) *
MIC и SPEAKER находятся в одном узле (телефонная трубка).

Неверно ответил, п/программа обмена информацией в каждом устройстве терминала одна и та же и прилагается ниже.
Уточнение: тихое эхо присутствует как на вызывающем термин. при отключ. акустике на вызываемом термин. так и при подключенной акустике на обоих концах.

А как Вы отключаете? Вход микрофонный закорачиваете? Похоже на банальную наводку. Может по питанию даже...
Go to the top of the page
 
+Quote Post
Panych
сообщение Feb 8 2008, 15:07
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35



Спасибо всем, особенно Linker.
Все заработало.


--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
Go to the top of the page
 
+Quote Post
ncux
сообщение Mar 3 2008, 18:38
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 2-12-07
Пользователь №: 32 880



Так что же было? Нам тоже интересно smile.gif Действительно не успевал?
Go to the top of the page
 
+Quote Post

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

 


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


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