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

 
 
> STM32F103 + ПЛИС MAX II
Imin
сообщение Aug 24 2016, 14:29
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 22-05-14
Из: Москва
Пользователь №: 81 742



Добрый день.

Есть плата с МК STM32F103 и ПЛИС MAX II. Дали задачу реализовать интерфейс передачи данных между ними. ПЛИС постоянно отправляет данные в МК . Используются три линии: CLK, DATA, RD. Формат данных: 32 бита данные + 16 бит CRC. Линия RD нужна для оповещения МК о передаче CRC.
Примеры передачи:









Код в МК для приема:
CODE

while (1) {

if(RD) //Проверяем сигнал отправки CRC cуммы
{
if(CLK)//Проверка положительного фронта частоты
{
if(isReady == 0)//Проверка смены такта частоты CLK
{
isReady = 1;

if(IN) // Проверка на 1 или 0 входных данных
{
miso |= mask;
}

mask <<= 1;// сдвиг маски

if(mask > 0x8000)//проверка достигла ли маска оговоренной длины
{

if(miso == 0x1D0F) {
MDR_PORTB->RXTX ^= toggle; //мигаем светодиодом
}
mask = 0x01;
miso = 0;

}
}

}
else
{
isReady = 0;
}


МК тактируется от 16 МГц, а ПЛИС - от внутреннего генератора на 5 МГц. С ПЛИС отправляю 0xFFFFFFFF и CRC сумму этого числа 0x1DOF.
МК правильно принимает 1 передачу через 3.

Подскажите, пожалуйста, в чем может быть проблема ?
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
iosifk
сообщение Aug 24 2016, 15:08
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Imin @ Aug 24 2016, 17:29) *
Добрый день.

Есть плата с МК STM32F103 и ПЛИС MAX II. Дали задачу реализовать интерфейс передачи данных между ними. ПЛИС постоянно отправляет данные в МК . Используются три линии: CLK, DATA, RD. Формат данных: 32 бита данные + 16 бит CRC. Линия RD нужна для оповещения МК о передаче CRC.

МК тактируется от 16 МГц, а ПЛИС - от внутреннего генератора на 5 МГц. С ПЛИС отправляю 0xFFFFFFFF и CRC сумму этого числа 0x1DOF.
МК правильно принимает 1 передачу через 3.

Подскажите, пожалуйста, в чем может быть проблема ?
Спасибо.


А по какому сигналу МК начинает чтение? Есть ли заголовок сообщения? Передача идет последовательным кодом?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Imin
сообщение Aug 24 2016, 15:15
Сообщение #3





Группа: Участник
Сообщений: 5
Регистрация: 22-05-14
Из: Москва
Пользователь №: 81 742



Цитата(iosifk @ Aug 24 2016, 19:08) *
А по какому сигналу МК начинает чтение? Есть ли заголовок сообщения? Передача идет последовательным кодом?


Сброс у МК и ПЛИС одновременный, передача данных идет всегда. Определенного сигнала чтения нет.
Заголовка сообщения нету. Да, передача идет последовательным кодом.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 24 2016, 15:28
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Imin @ Aug 24 2016, 18:15) *
Сброс у МК и ПЛИС одновременный, передача данных идет всегда. Определенного сигнала чтения нет.
Заголовка сообщения нету. Да, передача идет последовательным кодом.

Поздравляю! Достаточно одного ложного фронта и больше ничего работать не будет до следующего сброса...
Или скажем в МК сработает прерывание и он отвлечется немного...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:33
Рейтинг@Mail.ru


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