|
FPGA-PC |
|
|
|
Apr 29 2008, 10:51
|

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

|
Цитата(Vagant @ Apr 29 2008, 13:26)  Здравствуйте
Я начинающий в программировании ПЛИС, поэтому вопрос у меня простой.
Я запрограммировал на 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=48http://electronix.ru/forum/index.php?showforum=49http://electronix.ru/forum/index.php?showtopic=44169
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Apr 29 2008, 12:25
|
Частый гость
 
Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820

|
Цитата(Maverick @ Apr 29 2008, 13:51)  Для командного интерфейса можно использовать RS232. И с него лучше начинать так как он намного проще в понимании и в реализации в FPGA. Програм для работы с RS232 под Windows много в Интернете например на http://www.pcports.ru/Developing.php имеется библиотека для работы с ним. Если надо могу дать готовую программу, проверенную в работе ЗЫ Посмотри по форуму эти вопросы не однократно поднимались, и выкладывались готовые модули для ПЛИС (во всяком случае для UART точно) Посмотри здесь http://electronix.ru/forum/index.php?showforum=48http://electronix.ru/forum/index.php?showforum=49http://electronix.ru/forum/index.php?showtopic=44169Спасибо большое, уже читаю!  Пока что я понял что для управления схемкой с помощью PC нужны: Со стороны PC: драйвер порта = он устанавливается вместе с Windows и поэтому мне не надо им заниматься. программа через которую посылаются и принимаются данные в/через порт = это надо написать самому на C (или Visual Basic наверное тоже подойдёт). Со стороны FPGA Development kit: Железо там уже всё есть и надо только задать в ucf файле нужные пины для RS232 чтобы данные от компьютера попали на вход системы запрограммированной на ПЛИС. А надо ли писать (или искать) какой-то драйвер для FPGA?
|
|
|
|
|
Apr 29 2008, 13:05
|
Частый гость
 
Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820

|
Цитата(Maverick @ Apr 29 2008, 15:58)  В FPGA пишется модуль, который реализовывает обмен на логическом уровне.  Модуль пишется на языке VHDL или Verilog или разрабатывается это в Shemathic Editor А есть ли какое-то специальное (англоязычное) название для этого модуля? Хотелось бы нарыть в Инете про то как его написать.
|
|
|
|
|
Apr 29 2008, 13:12
|
Частый гость
 
Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820

|
Цитата(CaPpuCcino @ Apr 29 2008, 16:07)  судя по вопросам настоятельно рекомендую перед работой с FPGA ознакомиться с тем, что есть такое FPGA ...как я понимаю, это просто железо управляемое данными. А про драйверы к FPGA в сети читал, тут например https://portal.beam.ltd.uk/support/astrofft/astroDriver.html
Сообщение отредактировал Vagant - Apr 29 2008, 13:19
|
|
|
|
|
Apr 29 2008, 13:36
|
Частый гость
 
Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820

|
Цитата(CaPpuCcino @ Apr 29 2008, 16:23)  так что лучше бы вам побольше почитать общей литературы по ПЛИС Вообще digital systems are basically data-driven как пишут многие англоязычные авторы, так что не вижу у себя ошибки. Читать конечно буду  но, имхо, Вы не в теме.
|
|
|
|
|
Apr 29 2008, 15:07
|

Частый гость
 
Группа: Свой
Сообщений: 173
Регистрация: 5-11-07
Из: Чернигов, Украина
Пользователь №: 32 078

|
Цитата(Vagant @ Apr 29 2008, 13:26)  ...Я запрограммировал на Spartan3E-1600E Microblaze Development Kit ... Ну если у Вас есть такое чудо, то уже 50% за Вас сделали другие, от Вас прочитать ЭТОТ документ, не обязательно от корки до корки, но понятие, что такое ПЛИС и для чего нужна будет. Ну а дальше изучаем мануалы по ISE и EDK. Подобная документация находится в соответственно в директории doc куда проинсталирован ISE и EDK. А на счет блока для RS, зачем мучаться и искать что то, когда в EDK под вашу отладочную плату можно сформировать проект, в который будут включены все узлы, доступные на отладочной плате и дальше только писать программу для MicroBlaze.
|
|
|
|
|
Apr 29 2008, 15:33
|
Частый гость
 
Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820

|
Цитата(chds @ Apr 29 2008, 18:07)  А на счет блока для RS, зачем мучаться и искать что то, когда в EDK под вашу отладочную плату можно сформировать проект, в который будут включены все узлы, доступные на отладочной плате и дальше только писать программу для MicroBlaze. Ну вот я ещё этого не умею делать и с EDK даже не начинал. А программу для MicroBlaze на чём писать? Не на VHDL? P.S. Пока я осваиваю VHDL и ISE - всё неплохо получается и работает, но я пока только простые проекты делаю (вроде того как включать и выключать LED с частотой 1 Гц и как генерировать простую последовательность РЧ импульсов).
Сообщение отредактировал Vagant - Apr 29 2008, 15:46
|
|
|
|
|
Apr 29 2008, 15:47
|

Частый гость
 
Группа: Свой
Сообщений: 173
Регистрация: 5-11-07
Из: Чернигов, Украина
Пользователь №: 32 078

|
Простенькая реализация RS. Один блок приемник:
xRsRxDriver.vhd ( 2.84 килобайт )
Кол-во скачиваний: 253Второй блок передатчик
xRsRxDriver.vhd ( 2.84 килобайт )
Кол-во скачиваний: 253На rate устанавливается коэффициент, на который нужно поделить clk, что б получить требуемую частоту на RS (Например при 20МГц clk, скорости передачи/приема 115200 rate="10101101" в бине)
|
|
|
|
|
Apr 29 2008, 18:13
|
Частый гость
 
Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820

|
Цитата(Maverick @ Apr 29 2008, 19:56)  Ранее я тебе/Вам давал ссылку на форум на котором я уже выкладывал подобные модули различных фирм 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.htmlhttp://www.infanata.org/2006/10/19/proekti...em_na_vhdl.html Для процессора пишется на языке С. Но для лучшего понимания почитай (на русском языке) http://www.infanata.org/2006/11/16/sapr_xi...li_edk_7li.htmlЭх, книжки Зотова наверное хорошие, но не для начинающих, имхо. Они у меня есть, обе, в бумажном виде, и пока что мне они мало помогли потому что там очень много технических деталей, в которых потонули простые, "на пальцах", обьяснения которые обычно нужнее всего для начинающих, вроде меня. Цитата(chds @ Apr 29 2008, 18:47)  Простенькая реализация RS. Один блок приемник:
xRsRxDriver.vhd ( 2.84 килобайт )
Кол-во скачиваний: 253Второй блок передатчик
xRsRxDriver.vhd ( 2.84 килобайт )
Кол-во скачиваний: 253На rate устанавливается коэффициент, на который нужно поделить clk, что б получить требуемую частоту на RS (Например при 20МГц clk, скорости передачи/приема 115200 rate="10101101" в бине) Спасибо, буду читать и разбираться!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|