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

Здравствуйте

 

Я начинающий в программировании ПЛИС, поэтому вопрос у меня простой.

 

Я запрограммировал на Spartan3E-1600E Microblaze Development Kit несложный генератор радиочастотных импульсов для FPGA и хочу научиться задавать параметры импульсов с PC (лучше под Linux), например длительность импульсов и радиочастоту.

 

Что для этого нужно, и с чего начать? Вообще мне надо учиться с самых основ, поэтому и хочу спросить - с чего именно лучше начать? Надо ли учиться писать драйвер для того чтобы управлять системой на ПЛИС через PC?

 

P.S.Я вообще хотел бы научиться использовать для своей задачи как Ethernet так и RS232 (на отладочной плате имеются оба эти интерефейса) а потом решить какой мне лучше подходит.

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


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

Здравствуйте

 

Я начинающий в программировании ПЛИС, поэтому вопрос у меня простой.

 

Я запрограммировал на Spartan3E-1600E Microblaze Development Kit несложный генератор радиочастотных импульсов для FPGA и хочу научиться задавать параметры импульсов с PC (лучше под Linux), например длительность импульсов и радиочастоту.

 

Что для этого нужно, и с чего начать? Вообще мне надо учиться с самых основ, поэтому и хочу спросить - с чего именно лучше начать? Надо ли учиться писать драйвер для того чтобы управлять системой на ПЛИС через PC?

 

P.S.Я вообще хотел бы научиться использовать для своей задачи как Ethernet так и RS232 (на отладочной плате имеются оба эти интерефейса) а потом решить какой мне лучше подходит.

 

Для командного интерфейса можно использовать RS232. И с него лучше начинать так как он намного проще в понимании и в реализации в FPGA. Програм для работы с RS232 под Windows много в Интернете например на

 

http://www.pcports.ru/Developing.php

 

имеется библиотека для работы с ним.

Если надо могу дать готовую программу, проверенную в работе :)

 

ЗЫ Посмотри по форуму эти вопросы не однократно поднимались, и выкладывались готовые модули для ПЛИС (во всяком случае для UART точно)

Посмотри здесь

 

http://electronix.ru/forum/index.php?showforum=48

 

http://electronix.ru/forum/index.php?showforum=49

 

http://electronix.ru/forum/index.php?showtopic=44169

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


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

Для командного интерфейса можно использовать RS232. И с него лучше начинать так как он намного проще в понимании и в реализации в FPGA. Програм для работы с RS232 под Windows много в Интернете например на

 

http://www.pcports.ru/Developing.php

 

имеется библиотека для работы с ним.

Если надо могу дать готовую программу, проверенную в работе :)

 

ЗЫ Посмотри по форуму эти вопросы не однократно поднимались, и выкладывались готовые модули для ПЛИС (во всяком случае для UART точно)

Посмотри здесь

 

http://electronix.ru/forum/index.php?showforum=48

 

http://electronix.ru/forum/index.php?showforum=49

 

http://electronix.ru/forum/index.php?showtopic=44169

 

Спасибо большое, уже читаю! :)

 

Пока что я понял что для управления схемкой с помощью PC нужны:

 

Со стороны PC:

 

драйвер порта = он устанавливается вместе с Windows и поэтому мне не надо им заниматься.

 

программа через которую посылаются и принимаются данные в/через порт = это надо написать самому на C (или Visual Basic наверное тоже подойдёт).

 

Со стороны FPGA Development kit:

 

Железо там уже всё есть и надо только задать в ucf файле нужные пины для RS232 чтобы данные от компьютера попали на вход системы запрограммированной на ПЛИС.

 

А надо ли писать (или искать) какой-то драйвер для FPGA?

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


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

А надо ли писать (или искать) какой-то драйвер для FPGA?

 

В FPGA пишется модуль, который реализовывает обмен на логическом уровне. :) Модуль пишется на языке VHDL или Verilog или разрабатывается в Shemathic Editor

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


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

В FPGA пишется модуль, который реализовывает обмен на логическом уровне. :) Модуль пишется на языке VHDL или Verilog или разрабатывается это в Shemathic Editor

 

А есть ли какое-то специальное (англоязычное) название для этого модуля? Хотелось бы нарыть в Инете про то как его написать. :)

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


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

А надо ли писать (или искать) какой-то драйвер для FPGA?

судя по вопросам настоятельно рекомендую перед работой с FPGA ознакомиться с тем, что есть такое FPGA

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


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

судя по вопросам настоятельно рекомендую перед работой с FPGA ознакомиться с тем, что есть такое FPGA

 

...как я понимаю, это просто железо управляемое данными. А про драйверы к FPGA в сети читал, тут например https://portal.beam.ltd.uk/support/astrofft/astroDriver.html :)

Изменено пользователем Vagant

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


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

...как я понимаю, это просто железо управляемое данными.

коль пошла такая философия, то это не верно, потому что и для МК код программы является (в некотором приближении) потоком данных, и о чётком разделении потока управления и потока данных можно говорить только применительно к вычислительным устройствам последовательной интерпритации комманд (в простонародии "процессоры" ;) ), так что лучше бы вам побольше почитать общей литературы по ПЛИС, чтобы картина прояснилась (иначе вы будете задавать вопросы не представляющие технической ценности для данного форума, либо перемещайтесь вот сюда - "В помощь начинающему" http://electronix.ru/forum/index.php?showforum=134 )

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


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

так что лучше бы вам побольше почитать общей литературы по ПЛИС

 

Вообще digital systems are basically data-driven как пишут многие англоязычные авторы, так что не вижу у себя ошибки. Читать конечно буду :) но, имхо, Вы не в теме.

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


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

но, имхо, Вы не в теме.

ну с этим даже спорить не буду ;) и уже давно

очень рекомендую вот эту книжку: "Проектирование систем на микросхемах программируемой логики" ISBN: 5-94157-002-3 (авт.: Грушвицкий, Мурсаев, Угрюмов) - очень толково, без детского сада, но при этом всё логически стройно и последовательно

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


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

...Я запрограммировал на Spartan3E-1600E Microblaze Development Kit ...

 

Ну если у Вас есть такое чудо, то уже 50% за Вас сделали другие, от Вас прочитать ЭТОТ документ, не обязательно от корки до корки, но понятие, что такое ПЛИС и для чего нужна будет.

Ну а дальше изучаем мануалы по ISE и EDK. Подобная документация находится в соответственно в директории doc куда проинсталирован ISE и EDK.

 

А на счет блока для RS, зачем мучаться и искать что то, когда в EDK под вашу отладочную плату можно сформировать проект, в который будут включены все узлы, доступные на отладочной плате и дальше только писать программу для MicroBlaze.

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


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

А на счет блока для RS, зачем мучаться и искать что то, когда в EDK под вашу отладочную плату можно сформировать проект, в который будут включены все узлы, доступные на отладочной плате и дальше только писать программу для MicroBlaze.

 

Ну вот я ещё этого не умею делать и с EDK даже не начинал. А программу для MicroBlaze на чём писать? Не на VHDL? :07:

 

P.S.

Пока я осваиваю VHDL и ISE - всё неплохо получается и работает, но я пока только простые проекты делаю (вроде того как включать и выключать LED с частотой 1 Гц и как генерировать простую последовательность РЧ импульсов).

Изменено пользователем Vagant

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


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

Простенькая реализация RS. Один блок приемник:

xRsRxDriver.vhd

Второй блок передатчик

xRsRxDriver.vhd

 

На rate устанавливается коэффициент, на который нужно поделить clk, что б получить требуемую частоту на RS (Например при 20МГц clk, скорости передачи/приема 115200 rate="10101101" в бине)

xRsTxDriver.vhd

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


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

А есть ли какое-то специальное (англоязычное) название для этого модуля? Хотелось бы нарыть в Инете про то как его написать. :)

 

Ранее я тебе/Вам давал ссылку на форум на котором я уже выкладывал подобные модули различных фирм Altera Xilinx и др. в одном архиве с описанием работы, правда реализованные на языке VHDL :)

 

Ссылка на архив:

 

http://electronix.ru/forum/index.php?act=A...st&id=18520

 

Дополнительно почитай/почитайте эти (русский язык) книги по этим ссылкам рекомендую

 

http://www.infanata.org/2006/04/20/proekti...v_ju_zotov.html

 

http://www.infanata.org/2006/10/19/proekti...em_na_vhdl.html

 

Ну вот я ещё этого не умею делать и с EDK даже не начинал. А программу для MicroBlaze на чём писать? Не на VHDL? :07:

 

Для процессора пишется на языке С. Но для лучшего понимания почитай (на русском языке) :)

 

http://www.infanata.org/2006/11/16/sapr_xi...li_edk_7li.html

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


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

Ранее я тебе/Вам давал ссылку на форум на котором я уже выкладывал подобные модули различных фирм Altera Xilinx и др. в одном архиве с описанием работы, правда реализованные на языке VHDL :)

 

Ссылка на архив:

 

http://electronix.ru/forum/index.php?act=A...st&id=18520

 

Дополнительно почитай/почитайте эти (русский язык) книги по этим ссылкам рекомендую

 

http://www.infanata.org/2006/04/20/proekti...v_ju_zotov.html

 

http://www.infanata.org/2006/10/19/proekti...em_na_vhdl.html

Для процессора пишется на языке С. Но для лучшего понимания почитай (на русском языке) :)

 

http://www.infanata.org/2006/11/16/sapr_xi...li_edk_7li.html

 

Эх, книжки Зотова наверное хорошие, но не для начинающих, имхо. Они у меня есть, обе, в бумажном виде, и пока что мне они мало помогли потому что там очень много технических деталей, в которых потонули простые, "на пальцах", обьяснения которые обычно нужнее всего для начинающих, вроде меня. :05:

 

 

Простенькая реализация RS. Один блок приемник:

xRsRxDriver.vhd

Второй блок передатчик

xRsRxDriver.vhd

 

На rate устанавливается коэффициент, на который нужно поделить clk, что б получить требуемую частоту на RS (Например при 20МГц clk, скорости передачи/приема 115200 rate="10101101" в бине)

 

Спасибо, буду читать и разбираться! :)

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


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

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

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

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

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

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

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

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

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

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