Перейти к содержанию
    

АЦП 16-24 бит - UART

подскажите пожалуйста микруху преобразующую аналоговый сигнал до 5 вольт в 16-24 бит информации и отсылающий в уарт...

а если есть I^2C то такой вопрос - можно ли по 1 каналу ай2ц принимать инфу от нескольких разных источников?

заранее спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обычно АЦП подключаются по каналу SPI, который есть практически у всех контроллеров или легко реализуется программно. Если есть возможность управлять сигналами CS, то можно на один канал SPI повесить несколько АЦП.

 

Другой вариант - контроллеры от силабс, некоторые имеют встроенное АЦП до 24 бит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а можно поподробнее про сигналы CS

Сигналом CS (Chip Select, обычно инверсный) выбирается активная м/сх на линии. Она анализирует входящие команды и отвечает по линии DOUT. У остальных абонентов на линии DOUT должен быть в Z-состояниии.

Вот, например, даташит на AD7705. Для примера.

ad7705_6_a.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

то есть у каждой микросхемы есть какой то индивидуальный номер чтоли и если увидев на линии его она отвечает?

а как узнать этот номер или информацию?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

то есть у каждой микросхемы есть какой то индивидуальный номер

 

Нет, индивидуального номера у микросхемы нет, "хост" должен сам выдавать cs тому устройству, с кем хочет пообщаться.

В случае независимой от хоста циклической работы, АЦП выдает сигнал об окончании преобразовании (валидности данных) data ready.

Почитайте еще датащит на AD7714

AD7714_c.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это на SPI нет, а на I2C у каждой микросхемы - свой адрес. На некоторых его можно изменять (подключение ножек или уровень напряжения на них - несколько вариантов адреса), на некоторых адрес фиксирован (редко).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

подскажите пожалуйста микруху преобразующую аналоговый сигнал до 5 вольт в 16-24 бит информации и отсылающий в уарт...

Посмотрите в сторону AD у них есть МК на базе 51 ядра со встроенными 16-24 битными сигма-дельта ADC и с другой переферией, UART в том числе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное все таки правильнее будет отталкиваться от требуемых параметров АЦП, (которых не озвучили, хотя по разрешению можно косменно судить). И уже определившись с ними, смотреть, есть ли контроллеры со встроенными АЦП с такими параметрами. Если есть, с ним и разбираться, а если нет (а так как правило и случается), то выбирать нужное АЦП и любой доступный (лучше освоенный) контроллер. На нем реализовать опрос АЦП и UART.

p.s. АЦП и интерфейсом UART не встречал, да и при разрешении 16-24 бит наверное еще и протокол городить придется.

По одному каналу I2C можно работать с несколькими абонентами, только нужно чтоб они имели разные шинные адреса. В некоторых микросхемах они зашиты в микросхему и не меняются, а в некоторых можно менять подтянув адресные ножки к земле или питанию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

понятно, спасибо ...

но все таки новые контроллеры для решения задачи изучать не буду... больно это трудоемко ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

из прочтения дш на мегу8 понял:

1) главный отвечает переферийному по MOSI

2) по MISO отвечает переферийный главному

3) SPI Clock Generator включается когда происходит передача ...

из прочтения дш на AD7714 понял

1) то чтоб сделать микросхему выбранной(чтоб она потом ответила) нада к ее ноге CS присобачить ногу му и если на ней будет 5 вольт то микросхема будет активной ... и затем ответит по MISO (информация придет к ноге мастера MISO)

теперь вопросы:

1) вот мы допустим записали значение регистра микрухи на примере AD7714

когда она его прочитает и отошлет мк то что нужно

2) как регулируется частота мк SCK - ноги, или частоту регулировать не нужно!? а если нужно то как каждая частота к определенному типу микрух ( частота будет указана в ДШ?)

 

и еще - сколько метров 5-6 провода потянет SPI чтоб передавать данные?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нада к ее ноге CS присобачить ногу му и если на ней будет 5 вольт то микросхема будет активной

 

Наоборот. /CS активный уровень - низкий

 

 

2) как регулируется частота мк SCK - ноги, или частоту регулировать не нужно!? а если нужно то как каждая частота к определенному типу микрух ( частота будет указана в ДШ?)

 

Такого сигнала у 7714 нету, есть SCLK этот сигнал приходит извне (с контроллера) и защелкивает данные, приходящие в 7714 извне, сейчас не помню, фронтом или спадом. Также SCLK подается при считывании данных из 7714.

 

Времена (пределы) SCLK описаны в датащите

 

Вот, если поможет, пример на каком-то из Basic для LPT инициализации и работы с 7714

 

 

DO UNTIL LCASE$(w$) = "x"
CLS : SCREEN 11
DIM id(64), Od(167), cr(24), d(641)
d(0) = 280
'offs=0
n = 888:  g = 4000
RESTORE
DATA 3,2,3, 3,2,3, 1,0,1, 3,2,3, 3,2,3, 1,0,1, 1,0,1, 1,0,1
'CR to FH'
DATA 3,2,3, 1,0,1, 1,0,1, 3,2,3, 3,2,3, 3,2,3, 3,2,3, 3,2,3
'FH'
DATA 3,2,3, 3,2,3, 1,0,1, 1,0,1, 3,2,3, 1,0,1, 1,0,1, 1,0,1
'CR to FL'
DATA 3,2,3, 1,0,1, 1,0,1, 3,2,3, 3,2,3, 3,2,3, 1,0,1, 3,2,3
'FL'
DATA 3,2,3, 3,2,3, 3,2,3, 1,0,1, 3,2,3, 1,0,1, 1,0,1, 1,0,1
'CR to MR'
DATA 3,2,3, 3,2,3, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 3,2,3, 3,2,3
'MR- self calibr'
DATA 3,2,3, 1,0,1, 3,2,3, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 3,2,3
'CR to DR read'

OUT n, 0: OUT n + 2, 11
FOR i = 0 TO 143
READ d
Od(i) = d
OUT n + 2, d
NEXT i
OUT n + 2, 3

FOR i = 0 TO 23
READ d
Od(i + 144) = d
cr(i) = d
NEXT i

CLS : SCREEN 12
da0$ = DATE$: ti0$ = TIME$
LOCATE 28, 2: PRINT "ECG Complex Analizer v.1.0 by Tuseev&Zinovjev (R), 2004"
LOCATE 1, 2: PRINT "PRESS 'Shift'+'B' to break analize"
LINE (1, 410)-(640, 410), 13
LINE (640, 401)-(1, 401), 12
LINE (1, 99)-(640, 99), 12
FOR i = 0 TO 640 STEP 20
LINE (i, 405)-(i, 415), 13
NEXT i
l = 1

TM$=TIME$
TT$=""
FOR I = 1 TO len(TM$)
    SSS$=MID$(TM$,I,1)
    IF SSS$<>":" THEN TT$=TT$+SSS$ ELSE TT$=TT$+"_"
NEXT I

DIRTST$="TEST"
'FILES DIRTST$
'IF THEN MKDIR (DIRTST$)
SSS$ = ".\"+DIRTST$+"\"+TT$

OPEN (SSS$) for output as #1
   PRINT #1,DATE$;" ";TT$

DO UNTIL UCASE$(INKEY$) = "B"

DO UNTIL INP(n + 1) = 135
LOOP

FOR i = 0 TO 23
OUT n + 2, cr(i)
NEXT i

r& = 0

FOR i = 23 TO 0 STEP -1
OUT n + 2, 2
OUT n + 2, 3
tmp = INP(n + 1)
IF tmp = 7 THEN
id(i) = 1
ELSEIF tmp = 135 THEN
id(i) = 0
ELSEIF tmp = 23 THEN
id(i) = 1
END IF
r& = r& + id(i) * 2 ^ i
NEXT i

    PRINT #1,r& '10 ¬Ё«ЁбҐЄ

IF l = 641 THEN l = 1: ffs = offs / 640
y = INT(r& / g - INT(ffs) + 280)
IF l = 1 THEN offs = 0
LINE (l, 100)-(l, 400), 3
LINE (l, 100)-(l, 400), 0

IF y <= 100 THEN
y = 100
ELSEIF y >= 400 THEN
y = 400
ELSE
'PSET (l, y), 15
END IF

'yy = (d(l - 1) + d(l) + d(l + 1)) / 3

d(l) = y
LINE (l, y)-(l - 1, d(l - 1)), 15

'PSET (l, yy), 15

l = l + 1


LOCATE 3, 50: PRINT "Date: "; DATE$
LOCATE 4, 50: PRINT "Time: "; TIME$
LOCATE 5, 50: PRINT "GAIN: "; 1 / g
LOCATE 3, 31: PRINT "Level ADC: "; INT(r& / g)
LOCATE 4, 31: PRINT "Position:  "; INT(y)
LOCATE 5, 31: PRINT "DC offset: "; INT(ffs)
offs = (offs + r& / g)

LOOP

   CLOSE #1

LOCATE 23, 5: INPUT "Press any key and 'ENTER' to continue or 'X' and 'ENTER' to EXIT: ", w$

LOOP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а если микруха не выбрана то тоже низкий но в высокоомном состоянии? (с подтягивающим резистором)?

что значит защелкивать данные?

к сожалению не поможет - ассемблера не знаю...

но за ответ спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда не выбираем 7714 - держим у неё единичку на /cs

 

Защелкиваются данные в последовательный регистр. Термин общеупотребим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а ногу SCLK мы держим на ней 1 чтоб получить доступ к данным АЦП так?

а MCLK_In это для соединения с SCk ?

объясните что делает ножки Buffer и POL?

по DOUT ацп отвечает мк а по DIN он принимает данные?

как изменить какойто регистр в ацп чета не нашел - расскажите плс...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...