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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> АЦП-реализация на ПЛИС, Связь с АЦП [AD7687]
Ensider
сообщение May 18 2017, 06:40
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 8-03-17
Из: Россия,Москва
Пользователь №: 95 746



Начал работать с АЦП [16-разрядное AD7687] , которые расположены на моей плате. Правильно ли я понял , что SDO выходит из АЦП а CNV обращается к АЦП.CLK в свою очередь приходит. biggrin.gif

//ACP project

module NAME (input ADC_CLK , ADC_SDO

output ADC_CNV_1 , ADC_CNV_2 , ADC_CNV_3 , ADC_CNV_4 , ADC_CNV_5 , ADC_CNV_6);

endmodule



Прикрепил схемы.

Сообщение отредактировал Ensider - May 18 2017, 06:46
Прикрепленные файлы
Прикрепленный файл  BCP5x_Analog.pdf ( 8.43 килобайт ) Кол-во скачиваний: 25
Прикрепленный файл  BCP5x_Analog_Vin.pdf ( 23.86 килобайт ) Кол-во скачиваний: 13
Прикрепленный файл  BCP5x_Analog_Iin.pdf ( 10.12 килобайт ) Кол-во скачиваний: 10
Прикрепленный файл  BCP5x_PGA.pdf ( 36.51 килобайт ) Кол-во скачиваний: 14
Прикрепленный файл  BCP5x_PGA_Common.pdf ( 17.75 килобайт ) Кол-во скачиваний: 14
 
Go to the top of the page
 
+Quote Post
Realking
сообщение May 18 2017, 07:20
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 436
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(Ensider @ May 18 2017, 09:40) *
Начал работать с АЦП [16-разрядное AD7687] , которые расположены на моей плате. Правильно ли я понял , что SDO выходит из АЦП а CNV обращается к АЦП.CLK в свою очередь приходит. biggrin.gif

//ACP project

module NAME (input ADC_CLK , ADC_SDO

output ADC_CNV_1 , ADC_CNV_2 , ADC_CNV_3 , ADC_CNV_4 , ADC_CNV_5 , ADC_CNV_6);

endmodule



Прикрепил схемы.


module NAME (output ADC_CLK ,
input ADC_SDO,


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
Ensider
сообщение May 18 2017, 08:31
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 8-03-17
Из: Россия,Москва
Пользователь №: 95 746



Цитата(Realking @ May 18 2017, 08:20) *
module NAME (output ADC_CLK ,
input ADC_SDO,


А как же ADC_CNV ?
Go to the top of the page
 
+Quote Post
Realking
сообщение May 18 2017, 08:35
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 436
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(Ensider @ May 18 2017, 11:31) *
А как же ADC_CNV ?


output ADC_CNV

а вообще у AD документация отличная и понятная


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение May 18 2017, 08:45
Сообщение #5


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 381
Регистрация: 15-07-06
Из: г.Донецк
Пользователь №: 18 832



А DS смотреть не пробовали?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Ensider
сообщение May 18 2017, 08:48
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 8-03-17
Из: Россия,Москва
Пользователь №: 95 746



Цитата(Realking @ May 18 2017, 09:35) *
output ADC_CNV

а вообще у AD документация отличная и понятная


Благодарю. Ошибочка выходит только с CLK . А для того , чтобы наблюдать картину на осциллографе необходимо лишь направить однократный сигнал по каналу?


Цитата(_Anatoliy @ May 18 2017, 09:45) *
А DS смотреть не пробовали?


Не заглядывал. Мое упущение.
Go to the top of the page
 
+Quote Post
AVR
сообщение May 18 2017, 11:07
Сообщение #7


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 031
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Надо смотреть тайминги в даташите, могут быть несколько вариантов интерфейса (конкретно эти по теме - не смотрел). Я делаю моделирование интерфейса получения данных АЦП, это позволяет быстро разработать схему и отладить ее. А тыкаться осциллографом можно, но ведь легче сделать тестбенч и в симуляторе увидеть, что подсовываемые данные правильно получаются модулем чтения АЦП, и что тайминги похожи на даташитные.


--------------------
Go to the top of the page
 
+Quote Post
Ensider
сообщение May 19 2017, 04:25
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 8-03-17
Из: Россия,Москва
Пользователь №: 95 746



Цитата(AVR @ May 18 2017, 11:07) *
Надо смотреть тайминги в даташите, могут быть несколько вариантов интерфейса (конкретно эти по теме - не смотрел). Я делаю моделирование интерфейса получения данных АЦП, это позволяет быстро разработать схему и отладить ее. А тыкаться осциллографом можно, но ведь легче сделать тестбенч и в симуляторе увидеть, что подсовываемые данные правильно получаются модулем чтения АЦП, и что тайминги похожи на даташитные.

Сегодня займусь этим.
Go to the top of the page
 
+Quote Post
AVR
сообщение May 19 2017, 05:46
Сообщение #9


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 031
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Ensider @ May 19 2017, 07:25) *
Сегодня займусь этим.

Можно взять бесплатный Modelsim (Starter Edition, если альтера) или еще более бесплатный Icarus Verilog (если язык Verilog, вижу это так).
У меня уже пара знакомых ПЛИСовиков, к их стыду, только увидев как надежно и быстро я делаю любые модули, стали постепенно признавать, что мое пристрастие к симуляторам и тестбенчам помогает в работе и экономит кучу времени. Если новичок - надо сразу перенимать этот подход, голова это не компьютер чтобы высчитывать как будет работать схема или почему не работает...


--------------------
Go to the top of the page
 
+Quote Post
Ensider
сообщение May 19 2017, 08:33
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 8-03-17
Из: Россия,Москва
Пользователь №: 95 746



Цитата(AVR @ May 19 2017, 05:46) *
Можно взять бесплатный Modelsim (Starter Edition, если альтера) или еще более бесплатный Icarus Verilog (если язык Verilog, вижу это так).
У меня уже пара знакомых ПЛИСовиков, к их стыду, только увидев как надежно и быстро я делаю любые модули, стали постепенно признавать, что мое пристрастие к симуляторам и тестбенчам помогает в работе и экономит кучу времени. Если новичок - надо сразу перенимать этот подход, голова это не компьютер чтобы высчитывать как будет работать схема или почему не работает...

Что-то Model Sim совсем отказывается строить какую-либо зависимость. Разве необходимо писать отдельную модель для него? Или пока ничего не оцифруешь он симулировать ничего не будет?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение May 19 2017, 09:18
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 4 189
Регистрация: 17-02-06
Пользователь №: 14 454



Да не там все просто.
Запускаете МоделСим, в командой строке пишете прямо текстом состав вашей системы, какие АЦП по моделям, и другие микросхемы, просто через запятую, можно даже на русском и жмете запуск. Он сам все соединит и ошибки подсветит...

Прям какой то спец пост устойчивости.
Вы на нем чего запускали то? Какой тестбенч написали? Какой тестовый сценарий?
Go to the top of the page
 
+Quote Post
Ensider
сообщение May 25 2017, 17:06
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 8-03-17
Из: Россия,Москва
Пользователь №: 95 746



Цитата(Golikov A. @ May 19 2017, 09:18) *
Да не там все просто.
Запускаете МоделСим, в командой строке пишете прямо текстом состав вашей системы, какие АЦП по моделям, и другие микросхемы, просто через запятую, можно даже на русском и жмете запуск. Он сам все соединит и ошибки подсветит...

Прям какой то спец пост устойчивости.
Вы на нем чего запускали то? Какой тестбенч написали? Какой тестовый сценарий?


Вот именно в тот момента видимо я просто не разобрался с отладкой.Были мысли что после описания на языке HDL будет автоматически отлажена и сама модель.
Go to the top of the page
 
+Quote Post
Maverick
сообщение May 25 2017, 17:24
Сообщение #13


я только учусь...
******

Группа: Модераторы
Сообщений: 3 344
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Ensider @ May 25 2017, 20:06) *
Вот именно в тот момента видимо я просто не разобрался с отладкой.Были мысли что после описания на языке HDL будет автоматически отлажена и сама модель.

пишите мастер SPI(режим работы выбираете в соответствии из даташита на АЦП), а потом управляющий автомат для мастера SPI и мультиплексирования CS...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Ensider
сообщение Jun 2 2017, 07:25
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 8-03-17
Из: Россия,Москва
Пользователь №: 95 746



Цитата(Maverick @ May 25 2017, 17:24) *
пишите мастер SPI(режим работы выбираете в соответствии из даташита на АЦП), а потом управляющий автомат для мастера SPI и мультиплексирования CS...


Я задал параметры по даташиту. Мастер SPI необходимо писать уже после объявления параметров в теле модуля? И что касается управляющего автомата , что вы имели ввиду?

//ACP project
module NOKIA (input ADC_SDO ,
output ADC_CNV , ADC_CLK);


reg [DATA_WIDTH-1 -: 16] td; // Разрядность даннных АЦП

parameter VDD = 5 ; //напряжение логики

parameter TDSDS = 5 ; //время задержки от фронта тактовой частоты

parameter r ACQT = 1.8; //время получения данных

parameter r CVDD = 2.5; //уровень логического порога

parameter ENT = 14; //Задержка от фронта тактовой частоты до выхода

parameter SSDR = 15; //Для нарастающего фронта

parameter SSDF = 3; //Для спадающего фронта

parameter r FSS = 1.8 // Диапозон ввода от нуля до натуральной величины



always @(posedge ADC_SDO) begin



end

//assign ADC_CNV = 1'b1;

endmodule

Цитата(Maverick @ May 25 2017, 18:24) *
пишите мастер SPI(режим работы выбираете в соответствии из даташита на АЦП), а потом управляющий автомат для мастера SPI и мультиплексирования CS...


И ещё вопрос. Нельзя ли обойтись без написания мастера SPI?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jun 2 2017, 10:14
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 4 189
Регистрация: 17-02-06
Пользователь №: 14 454



sm.gif

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

Естественно окружение вашего модуля тоже необходимо написать вам. Если ваш модуль как SPI slave принимает данные, то как вы без SPI мастера ему их в симуляции подадите? В приборе это будет делать чужая микросхема с которой вы и собираетесь работать, а симуляция то как узнает что вы делает?

Так что мастера можно не писать только в случае если вы найдете чужой написанный. Другое дело что для симуляции можно использовать не синтезируемую часть подмножества языка, и поэтому модели для симуляции пишутся гораздо проще и быстрее. А кроме модели вам надо еще написать тестовый сценарий, это то что ваша модель делает по времени, это тоже пишут на языке, на той же не синтезируемой части.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd August 2017 - 11:51
Рейтинг@Mail.ru


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