_Ivan_ 0 5 октября, 2008 Опубликовано 5 октября, 2008 · Жалоба подскажите пожалуйста микруху преобразующую аналоговый сигнал до 5 вольт в 16-24 бит информации и отсылающий в уарт... а если есть I^2C то такой вопрос - можно ли по 1 каналу ай2ц принимать инфу от нескольких разных источников? заранее спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 18 5 октября, 2008 Опубликовано 5 октября, 2008 · Жалоба Обычно АЦП подключаются по каналу SPI, который есть практически у всех контроллеров или легко реализуется программно. Если есть возможность управлять сигналами CS, то можно на один канал SPI повесить несколько АЦП. Другой вариант - контроллеры от силабс, некоторые имеют встроенное АЦП до 24 бит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 5 октября, 2008 Опубликовано 5 октября, 2008 · Жалоба а можно поподробнее про сигналы CS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 18 5 октября, 2008 Опубликовано 5 октября, 2008 · Жалоба а можно поподробнее про сигналы CS Сигналом CS (Chip Select, обычно инверсный) выбирается активная м/сх на линии. Она анализирует входящие команды и отвечает по линии DOUT. У остальных абонентов на линии DOUT должен быть в Z-состояниии. Вот, например, даташит на AD7705. Для примера. ad7705_6_a.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 5 октября, 2008 Опубликовано 5 октября, 2008 · Жалоба то есть у каждой микросхемы есть какой то индивидуальный номер чтоли и если увидев на линии его она отвечает? а как узнать этот номер или информацию? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maximiz 0 5 октября, 2008 Опубликовано 5 октября, 2008 · Жалоба то есть у каждой микросхемы есть какой то индивидуальный номер Нет, индивидуального номера у микросхемы нет, "хост" должен сам выдавать cs тому устройству, с кем хочет пообщаться. В случае независимой от хоста циклической работы, АЦП выдает сигнал об окончании преобразовании (валидности данных) data ready. Почитайте еще датащит на AD7714 AD7714_c.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rudy_b 1 5 октября, 2008 Опубликовано 5 октября, 2008 · Жалоба Это на SPI нет, а на I2C у каждой микросхемы - свой адрес. На некоторых его можно изменять (подключение ножек или уровень напряжения на них - несколько вариантов адреса), на некоторых адрес фиксирован (редко). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirYU 0 6 октября, 2008 Опубликовано 6 октября, 2008 · Жалоба подскажите пожалуйста микруху преобразующую аналоговый сигнал до 5 вольт в 16-24 бит информации и отсылающий в уарт... Посмотрите в сторону AD у них есть МК на базе 51 ядра со встроенными 16-24 битными сигма-дельта ADC и с другой переферией, UART в том числе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
navy2000 0 6 октября, 2008 Опубликовано 6 октября, 2008 · Жалоба Наверное все таки правильнее будет отталкиваться от требуемых параметров АЦП, (которых не озвучили, хотя по разрешению можно косменно судить). И уже определившись с ними, смотреть, есть ли контроллеры со встроенными АЦП с такими параметрами. Если есть, с ним и разбираться, а если нет (а так как правило и случается), то выбирать нужное АЦП и любой доступный (лучше освоенный) контроллер. На нем реализовать опрос АЦП и UART. p.s. АЦП и интерфейсом UART не встречал, да и при разрешении 16-24 бит наверное еще и протокол городить придется. По одному каналу I2C можно работать с несколькими абонентами, только нужно чтоб они имели разные шинные адреса. В некоторых микросхемах они зашиты в микросхему и не меняются, а в некоторых можно менять подтянув адресные ножки к земле или питанию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 6 октября, 2008 Опубликовано 6 октября, 2008 · Жалоба понятно, спасибо ... но все таки новые контроллеры для решения задачи изучать не буду... больно это трудоемко ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 19 октября, 2008 Опубликовано 19 октября, 2008 · Жалоба из прочтения дш на мегу8 понял: 1) главный отвечает переферийному по MOSI 2) по MISO отвечает переферийный главному 3) SPI Clock Generator включается когда происходит передача ... из прочтения дш на AD7714 понял 1) то чтоб сделать микросхему выбранной(чтоб она потом ответила) нада к ее ноге CS присобачить ногу му и если на ней будет 5 вольт то микросхема будет активной ... и затем ответит по MISO (информация придет к ноге мастера MISO) теперь вопросы: 1) вот мы допустим записали значение регистра микрухи на примере AD7714 когда она его прочитает и отошлет мк то что нужно 2) как регулируется частота мк SCK - ноги, или частоту регулировать не нужно!? а если нужно то как каждая частота к определенному типу микрух ( частота будет указана в ДШ?) и еще - сколько метров 5-6 провода потянет SPI чтоб передавать данные? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maximiz 0 19 октября, 2008 Опубликовано 19 октября, 2008 · Жалоба нада к ее ноге 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 19 октября, 2008 Опубликовано 19 октября, 2008 · Жалоба а если микруха не выбрана то тоже низкий но в высокоомном состоянии? (с подтягивающим резистором)? что значит защелкивать данные? к сожалению не поможет - ассемблера не знаю... но за ответ спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maximiz 0 19 октября, 2008 Опубликовано 19 октября, 2008 · Жалоба Когда не выбираем 7714 - держим у неё единичку на /cs Защелкиваются данные в последовательный регистр. Термин общеупотребим. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 19 октября, 2008 Опубликовано 19 октября, 2008 · Жалоба а ногу SCLK мы держим на ней 1 чтоб получить доступ к данным АЦП так? а MCLK_In это для соединения с SCk ? объясните что делает ножки Buffer и POL? по DOUT ацп отвечает мк а по DIN он принимает данные? как изменить какойто регистр в ацп чета не нашел - расскажите плс... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться