Вверх ↑
Этот топик читают: Гость
Ответов: 91
Рейтинг: 1
#136: 2012-12-23 18:27:38 ЛС | профиль | цитата
Задолбался я синус по UDP гонять. Не успевает хиасм за 3 миллисекунды сформировать кадр и отправить.
В итоге отказался я от этой затеи формировать передачу программно. Пусть будет аппаратно.
Построил схему расчета коеффициента установки частоты и разбития его на байты. Работает, но частота на около 200кГц
ниже чем установленная. Не могу сообразить почему.
code_29861.txt
карма: 1

0
файлы: 1code_29861.txt [2.2KB] [132]
Ответов: 16884
Рейтинг: 1239
#137: 2012-12-23 19:24:28 ЛС | профиль | цитата
А что там соображать. В мануале написано
07 AA AA AB means 3679.995kHz RX frequency
Если сделать "обратный пересчет", то оказывается, что 07AAAAAB это 3500000 Гц
Точно не считал.
Вроде просто ошибка в мануале.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 91
Рейтинг: 1
#138: 2012-12-23 20:24:27 ЛС | профиль | цитата
Скорее всего ошибка.
Но формула расчёта верная?. Так почему у меня неточно получается.
карма: 1

0
Ответов: 8930
Рейтинг: 823
#139: 2012-12-23 20:32:34 ЛС | профиль | цитата
rolin писал(а):
Не успевает хиасм за 3 миллисекунды
Так можно в IC -- запросто успеет, да ещё и на перекурить останется
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#140: 2012-12-23 20:43:09 ЛС | профиль | цитата
Леонид писал(а):
Так можно в IC -- запросто успеет
rolin писал(а):
Не успевает хиасм за 3 миллисекунды
А почему не успевает?
Ты побайтно формируешь строку, допустим за 1 сек.
Потом эта строка побайтно передается. Допустим ещё 1 сек. Всего 2 сек. Исключи формирование строки. Передавай сразу и всё отработает за 1 сек.
А если ещё и, как предложил Леонид, использовать IC, то думаю проблем не будет.

P.S. rolin, okrx_tx.rar смотрел ?
И где найти мануал на команды.
"St" это общая установка.
А если нужно изменить только частоту настройки, или переключить антенну.?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 91
Рейтинг: 1
#141: 2012-12-23 21:47:38 ЛС | профиль | цитата
Tad писал(а):
А почему не успевает?
Ты побайтно формируешь строку, допустим за 1 сек.
Исключи формирование строки.

Так я и хотел записать готовую строку что-бы её одним махом и передавать.НО не получается сохранить в файле строку из 1440 char.И как массив
integer тоже не получается - пустой файл и хоть ты убейся.
А если посимвольно формировать строку то 4-5миллисекунд как минимум занимает времени, а надо 3 максимум.
Но это уже в прошлом. Я уже запустил с горем пополам в режиме АЧХ метр, только оно хрень какую-то рисует.
В смысле такой АЧХ не может быть.
Tad писал(а):
P.S. rolin, okrx_tx.rar смотрел ?
И где найти мануал на команды.
"St" это общая установка.
А если нужно изменить только частоту настройки, или переключить антенну.?

Смотрел, но мне там мало что понятно. И непонятно зачем это, вы что, собрались полноценный приёмник забацать?
Мануал все тот=же, другого нет.
Обьясняю, в примере внизу описано только 14 байт управления,это действительно для прошивки 1.0
Если поставить последний байт (13) >0, то становятся доступными ещё 8 ,байт, среди которых управление антенной, аттенюатором, преселектором и прочая.
Для того чтобы изменить какой нибудь параметр, нужно изменить ответственный за него байт и отослать весь кадр управления заново.
Например, я сейчас изменяю частоту передачи не выключая передатчика и все работает.
Описания дополнительных байтов управления в пунктах мануала с 3.8 по 3.11
карма: 1

0
Ответов: 8930
Рейтинг: 823
#142: 2012-12-23 22:52:45 ЛС | профиль | цитата
rolin писал(а):
НО не получается сохранить в файле строку из 1440 char
"Такого не может быть, потому что такого быть не может!"
code_29864.txt
------------ Дoбавленo в 22.52:
Хотя если среди символов встретятся управляющие, 10 и 13 например, или 9, в строке могут и чудеса случаться
карма: 19

0
файлы: 1code_29864.txt [2.5KB] [144]
Ответов: 91
Рейтинг: 1
#143: 2012-12-23 23:12:40 ЛС | профиль | цитата
Ну так у меня все символы <30, а они почти все в файл не пишутся, еще раз проверил.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#144: 2012-12-24 00:43:26 ЛС | профиль | цитата
rolin писал(а):
Для того чтобы изменить какой нибудь параметр, нужно изменить ответственный за него байт и отослать весь кадр управления заново.
Да нет милый.
Беглый просмотр одного из файлов исходника(а там их аж 74 в версии 1.3)
выдал такие идентификаторы строк управления:
"St" - первичная установка.
"rr", "ss" участвуют в приеме и передаче семплов.
"Qs" - чтение установок.
больше искать нет времени (работы привалило).
------------ Дoбавленo в 00.40:
Вот так должно успевать

Add(MainForm,2953706,105,126)
{
Width=440
Height=106
}
Add(UDP,16327669,273,168)
{
LocalPort=48249
RemotePort=48249
LocalIP="192.168.2.195"
RemoteIP="192.168.2.196"
AutoConnect=0
Point(onError)
}
Add(Button,3893954,105,175)
{
Left=20
Top=25
Width=45
Caption="TX ON"
Data=String(rr)
link(onClick,12333288:doStart,[])
}
Add(Thread,12333288,175,175)
{
Delay=4
link(onExec,16190342:doWork1,[])
}
Add(Button,11118988,105,217)
{
Left=70
Top=25
Width=45
Caption="TX OF"
Data=String(rr)
link(onClick,12333288:doStop,[(156,223)(156,188)])
}
Add(MultiElement,16190342,224,175)
{
link(onEvent1,16327669:doSend,[])
}
BEGIN_SDK
Add(EditMulti,5766742,28,21)
{
EventCount=1
WorkCount=1
Width=489
Height=305
link(doWork1,6130791:doEvent1,[(37,27)(37,83)])
}
Add(Memory,13775123,196,112)
{
@Hint=#12:содержит N-1|
Default=Integer(0)
link(onData,8683577:doWork2,[])
}
Add(Memory,7191767,196,154)
{
@Hint=#12:содержит N-1|
Default=Integer(1)
link(onData,6393661:doEvent1,[])
}
Add(PointHint,7638545,266,35)
{
Info=#2:00|
Width=36
Height=18
}
Add(Memory,3384361,196,196)
{
@Hint=#12:содержит N-1|
Default=Integer(15)
link(onData,6393661:doEvent2,[(261,202)(261,167)])
}
Add(PointHint,10084964,231,168)
{
Info=#1:I|
Width=36
Height=18
}
Add(Memory,3160160,196,238)
{
@Hint=#12:содержит N-1|
Default=Integer(1)
link(onData,6393661:doEvent3,[(271,244)(271,174)])
}
Add(Memory,10014829,196,280)
{
@Hint=#12:содержит N-1|
Default=Integer(1)
link(onData,6393661:doEvent4,[(281,286)(281,181)])
}
Add(PointHint,14347106,231,252)
{
Info=#1:Q|
Width=36
Height=18
}
Add(Memory,12447664,196,70)
{
@Hint=#12:содержит N-1|
Default=Integer(0)
link(onData,8683577:doWork1,[(340,76)])
}
Add(For,16746700,91,161)
{
End=299
Point(onBreak)
link(onEvent,12349439:doEvent1,[])
}
Add(Convertor,14444600,350,154)
{
Mode=4
link(onResult,5766742:onEvent1,[(391,160)(391,27)])
}
Add(Hub,6130791,49,77)
{
OutCount=4
link(onEvent1,12447664:doClear,[])
link(onEvent2,13775123:doClear,[(129,90)(129,125)])
link(onEvent3,16746700:doFor,[(77,97)(77,167)])
}
Add(Hub,6393661,294,154)
{
InCount=6
OutCount=1
link(onEvent1,13439609:doWork2,[])
}
Add(PointHint,6675152,126,35)
{
Info=#22:302 слова одним кадром|
Width=134
Height=24
}
Add(Hub,12349439,147,161)
{
OutCount=4
link(onEvent1,7191767:doClear,[])
link(onEvent2,3384361:doClear,[(185,174)(185,209)])
link(onEvent3,3160160:doClear,[(179,181)(179,251)])
link(onEvent4,10014829:doClear,[(172,188)(172,293)])
}
Add(HubEx,13439609,336,154)
{
link(onEvent,14444600:doConvert,[])
}
Add(HubEx,8683577,336,112)
{
Angle=1
link(onEvent,13439609:doWork1,[])
}
END_SDK


------------ Дoбавленo в 00.43:
Да, введи Qs (Hex 7351) должен получить строку установок. Заодно и проверишь формулу частоты.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8930
Рейтинг: 823
#145: 2012-12-24 00:55:49 ЛС | профиль | цитата
rolin, Жду, не дождусь, окончательно кричать: "Ура-а! Заработало!"
Если в строках не получится, можно по-байтно делать этот блок:
code_29872.txt
карма: 19

0
файлы: 1code_29872.txt [3.5KB] [148]
Ответов: 16884
Рейтинг: 1239
#146: 2012-12-24 01:18:52 ЛС | профиль | цитата
Леонид, [flood]спит уже... а у нас 23:18[/flood]
------------ Дoбавленo в 01.18:

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 91
Рейтинг: 1
#147: 2012-12-24 07:58:04 ЛС | профиль | цитата
Tad писал(а):
"St" - первичная установка.
"rr", "ss" участвуют в приеме и передаче семплов.

Все правильно, St - идентификатор кадра управления
rr - старт выдачи кадров приемных сэмплов,ss - стоп выдачи. Передается в приемный UDP порт. Я так и получаю один кадр на обработку
дал старт, получил кадр, дал стоп.
Qs - а вот этого в мануале нет. Но я подозревал о его существовании, ведь родная программа узнает каким-то образом версию прошивки.
карма: 1

0
Ответов: 8930
Рейтинг: 823
#148: 2012-12-24 08:56:37 ЛС | профиль | цитата
rolin писал(а):
Задолбался я синус по UDP гонять.
Что-то я упустил: это вместо ключа для CW надо звук подавать
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#149: 2012-12-24 10:53:08 ЛС | профиль | цитата
Леонид писал(а):
Что-то я упустил
И я видно тоже.
rolin писал(а):
"родная программа"
А "родная" - это какая ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 91
Рейтинг: 1
#150: 2012-12-24 21:54:53 ЛС | профиль | цитата
Леонид писал(а):
Что-то я упустил: это вместо ключа для CW надо звук подавать

А что туда подавать как не звук,вернее синус? С точки зрения радиотехники вся эта железяка всего лишь смеситель с фазовым подавлением зеркального канала.
Можно и просто постоянное смещение уровня подать, типа разбалансировать смеситель, тоже работает, на выходе есть сигнал.
Но прикол в том, что создатель железа не предусмотрел намеренно режим ключевания програмно. В режиме CW ключ подключается прямо к железу.
В результате - мизерная задержка после нажатия, по этому параметру аппарат превосходит FT2000.
Tad,
Железо и софт к нему разработал N2ADR, программа называется Quisk.
Tad писал(а):
Беглый просмотр одного из файлов исходника(а там их аж 74 в версии 1.3)

Так какие исходники вы смотрите? FPGA что ли? И чего 74, файлов или строк управления ?
карма: 1

0
150
Сообщение
...
Прикрепленные файлы
(файлы не залиты)