|
максимальная скорость COM-порта?, получится ли? |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 26)
|
Sep 1 2005, 03:02
|

Местный
  
Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852

|
Вообще говоря 25 выборок очень мало, но если их хватает и 25, то должно хватать 6-8 разрядов, 16 совершенно не к чему, если все-таки нужен приличный синус, то ставь ЦАП 8-разрядов, 64 или 128 выборок, а после активный фильтр, лучше 2 , второго порядка каждый, у меня в такой схеме искажения были лучше 0.1%
|
|
|
|
|
Sep 1 2005, 05:10
|
Местный
  
Группа: Свой
Сообщений: 303
Регистрация: 3-03-05
Пользователь №: 3 044

|
Цитата(skopus @ Sep 1 2005, 00:39) Стоит задача сделать из него генератор синусоидального сигнала с частотой 780гц . То есть в ком-порт будут отправляться дискретные значения амплитуды, которые беруться из таблицы, хранящейся в памяти контроллера, а верхний софт считает все это из порта и будет выводить на экран в виде графика. Интересно, а что, верхний софт такой тупой, что сам не может содержать таблицы синуса и брать их из своей памяти, что бы вывести на экран?
--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
|
|
|
|
|
Sep 1 2005, 08:20
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(skopus @ Sep 1 2005, 01:39) 1/780 = 0.00128205 секунды за это время нужно отправить 25 послыок по 18 бит (так как значение амплитуды 16 разрядное) Вы можете передавать значения приращения сигнала (дельта-модуляция) это уменьшит разрядность Ваших данных, что 'разгрузит' скорость передачи.
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
Sep 1 2005, 08:28
|

Участник

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124

|
Цитата(BVU @ Sep 1 2005, 11:20) Цитата(skopus @ Sep 1 2005, 01:39) 1/780 = 0.00128205 секунды за это время нужно отправить 25 послыок по 18 бит (так как значение амплитуды 16 разрядное) Вы можете передавать значения приращения сигнала (дельта-модуляция) это уменьшит разрядность Ваших данных, что 'разгрузит' скорость передачи. но ведь если посылка будет 10 байт а не 18, то все равно получается 780*25*10=195000 - это же больше стандартной скорости 115200.
|
|
|
|
|
Sep 1 2005, 08:56
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(skopus @ Sep 1 2005, 12:28) Цитата(BVU @ Sep 1 2005, 11:20) Цитата(skopus @ Sep 1 2005, 01:39) 1/780 = 0.00128205 секунды за это время нужно отправить 25 послыок по 18 бит (так как значение амплитуды 16 разрядное) Вы можете передавать значения приращения сигнала (дельта-модуляция) это уменьшит разрядность Ваших данных, что 'разгрузит' скорость передачи. но ведь если посылка будет 10 байт а не 18, то все равно получается 780*25*10=195000 - это же больше стандартной скорости 115200. Хорошо давайте так - передавайте скорость изменения вашего сигнала (ускорение). Может быть в 8-бит то уложитесь, а Программе на PC отдать всю остальную обработку по восстановлению сигнала. По всей видимости 'в лоб' эта не решается (1 выборка значения -> передача в порт). Если уж связались с COM портом здесь необходима информационная компрессия при граничной скорости передачи (во времени). Есть еще вариант: необходимо рассмотреть, как быстро надо перестраивать параметры амплитуды, частоты и фазы вашего синуса? Передаете Вашей PC программе 'блоком' эти три значения, при изменении снова 'блок' и т.д.
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
Sep 1 2005, 09:04
|

Участник

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124

|
Цитата(BVU @ Sep 1 2005, 11:56) Цитата(skopus @ Sep 1 2005, 12:28) Цитата(BVU @ Sep 1 2005, 11:20) Цитата(skopus @ Sep 1 2005, 01:39) 1/780 = 0.00128205 секунды за это время нужно отправить 25 послыок по 18 бит (так как значение амплитуды 16 разрядное) Вы можете передавать значения приращения сигнала (дельта-модуляция) это уменьшит разрядность Ваших данных, что 'разгрузит' скорость передачи. но ведь если посылка будет 10 байт а не 18, то все равно получается 780*25*10=195000 - это же больше стандартной скорости 115200. Хорошо давайте так - передавайте скорость изменения вашего сигнала (ускорение). Ускорение - это вторая производная от синуса. То есть -sin. От этого ничего не меняется абсолютно, но идея красивая
|
|
|
|
|
Sep 1 2005, 09:15
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(skopus @ Sep 1 2005, 13:04) Цитата(BVU @ Sep 1 2005, 11:56) Цитата(skopus @ Sep 1 2005, 12:28) Цитата(BVU @ Sep 1 2005, 11:20) Цитата(skopus @ Sep 1 2005, 01:39) 1/780 = 0.00128205 секунды за это время нужно отправить 25 послыок по 18 бит (так как значение амплитуды 16 разрядное) Вы можете передавать значения приращения сигнала (дельта-модуляция) это уменьшит разрядность Ваших данных, что 'разгрузит' скорость передачи. но ведь если посылка будет 10 байт а не 18, то все равно получается 780*25*10=195000 - это же больше стандартной скорости 115200. Хорошо давайте так - передавайте скорость изменения вашего сигнала (ускорение). Ускорение - это вторая производная от синуса. То есть -sin. От этого ничего не меняется абсолютно, но идея красивая   бывает 'зарапортовался'. Но есть еще возможность - как поднять тактовую частоту Вашего mega128 на кварце скажем 16.000000Mz и получить максимально совместимые для PC скорость передачи по COM порту в 256000.
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
Sep 1 2005, 10:38
|

Участник

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124

|
Цитата(BVU @ Sep 1 2005, 12:15) Цитата(skopus @ Sep 1 2005, 13:04) Цитата(BVU @ Sep 1 2005, 11:56) Цитата(skopus @ Sep 1 2005, 12:28) Цитата(BVU @ Sep 1 2005, 11:20) Цитата(skopus @ Sep 1 2005, 01:39) 1/780 = 0.00128205 секунды за это время нужно отправить 25 послыок по 18 бит (так как значение амплитуды 16 разрядное) Вы можете передавать значения приращения сигнала (дельта-модуляция) это уменьшит разрядность Ваших данных, что 'разгрузит' скорость передачи. но ведь если посылка будет 10 байт а не 18, то все равно получается 780*25*10=195000 - это же больше стандартной скорости 115200. Хорошо давайте так - передавайте скорость изменения вашего сигнала (ускорение). Ускорение - это вторая производная от синуса. То есть -sin. От этого ничего не меняется абсолютно, но идея красивая   бывает 'зарапортовался'. Но есть еще возможность - как поднять тактовую частоту Вашего mega128 на кварце скажем 16.000000Mz и получить максимально совместимые для PC скорость передачи по COM порту в 256000. проще припаять обычный ЦАП, чем заменить кварц... Скорее всего так и придется сделать.
|
|
|
|
|
Sep 1 2005, 11:54
|

Участник

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124

|
Цитата(BVU @ Sep 1 2005, 14:04) Цитата(skopus @ Sep 1 2005, 14:38) проще припаять обычный ЦАП, чем заменить кварц... Скорее всего так и придется сделать. А смысл передачи данных на COM порт тогда в чем был? Только что бы посмотреть картинку генерируемого сигнала? Наверно с этого и надо было начинать ("припаять обычный ЦАП"), если Вы собирались делать обыкновенный генератор синусоидального сигнала. А средством визуализации Вашего сигнала при прохождении всевозможных трактов является тривиальный осцилограв или примочка к PC (в данном случае, что доступнее).  да нет же. Это тестовая задача. Изменять условие в принципе нельзя. Но если возникнет конфликт физической нереализуемости, то можно попробовать договориться с заказчиком. И кроме того за ЦАп еще надо в магазин съездить, а ком-порты в пределах досигаемости. Пока я все еще пробую наладить связь через ком. Но если не получится, тогда придется заморачиваться с цапом
|
|
|
|
|
Sep 1 2005, 12:32
|

Участник

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124

|
Цитата(bzx @ Sep 1 2005, 13:56) 1. А что если работать с LPT? Подключить непосредственно к нему ЦАП. Как? 2. А почему бы не использовать звуковую карту PC. Она 16бит. Очень много софта для работы со звуковой картой? это все излишне усложняет задачу. И удорожает реализацию. Все выдумки по поводу цап оплачивать придется из своего кармана  это не есть хорошо
|
|
|
|
|
Sep 1 2005, 12:55
|

Местный
  
Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528

|
Цитата(skopus @ Sep 1 2005, 15:32) это все излишне усложняет задачу. И удорожает реализацию. Все выдумки по поводу цап оплачивать придется из своего кармана  это не есть хорошо Каким это местом вывод гармонического сигнала частотой 780Гц через звуковую карту усложнит задачу и, тем более, удорожает реализацию? Никопейки не будет потрачено! (Если есть звуковая карта) Более того, сидеть с паяльником не придётся!
--------------------
Для связи email: info собака qbit.su
|
|
|
|
|
Sep 1 2005, 13:17
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(bzx @ Sep 1 2005, 16:55) Цитата(skopus @ Sep 1 2005, 15:32) это все излишне усложняет задачу. И удорожает реализацию. Все выдумки по поводу цап оплачивать придется из своего кармана  это не есть хорошо Каким это местом вывод гармонического сигнала частотой 780Гц через звуковую карту усложнит задачу и, тем более, удорожает реализацию? Никопейки не будет потрачено! (Если есть звуковая карта) Более того, сидеть с паяльником не придётся! А это действительно вариант! Причем кроме DAC и согласование со входом звуковой карты самому делать ничего не потребуется. Софта на PC для этого предостаточно (бери любую "аудио студию"). Правда должно быть еще одно условие - наличие у контроллера свободного параллельного порта. Либо организовывать все это через другие интерфейсы (последовательные) реализованные на DAC.
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
Sep 1 2005, 19:52
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 25-07-05
Из: Екатеринбург
Пользователь №: 7 077

|
Цитата(skopus @ Sep 1 2005, 11:15) Быстродействия меги хватит, но меня беспокоит именно проблема слишком высокой скорости передачи данных по com-порту. Мне в свое время помог HiSerial
|
|
|
|
|
Sep 2 2005, 04:19
|
Местный
  
Группа: Свой
Сообщений: 303
Регистрация: 3-03-05
Пользователь №: 3 044

|
Цитата(skopus @ Sep 1 2005, 14:54) да нет же. Это тестовая задача. Изменять условие в принципе нельзя. Но если возникнет конфликт физической нереализуемости, то можно попробовать договориться с заказчиком. И кроме того за ЦАп еще надо в магазин съездить, а ком-порты в пределах досигаемости. Пока я все еще пробую наладить связь через ком. Но если не получится, тогда придется заморачиваться с цапом Жалко человека. Ну тогда есть такая штука, как АДИКМ, когда периодически передаются истинные значения сигнала, а между ними - только отклонение нового значения от истинного или соседнего. Посмотрите протокол кодирования в телефонах GSM, где на скорости 4800 передается речь (300-3000Гц). Самое эффективное - передать PC частоту и амплитуду (4 байта) и пусть рисует.
--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
|
|
|
|
|
Sep 2 2005, 12:23
|

Участник

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124

|
Цитата(bzx @ Sep 1 2005, 15:55) Цитата(skopus @ Sep 1 2005, 15:32) это все излишне усложняет задачу. И удорожает реализацию. Все выдумки по поводу цап оплачивать придется из своего кармана  это не есть хорошо Каким это местом вывод гармонического сигнала частотой 780Гц через звуковую карту усложнит задачу и, тем более, удорожает реализацию? Никопейки не будет потрачено! (Если есть звуковая карта) Более того, сидеть с паяльником не придётся! усложняет тем, что придется это еще все придумать. Я не знаю как это сделать. Даже если мой контроллер будет по какому-нибудь выводу выдавать значения с частотой 780 гц. Что дальше? неужели провод в аудио-вход воткнуть?
|
|
|
|
|
Sep 2 2005, 12:25
|

Участник

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124

|
Цитата(CDT @ Sep 2 2005, 07:19) Цитата(skopus @ Sep 1 2005, 14:54) да нет же. Это тестовая задача. Изменять условие в принципе нельзя. Но если возникнет конфликт физической нереализуемости, то можно попробовать договориться с заказчиком. И кроме того за ЦАп еще надо в магазин съездить, а ком-порты в пределах досигаемости. Пока я все еще пробую наладить связь через ком. Но если не получится, тогда придется заморачиваться с цапом Жалко человека. Самое эффективное - передать PC частоту и амплитуду (4 байта) и пусть рисует. это откровенный обман. Цель задачи в том, чтоб контроллер был генератором, а PC был цап+осцилограф
|
|
|
|
|
Sep 2 2005, 15:43
|

Участник

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124

|
Цитата(BVU @ Sep 2 2005, 15:30) И нечего думать bzx предложил Вам наиболее оптимальный вариант, как по временным, так и по материальным затратам. А заказчику не все ли равно как пройдет демонстрация изделия по COM или аудио-входу...!?  Ну посмотрим. Я решил воспользоваться хитростью, которая применяется при передаче телевизионного сигнала. А именно передавать не весь кадр целиком, а сначала четные строки, а потом нечетные. Думаю, что эту идею легко перенести и на мою задачу. А аудиокарта... я уже говорил. Я ни разу так не делал. Это "новые горизонты". Не факт что я смогу съэкономить на этом время. В любом случае, я очень признателен всем, кто откликнулся.  хороший форум
|
|
|
|
|
Sep 2 2005, 15:45
|

Участник

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124

|
Цитата(_sR_ @ Sep 1 2005, 22:52) Цитата(skopus @ Sep 1 2005, 11:15) Быстродействия меги хватит, но меня беспокоит именно проблема слишком высокой скорости передачи данных по com-порту. Мне в свое время помог HiSerialэта штука черезчур сильно аппаратно-зависима
|
|
|
|
|
Sep 2 2005, 22:43
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 25-07-05
Из: Екатеринбург
Пользователь №: 7 077

|
Цитата(skopus @ Sep 2 2005, 18:45) эта штука черезчур сильно аппаратно-зависима  а Вы не пугайтесь черезчур не много РАЗНЫХ микросхем Вам встретится (тем более последнее время). Я в свое время не смог найти мать, которая не смогла бы работать на частотах более 115200 (хотя допускаю что мне повезло). По крайней мере мне кажется что это самый простой вариант перед выбором других альтернатив.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|