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

 
 
> Можно ли передать по RS232 более 8 бит данных в одном фрейме?, формат фрейма передачи
Vagant
сообщение Feb 1 2010, 06:53
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820



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

Скажите пожалуйста новичку - а можно ли передать более чем 8 бит в одном фрейме передачи через COM порт по интерфейсу RS232? В книжках обычно пишется что по этому интерфейсу асинхронно передаются фреймы формата:

стартовый бит - 8 бит данных - стоповый бит

где только 8 бит в одном фрейме.

А мне хотелось бы передавать с ПК на ПЛИС 64-битные коды (в каждом из которых первый байт является кодом команды а остальные 7 байт - данные). ПЛИС будет принимать такие 64-битные коды (фреймы) и в соответствие с кодом команды (первый байт во фрейме) будет обрабатывать данные переданные в остальных 6 байтах фрейма.

Можно ли вот так, в одном фрейме - передать с ПК сразу 64-битный код на ПЛИС?

Спасибо.

Сообщение отредактировал Vagant - Feb 1 2010, 07:12
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Vagant
сообщение Feb 1 2010, 14:59
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820



Спасибо большое за советы.

А нельзя просто запрограммировать FIFO достаточно большого размера на ПЛИС и соединить вход этого FIFO c Tx? (это когда компьютер передаёт). А потом, когда данные переданы с компьютера, просто читать одно за другим 64-битные слова из FIFO. Будет ли работать такой подход?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 1 2010, 15:28
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Vagant @ Feb 1 2010, 17:59) *
Будет ли работать такой подход?

В тепличных условиях - возможно. Но лучше принять хотя бы минимальные меры для синхронизации данных.
Go to the top of the page
 
+Quote Post
Vagant
сообщение Feb 1 2010, 16:21
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820



Цитата(aaarrr @ Feb 1 2010, 19:28) *
В тепличных условиях - возможно. Но лучше принять хотя бы минимальные меры для синхронизации данных.


Про синхронизацию - как я понимаю, у UART есть свой FIFO. А Tx этого UART будет соединён со входом serial-to-parallel shift register выход (64-битный, параллельный) которого будет подан на вход FIFO размера 1024 (к примеру) на 64. Этот shift register будет синхронизирован от CLK на FPGA board. То есть с каждым импульсом от CLK данные будут по одному биту записываться в FIFO. Имхо, должно работать. Потом данные уже просто считываются из FIFO с любой скоростью.

Сообщение отредактировал Vagant - Feb 1 2010, 16:22
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 1 2010, 16:25
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Vagant @ Feb 1 2010, 19:21) *
Имхо, должно работать.

На столе - будет. Хотя в вашей схеме отсутствует собственно UART: тактировать сдвиговый регистр чем будете?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 01:35
Рейтинг@Mail.ru


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