В описаниях интерфейса RS485 сказано, что он определяет только электрические параметры, а протокол передачи в нем можно реализовать любой, например как в RS232, поэтому в идеале хотелось бы следующего: 1. Логически преобразовать один из имеющихся интерфейсов (SPI или LINK порты) в стандартный RS232 (стартовый бит, данные, стоповый бит)
2. Иметь возможность установить для него скорость передачи 115200 бит/с как для стандартного RS232, и скорость побольше, например 1 МБит/с. В крайнем случае можно просто иметь одну фиксированную скорость передачи 1 МБит или более.
3. Эта штука нужна только для передачи, прием данных не нужен вообще
4. По возможности иметь некоторое FIFO и соответственно сигнал прерывания о том что оно не содержит данных
5. Передавать данные в линию через дифференциальные высокоскоростные приемопередатчики стандарта RS485
Вызывает сомнение возможность реализции в ПЛИС логики RS232 на скорости 1-10 МБит/с и более так как при этом нужна высокая тактовая частота. Я раньше не занимался ПЛИС отсюда и возникают вопросы о возможности реализации. Мои приблизительные расчеты таковы: 10 МБит/с=1.25 МБайт/с, с учетом стартового/стопового бита - 1.56 МБайт/с, умножаем на 16 для выделения битов по тактовым сигналам получаем ~25 МГц. Насколько верен такой подсчет? Кстати, в процессоре есть незадействованный таймер который умеет формировать тактовые импульсы с частотой работы ядра - до 40 МГц
|