Внешний параллельный ЦАП

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

SLKH пишет:

Ардуина не умеет считать "62, 63, 64, 65"

На выходе будет "62, 63, 0, 64, 65" или же "62, 63, 127, 64, 65". Вариант 0 или 127 - как напрограммируешь.

Можно этот момент осветить как-то поподробней?

Дело в том, что Ардуина всегда умеет считать "62, 63, 64, 65".

При некоторых условиях, правда, она не может считать "126, 127, 128, 129", в вместо этого считает "126, 127, -128, -127". Иногда вместо "254, 255, 256, 257" - "254, 255, 0, 1". Но это все зависит от программиста и такие проблемы имеют стандартные средства преодоления.

Но вот чтобы было что-то в районе 64, да еще и так, чтобы само число 64 при этом фигурировало, но не в свою очередь - с таким я не встречался.

SLKH
Offline
Зарегистрирован: 17.08.2015

stc-alex пишет:
SLKH ну наконец то... ты мне и объяснил про грабли.... я то откуда могу знать про невозможность счета 64,65.....

вообще-то я об этом сутки назад писал:

Цитата:
... входных защелок там (594па1) как раз нет. а ардуина не может одним разом поменять состояние 12 пинов, так что в моменты переключения неминуемо будет кратковременное неверное состояние на входах и помехи на выходе.

Цитата:
и т.д. понято.... значит пошел топить ТВЧ печь.... буду плавить старый корпус для ГКЧ да еще пару кусков дюраля добавлю да отолью заготовку, а из нее фрезерну корпус.... запхаю логику с 594-м ЦАП-ом... да может и уместил бы 564-ю серию, но там еще и цап с обвязкой.... а так бутер нано+цап+ обвязка - как раз влазила....
ну, а бутер "логика+цап+обвязка" точно не лезет? 3 плоских корпуса, 2 можно один на другой наклеить?

 

и фрезеровать корпус до сборки/отладки всех блоков я бы не стал... :-(

stc-alex
Offline
Зарегистрирован: 06.11.2016

так я обмеряю корпуса, добавляю объем для МГТФ .... их по два и и склеивал раньше, .... я давал ссылку на схемы Ч3-66 там на картинке 040 схема генератора пилы на 3-х реверсивных счетчиках +логика управления ими+цап+обвязка цапа... ну у меня эта плата (оригинал с частотомера выдранная) на столе лежит - работает - пила отменная на выходе.... все это скомпоновать в микрообъем очень тяжко... вот и подумал в сторону ардуины....

SLKH я не понял что речь о защелках - это равенство невозможности нормального счета.....

короче куда плясать то мне? логика или вам мозг выносить по поводу арду????

stc-alex
Offline
Зарегистрирован: 06.11.2016

что более применительно для моей задачи по вашему мнению.... ток как с логики вытянуть сервисные сигналы????

AlexeySh
Offline
Зарегистрирован: 16.01.2017

Намудрили вы с этим счетом. На самом деле проблема в следующем. Микроконтроллер 8-битный. Соответственно, если ЦАП 12 битный, то на него нужно подавать 12 бит. За один такт микроконтроллер может выдать только 8 бит. Начинаем считать: 0, 1, 254, 255. Следующая цифра 256 = 1 в девятом разряде + 00000000 в первых восьми. Фактически получим или сначала вообще 0, а затем 256. Или сначала 255 + 256 = 511, а затем 256. Подобная ситуация будет повторяться каждые 256 отсчетов. Т. е. или нужна возможность объединить два регистра в один и менять значение двух регистров одновременно (но по-моему AVR это делать не умеет), или ставить внешнюю обвязку.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

без логики похоже никак. слишком много пинов. и оптимальнее наверно 595 регистры на spi повесить на макс скорости 8мгц, чтобы еще что то могла делать ардуина. 595 нужен так как имеется разом включить на пинах нужное значение

ZIA
ZIA аватар
Offline
Зарегистрирован: 04.02.2017

Волшебник пишет:

wdrakula: Вы не поняли. До меня тоже не сразу дошло, не ЦАП ему нужен а програмно-аппаратный комплекс - Vector Network Analyzer.

Он, как я понял, уже спрашивал чтобы написали интерфейсную (драйвер) программу на аналог-девайсовский ФАПЧ, но желающих не оказалось. У меня самого руки чешутся написать, но без микросхемы и оборудования для проверки-измерений могу токо мечтать.

Название поста в заблуждение вводит, должно быть <Напишите программу по таким то требованиям - частота, стробы, коррекция нелинейности.>

И MCP4921 тут не поможет, кстати библиотека для MCP4921/2 свободно в интернете есть, сам пользуюсь. Потому что варикапы нелинейны от природы, там корень квадратный, и если кто и напишет прогу для цапа со стробами ( у библиотеки строба нету, не подойдёт), следующий вопрос будет ввести коррекцию полиномом 4-5-го порядка

Видимо да, если линейно можно тут посмотреть как с 16 битным экспериментируют, масштабирование вверх по выходному на двух операционниках

 

stc-alex
Offline
Зарегистрирован: 06.11.2016

ZIA - там 2-е ВВ55 и 1-а ВВ51 (послед. интерфейс)

stc-alex
Offline
Зарегистрирован: 06.11.2016

короче если взять 2-а корпуса 595 то они обслужат полностью ЦАП? при подачи тактовых импульсов, так? а как быть с сервисными сигналами мудрить на логической рассыпухе?

stc-alex
Offline
Зарегистрирован: 06.11.2016

а всякие Распбери, кубитраки бесполезны тут? просто есть и то и то в двойных экземплярах!!!

stc-alex
Offline
Зарегистрирован: 06.11.2016

Ребята извините что всех напрягаю, достаю со своими вопросами в праздник да и вообще....

AlexeySh
Offline
Зарегистрирован: 16.01.2017

stc-alex пишет:
а всякие Распбери, кубитраки бесполезны тут? просто есть и то и то в двойных экземплярах!!!

Распбери 32 или 64 битный, в зависимости от модели. Вполне подойдет. Вам и 16 битного хватит за глаза.

SLKH
Offline
Зарегистрирован: 17.08.2015

stc-alex пишет:
что более применительно для моей задачи по вашему мнению.... ток как с логики вытянуть сервисные сигналы????

да что там вытягивать? у нас 2 счетчика ие10, по спаду 12 разряда синхронизируется осциллограф. взять сигнал можно со счетчика или же со старшего разряда цап. не нравится спад - тогда по фронту 13 разряда (добавляется вывод).

а подача "1" от внешнего блока управления на входы С1С2 счетчиков останавливает счет, и эта же единичка  запускает частотомер. здесь можно добавить 1 корпус ла7 - тогда сигнал на частотомер будет подаваться с какой-то задержкой. или предусмотреть эту задержку во внешнем блоке, с которого эта "1" приходит. 

 

SLKH
Offline
Зарегистрирован: 17.08.2015

AlexeySh пишет:

Намудрили вы с этим счетом. На самом деле проблема в следующем. Микроконтроллер 8-битный. Соответственно, если ЦАП 12 битный, то на него нужно подавать 12 бит. За один такт микроконтроллер может выдать только 8 бит.

не может без возникновения некоторых неприятностей. в реале - словами по 6 бит.

stc-alex
Offline
Зарегистрирован: 06.11.2016

AlexeySh - а каким тоды образом все программно собирать на Распбери? там то уже оболочка идет... все на высокий уровень выходит (в смысле программирования)

а по поводу формирования сервисных сигналов в принципе понятно....

stc-alex
Offline
Зарегистрирован: 06.11.2016

SLKH пишет:

stc-alex пишет:
что более применительно для моей задачи по вашему мнению.... ток как с логики вытянуть сервисные сигналы????

да что там вытягивать? у нас 2 счетчика ие10, по спаду 12 разряда синхронизируется осциллограф. взять сигнал можно со счетчика или же со старшего разряда цап. не нравится спад - тогда по фронту 13 разряда (добавляется вывод).

а подача "1" от внешнего блока управления на входы С1С2 счетчиков останавливает счет, и эта же единичка  запускает частотомер. здесь можно добавить 1 корпус ла7 - тогда сигнал на частотомер будет подаваться с какой-то задержкой. или предусмотреть эту задержку во внешнем блоке, с которого эта "1" приходит. 

 

там не 2-а счетчика, а 3-и

SLKH
Offline
Зарегистрирован: 17.08.2015

stc-alex пишет:
короче если взять 2-а корпуса 595 то они обслужат полностью ЦАП? при подачи тактовых импульсов, так? а как быть с сервисными сигналами мудрить на логической рассыпухе?

а там нас ждуто грабли №2: время.

ибо 100 килогерц - это 10 микросекунд, для ардуины время не особо большое. 

а сделать нужно довольно много.

навскидку - вроде бы должна успеть. но нужно считать, а ещё лучше - написать функцию и прогнать её на железе.

================

(ардуино + 2 регистра + возня с программированием) или (ла7 + 2 счетчика) - в чем выгода от "высоких технологий"? 

=================

возвращаясь к "сервисным сигналам" - зачем их вытаскивать из этоо модуля? его дело считать до 4095,  останавливаться по входному сигналу и продолжать счет по его снятию. 

SLKH
Offline
Зарегистрирован: 17.08.2015

stc-alex пишет:

 

 там не 2-а счетчика, а 3-и

в двух корпусах ие10 - 4 счетчика.

AlexeySh
Offline
Зарегистрирован: 16.01.2017

На самом деле есть простое решение на одной микросхеме - использовать 16 бит преобразователь последовательного сигнала в параллельный. Микросхемку только подобрать нужно подходящую.

А на счет 6 бит - микроконтроллер может выдавать 8 бит одновременно. Другое дело, что Ардуиновская оболочка этому может мешать, так как использование регистров не оптимально в ней. Пишете код на C без Ардуиновской оболочки - и восемь бит за раз будет.

Вообще Ардуино - это для поиграться. Если вы хотите программу для рабочего устройства нужно писать на C или даже ассемблере.

stc-alex
Offline
Зарегистрирован: 06.11.2016

SLKH пардон перепутал с ИЕ8 кажись.... там да, два счетчика....

сигналы из этого модуля брать ток потому что все я точность (синхронизация, запуск частотомера и т.п.) должны быть жестко привязаны к пиле и соответственно к изменению частоты ГУН-а...

а то х.з. какие там финты могут быть в остальной цифровой части....

да понимаю что арду это игрушка, но блин, думал что пилу то она нарисует..... ну имеется в виду не 8-ибитную пилу а нормальную,с высоким разрешением....

выгоды от высоких технологий совсем не ищу.... просто хотел уменьшить кол-во рассыпухи и ччуть сэкономить габариты...

stc-alex
Offline
Зарегистрирован: 06.11.2016

ребята ST10F168 это из STM-ов контроллер или какой то обособленный? а то в ПДФ ток общее описание.... а у меня их на проц. модулях есть некое количество....

Волшебник
Offline
Зарегистрирован: 22.12.2016

ua6em пишет:

Для RTL вроде как диапазон частот от приёмника зависит, если E4000 то поуже вроде как, у вас точно на R820 приёмнике был??? При 8 битах конечно говорить о серьёзности девайса не приходится, игрушка, но кое-что принимает )))

На корпусе написано R820. Про 8-бит не догоняю, вам 14-бит АЦП на хх ГГц за 10$ захотелось?

stc-alex
Offline
Зарегистрирован: 06.11.2016

не правильно выразился - имел в виду пилу из 256-и отсчетов или 4096-и.....

про SDR писал - нет частотной избирательности.....

SLKH
Offline
Зарегистрирован: 17.08.2015

andriano пишет:

SLKH пишет:

Ардуина не умеет считать "62, 63, 64, 65"

На выходе будет "62, 63, 0, 64, 65" или же "62, 63, 127, 64, 65". Вариант 0 или 127 - как напрограммируешь.

Можно этот момент осветить как-то поподробней?

Дело в том, что Ардуина всегда умеет считать "62, 63, 64, 65".

При некоторых условиях, правда, она не может считать "126, 127, 128, 129", в вместо этого считает "126, 127, -128, -127". Иногда вместо "254, 255, 256, 257" - "254, 255, 0, 1". Но это все зависит от программиста и такие проблемы имеют стандартные средства преодоления.

Но вот чтобы было что-то в районе 64, да еще и так, чтобы само число 64 при этом фигурировало, но не в свою очередь - с таким я не встречался.

да посчитает она правильно, а вывести одним махом не сможет. 

предположим, старшие 4 разряда - PORTB, младшие 6 - PORTC.

63 DEC: 0000 111111

добавляем единичку и выводим DEC 64:

1. PORTB = 1;

2. PORTC = 0.

или же 

1. PORTC = 0.

2. PORTB = 1. 
 
То есть в момент времени 1. на выходах (и на входах цапа) будет "0001 111111" или "0000 000000", и только по второй команде - 64.
 
 
SLKH
Offline
Зарегистрирован: 17.08.2015

AlexeySh пишет:

А на счет 6 бит - микроконтроллер может выдавать 8 бит одновременно. Другое дело, что Ардуиновская оболочка этому может мешать, так как использование регистров не оптимально в ней. Пишете код на C без Ардуиновской оболочки - и восемь бит за раз будет.

Ну при чем тут оболочка? И где те 8 бит?

Задействовать 8 бит порта D - отказаться от внешних прерываний и от Rx/Tx на D0-D1.

А с портов B и С на вывод только по 6 бит задействовать можно.

Волшебник
Offline
Зарегистрирован: 22.12.2016

stc-alex пишет:
Волшебник пожалуйста поподробней о твоем девайсе!!! это мне и надо.... ток перетяну на др. диапазон.... или сменных блочков под куски диапазона наштампую, да буду перетыкать..... опиши с каких модулей ты собрал свой приборчик... и еще вопрос - там дисплей моно поболее прикорячить?

Девайс Si4432. Поддерживает ООК, то есть работает как задающий генератор. Плюсы - регулируемая мощность, ФАПЧ, диапазон 240 - 960 МГц, а выше через миксер придётся. Скорость установления ПЛЛ вам может не понравиться, с другой стороны требования вы не озвучили, 25Гц это на какой диапазон?

stc-alex
Offline
Зарегистрирован: 06.11.2016

25Гц это максимальная скорость сканирования....  короче частота пилы...  Почти все синтезаторы прекрасно успевают осуществлять изменение коэфф.деления.

stc-alex
Offline
Зарегистрирован: 06.11.2016

да,интересный девайс....  и использовать гетеродинный перенос частоты, то хоть до 12гГц.....   и давай не на вы.....   и так как все построено в твоей разработке???   гетеродины на ЖИГ-ах....  смесители есть прецизионные.... если тебе что то нужно для ВЧ разработок пиши, помогу...

Волшебник
Offline
Зарегистрирован: 22.12.2016

stc-alex пишет:

25Гц это максимальная скорость сканирования....  короче частота пилы...  Почти все синтезаторы прекрасно успевают осуществлять изменение коэфф.деления.

25 Гц от скольки до скольки? Скорость изменения задающей частоты в Гц / секунду? 

stc-alex
Offline
Зарегистрирован: 06.11.2016

именно!  и то слишком быстро....    прикинул на бумажке 12Гц хватает...

Волшебник
Offline
Зарегистрирован: 22.12.2016

stc-alex пишет:

25Гц это максимальная скорость сканирования....  короче частота пилы...  Почти все синтезаторы прекрасно успевают осуществлять изменение коэфф.деления.

Я не знаю чего они там успевают, но есть такой параметр 

Synthesizer Settling Time 2 t LOCK Measured from leaving Ready mode with
XOSC running to any frequency includ-
ing VCO Calibration — 200 TBD μs
 
Т.е. для Си4432 скорость переключения ПЛЛ не может превышать 5 кГц. И если шаг перестройки 100Гц (точно не помню, но я ставил моду интежер для делители - как раз чтобы шума фазового избежать, не фракшионал ), так вот если в секунду, то перестройка максимум на 500 кГц. 433.992 - 434.492  Очень узкий диапазон, если надо 240-960 пробежать, то скакать придётся через МГц прыжками, а это определяется полосой захвата ресивера.   
stc-alex
Offline
Зарегистрирован: 06.11.2016

ST10F168 это STM или нет?  посмотрите pdf...

stc-alex
Offline
Зарегистрирован: 06.11.2016

так вот тебе и регулировка полосы!!!   меньше частота сканирования - уже полоса - больше знач от минимума  до максимума сканит....

 

Правильно понял я?

 

скакать можно через 1 - 10 - 100 мгц....   т.е. увидел сигнал, стал на него в 100-х мег,  потом перешел на 10-ки, в полосе 10-к выбрал нужный участок, перешел на 1-ци мег.... и смотри на дисплее что там в ентом сигнале за составляющие....

AlexeySh
Offline
Зарегистрирован: 16.01.2017

SLKH пишет:

AlexeySh пишет:

А на счет 6 бит - микроконтроллер может выдавать 8 бит одновременно. Другое дело, что Ардуиновская оболочка этому может мешать, так как использование регистров не оптимально в ней. Пишете код на C без Ардуиновской оболочки - и восемь бит за раз будет.

Ну при чем тут оболочка? И где те 8 бит?

Задействовать 8 бит порта D - отказаться от внешних прерываний и от Rx/Tx на D0-D1.

А с портов B и С на вывод только по 6 бит задействовать можно.

Из вашего поста видно, что на низком уровне вы с микроконтроллерами не дружите. На самом деле с порта B можно снимать 8 бит если переключить микроконтроллер на тактирование от встроенного генератора. А с порта C можно снимать 7 бит если отключить внешний Reset. Для восьмого просто вообще ножки микроконтроллера не хватило. Далее, внешние прерывания можно обрабатывать почти со всех выводов микроконтроллера. Rx/Tx - тут не спорю. Если конечно он нужен ТС.

stc-alex
Offline
Зарегистрирован: 06.11.2016

да не ломайте голову ребята....   на логике соберу или Волшебника подостаю с его девайсом....

Волшебник
Offline
Зарегистрирован: 22.12.2016

stc-alex пишет:

так вот тебе и регулировка полосы!!!   меньше частота сканирования - уже полоса - больше знач от минимума  до максимума сканит....

Правильно понял я?

скакать можно через 1 - 10 - 100 мгц....   т.е. увидел сигнал, стал на него в 100-х мег,  потом перешел на 10-ки, в полосе 10-к выбрал нужный участок, перешел на 1-ци мег.... и смотри на дисплее что там в ентом сигнале за составляющие....

Уже достали .

Пьяный написал или у меня предел нулевой терпимости исчерпался? Кто-нить понимает что тут написано?

Где Клапуций, руским матом не переведёт? Или мне самому на хуях выражаться?

SLKH
Offline
Зарегистрирован: 17.08.2015

AlexeySh]</p> <p>[quote=SLKH]</p> <p>[quote=AlexeySh пишет:

 

Из вашего поста видно, что на низком уровне вы с микроконтроллерами не дружите. На самом деле с порта B можно снимать 8 бит если переключить микроконтроллер на тактирование от встроенного генератора.

Топикстартеру для полного счастья осталось только с фъюзами побаловаться. А потом спросить здесь: "а что делать дальше?"

Цитата:
Rx/Tx - тут не спорю. Если конечно он нужен ТС.

ну, для отладки-то нужен.

А главное - какой смысл выжимать 8 бит, если нам нужно 12? не всё ли равно, вычислять 6/6 или 8 /4?

stc-alex
Offline
Зарегистрирован: 06.11.2016

Волшебник пишет:

stc-alex пишет:

так вот тебе и регулировка полосы!!!   меньше частота сканирования - уже полоса - больше знач от минимума  до максимума сканит....

Правильно понял я?

скакать можно через 1 - 10 - 100 мгц....   т.е. увидел сигнал, стал на него в 100-х мег,  потом перешел на 10-ки, в полосе 10-к выбрал нужный участок, перешел на 1-ци мег.... и смотри на дисплее что там в ентом сигнале за составляющие....

Уже достали .

Пьяный написал или у меня предел нулевой терпимости исчерпался? Кто-нить понимает что тут написано?

Где Клапуций, руским матом не переведёт? Или мне самому на хуях выражаться?

 

да что ж тут непонятного????   ну вспомните принцип спектроанализатора - сначала смотришь по всему диапазону, потом залазишь на интересующий тебя кусок диапазона и вылавливаешь тот сигнал что тебя интересует.....   гребанный аналоговый Х1-50 с этим справляется, а микроконтроллеры в тупик становятся........   А Клопа можно и не упоминать ,а то это хохлятское гумно вонять и тут начнет...

Волшебник
Offline
Зарегистрирован: 22.12.2016

Клапуций самый адекватный.

Я три раза спросил в 126-м 129-м и 131-м посте, 25 Гц скорость перестройки на какой ШИРИНЕ ? УКВ? ТВ? ДМВ? От 0 до 12 ГГц? Она меряется в Гц на секунду. Идиотизм сплошной. 

 

SLKH
Offline
Зарегистрирован: 17.08.2015

stc-alex пишет:
сигналы из этого модуля брать ток потому что все я точность (синхронизация, запуск частотомера и т.п.) должны быть жестко привязаны к пиле и соответственно к изменению частоты ГУН-а...

"у меня все ходы записаны": 

Цитата:
просто нужны еще и сервисные 2-е функции - выдавать синхр на осцил в начале хода..
спад старшего разряда цапа - т.е. "0" пилы. 

Цитата:
по приходу импульса на один вход, останавливать на опред. время перебор последовательности и при этом выдавать импульс строба на частотомер....
так все-таки - по приходу? кто/откуда/почему принимает решение " остановить счетчик, подождать (сколько?) , измерить частоту в течеие Т msec, продолжить счет"

 

AlexeySh
Offline
Зарегистрирован: 16.01.2017

SLKH пишет:

А главное - какой смысл выжимать 8 бит, если нам нужно 12? не всё ли равно, вычислять 6/6 или 8 /4?

Мне почему-то кажется что ТС будет проще 4/8. Взял 16-битную переменную, в цикле её на 1 увеличиваешь и из неё напрямую в два регистра пишешь. Не забывая на верхние 4 бита битовую маску наложить, чтобы лишние биты не испортить. Простенько и со вкусом. Да и вычислять на самом деле быстрее 4/8, чем 6/6.

stc-alex
Offline
Зарегистрирован: 06.11.2016

Волшебник пишет:

Клапуций самый адекватный.

Я три раза спросил в 126-м 129-м и 131-м посте, 25 Гц скорость перестройки на какой ШИРИНЕ ? УКВ? ТВ? ДМВ? От 0 до 12 ГГц? Она меряется в Гц на секунду. Идиотизм сплошной. 

 

не понял вопроса... при ШП 100мГц - 3.5гГц

SLKH
Offline
Зарегистрирован: 17.08.2015

AlexeySh пишет:

Мне почему-то кажется что ТС будет проще 4/8.

Это вряд ли.

 

Цитата:

- Что читаешь? 
- Квантовую механику. 
- А чего книга вверх ногами? 
- Да какая разница...

Волшебник
Offline
Зарегистрирован: 22.12.2016

AlexeySh пишет:

Из вашего поста видно, что на низком уровне вы с микроконтроллерами не дружите. На самом деле с порта B можно снимать 8 бит если переключить микроконтроллер на тактирование от встроенного генератора.

Просветите тёмного, на какой ардуине порт Б выведен кроме Д8-Д13? Какие 8-бит?

stc-alex
Offline
Зарегистрирован: 06.11.2016

может не тот Клоп...   а тут есть одно му-ло.... неадекват...

 

от пилы ГУН-а  синхронизируется показометр (типа аналоговой линии развертки осцила....) ,  если 12-ть  разрядов это макс 4096 , то на 4090 останавливается счет и на время последних 6-и отсчетов  устанавливается уровень 1/2 размаха пилы т.е. соответствующая коду 2045...  в течении времени 6-и отсчетов подается строб на частотомер, и производится отсчет частоты... далее начало отсчета и по кругу.... ступенька в конце это как имп. гашения О.Х. развертки в аналоговой схеме...   а так как меряем частоту по центральному маркеру, то и строб должен идти при выставленном половинном напряжении на вых ЦАП-а...  мы ж не можем остановить пилу в нарастающей ветви - на шкале будет бардак....

да и при измерении частоты заткнуть выход прибора на -60дб....

 

ща не могу найти все расчеты какая длит пилы будет при 12Гц, и какая длит. плоского участка из 6-и отсчетов....

Волшебник
Offline
Зарегистрирован: 22.12.2016

stc-alex пишет:

Волшебник пишет:

Клапуций самый адекватный.

Я три раза спросил в 126-м 129-м и 131-м посте, 25 Гц скорость перестройки на какой ШИРИНЕ ? УКВ? ТВ? ДМВ? От 0 до 12 ГГц? Она меряется в Гц на секунду. Идиотизм сплошной. 

 

не понял вопроса... при ШП 100мГц - 3.5гГц

Мне, как врождённому хохлу, похоже не удастся сформулировать.  У нас тут неграм говорят "language barrier", т.е. языковый барьер. В переводе с полит-корректного на нормальный, "чёрножопая макака не парься, всё равно не поймёшь, мозгофф у тебе нема." Без обид, не принимайте на свой счёт. Пойду как я кетапина жахну, а то нервы ни к чёрту

SLKH
Offline
Зарегистрирован: 17.08.2015

Волшебник пишет:

AlexeySh пишет:

Из вашего поста видно, что на низком уровне вы с микроконтроллерами не дружите. На самом деле с порта B можно снимать 8 бит если переключить микроконтроллер на тактирование от встроенного генератора.

Просветите тёмного, на какой ардуине порт Б выведен кроме Д8-Д13? Какие 8-бит?

ни на какой не выведен.

ZIA
ZIA аватар
Offline
Зарегистрирован: 04.02.2017

AlexeySh пишет:

На самом деле есть простое решение на одной микросхеме - использовать 16 бит преобразователь последовательного сигнала в параллельный. Микросхемку только подобрать нужно подходящую.

А на счет 6 бит - микроконтроллер может выдавать 8 бит одновременно. Другое дело, что Ардуиновская оболочка этому может мешать, так как использование регистров не оптимально в ней. Пишете код на C без Ардуиновской оболочки - и восемь бит за раз будет.

Вообще Ардуино - это для поиграться. Если вы хотите программу для рабочего устройства нужно писать на C или даже ассемблере.

И через ассемблерные вставки в ардуино не даст работать 8 битами? Странно это как-то

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

SLKH пишет:

да посчитает она правильно, а вывести одним махом не сможет. 

Спасибо, я уже понял из обсуждения, что Вы, написав "Ардуина не может", на самом деле имели в виду не возможности и умения Ардуины, а то, как внешняя схема аппаратно воспримет состояние ее выводов.

 

PS. Мне воообще-то кажется, что если уж непременно с AVR 328 и в параллельном коде, то нужно подбирать такой DAC, который может читать данные побайтно - с внутренней защелкой, и не нужно на него подавать все 12 бит, достаточно 2 раза по 8. Правда, максимальная частота у такого устройства будет менее килогерца. Впрочем, учитывая, что инкрементировать 16-разрядное число, вывести егов 2 порта и организовать цикл - все равно меньше 6-8 тактов не получится, килогерц на AVR при коэффициенте деления 4096 недостижим ни так, ни так.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

stc-alex пишет:

25Гц это максимальная скорость сканирования....  короче частота пилы...  Почти все синтезаторы прекрасно успевают осуществлять изменение коэфф.деления.

25Гц * 4096 отсчетов - это 102.4 кГц, т.е. 156 тактов процессора на отсчет. Этого вполне достаточно, чтобы вывести по SPI, откуда возникла мысль о параллельном DAC?