Передача данных для FPGA с компьютера через последовательный порт.

S

Sujatha_11

Guest
Привет,
Я делаю один проект с использованием FPGA (а тестер чип), и я являюсь аспирантом.Я перевести тест векторов (1S и 0s) с компьютера пользователя интерфейс с использованием FPGA RAM последовательный порт (COM компьютера порт).Я leanrt как настроить FPGA для передачи и приема данных, но не уверен, если мне придется написать несколько C код также вместе с VHDL код для этой передачи данных произойдет.Я новичок в FPGA / VHDL.Может ли кто-нибудь объяснить, как именно мы можем сделать это произошло?какой код должен быть написан где?Спасибо.Срочно PLZ ..

 
Я думаю, что в вашем FPGA вам осуществить UART модуль для борьбы с COM порту компьютера, если ypu будет передавать данные с FPGA на ПК, но если только FPGA reciecve данных с ПК, так что вам потребуется небольшой FSM на FPGA получать UART кадра и извлечь из него данные, но и в оперативной памяти, в обоих случаях нужно писать с кодом на ПК, с тем чтобы использовать COM порт и отправлять и получать
И этот сайт для взаимодействия с серийным
http://www.beyondlogic.org/serial/serial.htm
и это с открытым исходным кодом для UART модуля получить из открытых coures сайта
Извините, но вам необходимо войти в аккаунт это вложение

 
Большое спасибо за вашу помощь.

 
U могут также посмотреть на эту ссылку, его действительно очень хорошо ...

http://web.mit.edu/6.111/www/f2004/handouts/serialtest/index.htm

sixdegrees

 
Sixdegrees,
Ты имеешь в виду сказать, с помощью HyperTerminal у меня нет каких-либо писать код C для общения это?И у меня есть другая проблема.ввод в FPGA собирается биты, как я в разработке тестером чип, который принимает в тестовых векторов в качестве затрат и ожидаемых reponses как входы.Поэтому его просто хочу быть 1S и 0s.Но когда я использую C или HyperTerminal в ASCII эквивалентную 1 или 0 будет получить, передаваемые права?Должен ли я написать код для преобразования его в двоичном 1 и 0, это способ передачи его в качестве двоичных цифр себя?Пожалуйста, помогите мне.

 
Хорошо, если у прошла через код, который я упомянул у увидите, что у Dont придется писать что-либо в C, его все Verilog и да вы можете передачи битов а.Но просто для любопытства, какой тип чипа являются U проектирования / тестирования, я тоже в тестировании, но главный теоретический материал ..

 
Я сделать тестером в FPGA чипа, который используется для проверки других ICs так мне нужно перенести испытание векторов и ожидаемые ответы на RAM в FPGA, которые будут использоваться для DUT позже.Это РЗП нужно последовательный.Кстати, как вы передачи битов с использованием Hyper терминал?PLZ дайте мне знать.

 
для FPGA стороны,

Использование модуля picoblaze UART,

Очень прост в использовании и гибкий

для PC стороне от окна,
Использование WriteFile и CreateFile API,
они должны помочь выполнить задачу

 
Я rs232 встроенный в моем борту при максимальном уровне конвертер и у меня есть кабель, который D9 разъем с обеих сторон.Можно ли использовать этот кабель для подключения ПК к FPGA (Кабель для подключения положение в обеих процессора и FPGA).

 
Привет;
Я пытаюсь отправить данные на борту Spartan3 через HyperTerminal.Моя цель состоит в том, чтобы отобразить ASCII код символа вступил на светодиодах.Я разработал государственной машины, но я не могу получить никакого вывода результата.Любые идеи?

/ *
Первоначально он ждет в IDLE;
когда ресивер превращается в 0 (начало бит), она идет BAUD состояние
для подсчета до 5208, (на 9600 бод 50MHz с часами)
Напишите государственных нагрузок текущему значению RXD в регистр сдвига.
Это повторяется до тех пор, пока CTR достигает 9,
все данные и стоповый бит получается,
Данные загружаются в 'привели' производства и восходит к IDLE
* /Модуль Ons (RXD, привел, были сброшены, CLK);
ввод CLK;
ввод RXD;
производства [7:0] привели;
ввод сброса;

рег [1:0] государства, next_state;
рег [8:0] SR;
рег [3:0] CTR;
рег [24:0] кол;
рег [7:0] TMP;Параметр IDLE = 2'b00, BAUD = 2'b01, SREG = 2'b10, WRITE = 2'b11;

присвоить привело = TMP;

всегда @ (posedge CLK или posedge сброс)
начинать
если (сброс == 1)
состояние <= IDLE;
еще
состояние <= next_state;
конецвсегда @ (RXD или кол или CTR или государства)

начинать
дела (государства)IDLE:
если (RXD == 0)
next_state <= BAUD;
еще
next_state <= IDLE;BAUD:

если (кол == 25'b0000000000001010001010111)
next_state <= SREG;
еще
next_state <= BAUD;

SREG:
если (== 4'b1001 CTR)
next_state <= WRITE;
еще
next_state <= BAUD;

WRITE:
next_state <= IDLE;
endcase
конецвсегда @ (posedge CLK)

начинать

дела (государства)

IDLE:
если (RXD == 1)
начать TMP <= SR [8:1]; конца

остальное, если (RXD == 0)
начинать
SR <= 9'b000000000;
CTR <= 4'b0000;
конец

BAUD:
начинать

кол <= кол 25'b0000000000000000000000001;

конец

SREG:
начинать
SR [8] <= RXD;
SR <= (SR [7:0], SR [8]);
CTR <= CTR 4'b0001;
кол <= 25'b0000000000000000000000000; / /
конец

WRITE:

начать TMP <= SR [8:1]; конца

endcase

конец

endmodule

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

Я не пересмотреть свой код во всех деталях.

until sampling the first data bit, cause this should happen in the middle of bit interval.

Одна вещь, которая должна быть исправлена, если ваш код в соответствии с описанием вы дали: Когда бод счетчик restartet с начала RxD конечности, он должен рассчитывать битной 1,5 раза
до выборки первого бит данных, причина этого должна произойти в середине разрядных интервал.Обычно, после 0,5 битных раз, вы должны образца RxD за фальстарт бит, опционально сброса приемника.

Одна вещь, я не могу войти в мою голову: нет ли в учебнике или Verilog HDL класс никогда упомянуть, помимо бинарных констант?Я не желают, чтобы проверить, как 25'b0000000000001010001010111 самовыражения, когда вы можете написать 25'd5207.Последний будет читаем без использования настольного калькулятора Windows.Кроме того, очевидно, что бод борьбы нужна только 13 бит (если вы планируете вариант 2 Гц скорость).Но это не мешает,
то HDL Компилятор игнорирует неиспользованные ресурсы в любом случае.

Базовая структура и FSM пользования кажется правильным на первый взгляд.

Привет,
Франк

 
Проверьте UART открыть основной на ссылку здесь: http://www.opencores.org/projects.cgi/web/uart16550/overview.Вы можете адаптировать его к применению.

Ура,
-S

 
Спасибо за совет.
Он держит сказать "Сигнал reset_IBUF не груза. PAR не будет пытаться маршрут этот сигнал".Является ли это предупреждение незначительно?.Сброса сигнала уже ввода почему я должен загрузить его?

 

Welcome to EDABoard.com

Sponsor

Back
Top