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

 
 
> АЦП 16-24 бит - UART, подскажите микруху пожалуйста
_Ivan_33
сообщение Oct 5 2008, 07:41
Сообщение #1


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



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


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 14)
MrYuran
сообщение Oct 5 2008, 07:54
Сообщение #2


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



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

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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Oct 5 2008, 08:17
Сообщение #3


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



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


--------------------
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 5 2008, 09:12
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(_Ivan_33 @ Oct 5 2008, 12:17) *
а можно поподробнее про сигналы CS

Сигналом CS (Chip Select, обычно инверсный) выбирается активная м/сх на линии. Она анализирует входящие команды и отвечает по линии DOUT. У остальных абонентов на линии DOUT должен быть в Z-состояниии.
Вот, например, даташит на AD7705. Для примера.
Прикрепленный файл  ad7705_6_a.pdf ( 264.12 килобайт ) Кол-во скачиваний: 263


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Oct 5 2008, 09:41
Сообщение #5


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



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


--------------------
Go to the top of the page
 
+Quote Post
Максим Зиновьев
сообщение Oct 5 2008, 10:40
Сообщение #6


Техногипнолог
*****

Группа: Свой
Сообщений: 1 132
Регистрация: 6-03-05
Из: Saratov
Пользователь №: 3 126



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


Нет, индивидуального номера у микросхемы нет, "хост" должен сам выдавать cs тому устройству, с кем хочет пообщаться.
В случае независимой от хоста циклической работы, АЦП выдает сигнал об окончании преобразовании (валидности данных) data ready.
Почитайте еще датащит на AD7714
Прикрепленные файлы
Прикрепленный файл  AD7714_c.pdf ( 306.7 килобайт ) Кол-во скачиваний: 41
 
Go to the top of the page
 
+Quote Post
rudy_b
сообщение Oct 5 2008, 18:33
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Это на SPI нет, а на I2C у каждой микросхемы - свой адрес. На некоторых его можно изменять (подключение ножек или уровень напряжения на них - несколько вариантов адреса), на некоторых адрес фиксирован (редко).
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Oct 6 2008, 11:02
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(_Ivan_33 @ Oct 5 2008, 11:41) *
подскажите пожалуйста микруху преобразующую аналоговый сигнал до 5 вольт в 16-24 бит информации и отсылающий в уарт...

Посмотрите в сторону AD у них есть МК на базе 51 ядра со встроенными 16-24 битными сигма-дельта ADC и с другой переферией, UART в том числе.
Go to the top of the page
 
+Quote Post
navy2000
сообщение Oct 6 2008, 13:53
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874



Наверное все таки правильнее будет отталкиваться от требуемых параметров АЦП, (которых не озвучили, хотя по разрешению можно косменно судить). И уже определившись с ними, смотреть, есть ли контроллеры со встроенными АЦП с такими параметрами. Если есть, с ним и разбираться, а если нет (а так как правило и случается), то выбирать нужное АЦП и любой доступный (лучше освоенный) контроллер. На нем реализовать опрос АЦП и UART.
p.s. АЦП и интерфейсом UART не встречал, да и при разрешении 16-24 бит наверное еще и протокол городить придется.
По одному каналу I2C можно работать с несколькими абонентами, только нужно чтоб они имели разные шинные адреса. В некоторых микросхемах они зашиты в микросхему и не меняются, а в некоторых можно менять подтянув адресные ножки к земле или питанию.
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Oct 6 2008, 14:36
Сообщение #10


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



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


--------------------
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Oct 19 2008, 06:23
Сообщение #11


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



из прочтения дш на мегу8 понял:
1) главный отвечает переферийному по MOSI
2) по MISO отвечает переферийный главному
3) SPI Clock Generator включается когда происходит передача ...
из прочтения дш на AD7714 понял
1) то чтоб сделать микросхему выбранной(чтоб она потом ответила) нада к ее ноге CS присобачить ногу му и если на ней будет 5 вольт то микросхема будет активной ... и затем ответит по MISO (информация придет к ноге мастера MISO)
теперь вопросы:
1) вот мы допустим записали значение регистра микрухи на примере AD7714
когда она его прочитает и отошлет мк то что нужно
2) как регулируется частота мк SCK - ноги, или частоту регулировать не нужно!? а если нужно то как каждая частота к определенному типу микрух ( частота будет указана в ДШ?)

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


--------------------
Go to the top of the page
 
+Quote Post
Максим Зиновьев
сообщение Oct 19 2008, 06:58
Сообщение #12


Техногипнолог
*****

Группа: Свой
Сообщений: 1 132
Регистрация: 6-03-05
Из: Saratov
Пользователь №: 3 126



Цитата
нада к ее ноге 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
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Oct 19 2008, 08:06
Сообщение #13


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



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


--------------------
Go to the top of the page
 
+Quote Post
Максим Зиновьев
сообщение Oct 19 2008, 13:31
Сообщение #14


Техногипнолог
*****

Группа: Свой
Сообщений: 1 132
Регистрация: 6-03-05
Из: Saratov
Пользователь №: 3 126



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

Защелкиваются данные в последовательный регистр. Термин общеупотребим.
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Oct 19 2008, 19:08
Сообщение #15


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



а ногу SCLK мы держим на ней 1 чтоб получить доступ к данным АЦП так?
а MCLK_In это для соединения с SCk ?
объясните что делает ножки Buffer и POL?
по DOUT ацп отвечает мк а по DIN он принимает данные?
как изменить какойто регистр в ацп чета не нашел - расскажите плс...


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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