Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа.doc
Скачиваний:
57
Добавлен:
01.05.2014
Размер:
469.5 Кб
Скачать

1. Разработка устройства

1.1 Обобщенная функциональная схема и принцип работы устройства

Исходя из нашего технического задания, устройство было разделено на 3 основных блока.

Первый блок (RS_232_Analyzer_Incoming) предназначен для приема информации по последовательному каналу RS-232. Его функции состоят в том, чтобы принять пакет по каналу RS-232, выдать сигнал о приходе этого пакета и осуществить преобразование пакета из последовательного кода в параллельный для дальнейшей обработки.

Второй блок (Part3) представляет собой вычислительную основу нашего устройства. Он обрабатывает принятые по RS-232 пакеты таким образом, чтобы формировать:

1) количество сигналов, которые нужно воспроизвести

2) для каждого сигнала: начальный период, количество импульсов в сигнале, величину, на которую нужно изменять полупериод сигнала (для линейного изменения частоты), а также паузу после окончания генерации сигнала.

Третий блок (Part4) осуществляет запись данных со второго блока в FIFO, а затем, когда все данные приняты и записаны, - непосредственно генерацию сигналов. Функциональная схема устройства приведена на рис. 1.1.

Рис. 1.1 – функциональная схема генератора последовательностейRS-232

Общая схема устройства приведена в приложении 1 на рисунке пр_1.1.

Помимо приведенных выше блоков был также использован генератор clk на 25 МГц (пин PIN_H2).

Для передачи информации использовался последовательный интерфейс RS-232, разъем которого (пин PIN_F5) расположен на плате, а также стандартный вывод платы (пин PIN_K4).

Далее рассмотрим подробно каждый блок устройства.

1.2 Функциональная схема и принцип работы блока “Анализатор прихода пакета по последовательному интерфейсу rs-232” (rs_232_Analyzer_Incoming, первый блок устройства).

Как уже сказано ранее, этот блок предназначен для приема информации по последовательному каналу RS-232, а также преобразования этой информации из последовательного кода в параллельный.

Приведем некоторые сведения о последовательном интерфейсе RS-232.

Интерфейс RS-232C предназначен для подключения к компьютеру стандартных внешних устройств (принтера, сканера, модема, мыши и др.), а также для связи компьютеров между собой. Основными преимуществами использования RS-232C являются возможность передачи на большие (по сравнению, например, с Centronics) расстояния и простой соединительный кабель. Данные в RS-232C передаются в последовательном коде побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Данные могут передаваться как в одну, так и в другую сторону (дуплексный режим). Компьютер имеет 25-контактный (DB25P) или 9-контактный (DB9P) разъем для подключения RS-232C. Вид 9-контактного разъема представлен на рисунке 1.2.

Назначение сигналов следующее.

FG - защитное заземление (экран). -TxD - данные, передаваемые компьютером в

последовательном коде (логика отрицательная).

-RxD - данные, принимаемые компьютером в

последовательном коде (логика отрицательная).

Рис 1.2 – разъем подключения RS-232

RTS - сигнал запроса передачи. Активен во все время

передачи. CTS - сигнал сброса (очистки) для передачи. Активен во все время передачи. Говорит о готовности приемника. DSR - готовность данных. Используется для задания режима модема. SG - сигнальное заземление, нулевой провод. DCD - обнаружение несущей данных (детектирование принимаемого сигнала). DTR - готовность выходных данных. RI - индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети.

Формат передаваемых данных показан на рисунке 1.3. Собственно данные (5, 6, 7 или 8 бит) сопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определенные интервалы времени. Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми (допустимое расхождение - не более 10%). Скорость передачи по RS-232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.

Рис 1.3 – Формат передаваемых данных при посылке по RS-232

Но вернемся к нашей задаче. Нас, по существу, интересует только один pin RxD, который и использован при разработке устройства. Блок RS_232_Analyzer_Incoming синтезировался исходя из того, что скорость передатчика составляет 19200бит/с, передаются 8 бит данных, обрамленных стартовым и стоповым битами. Тогда при частоте clk, равной 25 МГц 1 бит данных передается примерно за 104мкс. Принцип работы блока RS_232_Analyzer_Incoming заключается в следующем: Вначале устройство анализирует переход линии RxD из ‘1’ в ‘0’ – это будет подозрение на стартовый бит. После этого анализируется середина (по времени передачи) этого бита – если ‘1’, то исходный бит стартовым не был (возможно, какие-либо помехи на линии), и устройство переходит в исходное состояния ожидания перепада линии RxD. Если же середина бита ‘0’, то производится проверка середин бит данных и возможного стопового бита. Если середина принимаемого бита данных – ‘1’, соответствующий бит выхода устанавливается в ‘1’. Если середина возможного стопового бита - ‘0’, то данный бит не стоповый – устройство переходит в исходное состояния ожидания перепада линии RxD. Если же середина возможного стопового бита равняется ‘1’, то данный бит является стоповым и устройство генерирует сигнал о приходе пакета, а также с некоторой задержкой выдается сам принятый пакет в параллельном коде.

Таким образом, блок RS_232_Analyzer_Incoming – это:

1) Конечный автомат RS_232_Analyzer, реализующий указанные выше действия.

2) Счетчик lpm_counter0 с таким модулем счета, чтобы его переполнение происходило при передаче половины бита по RS-232 (52 мкс).

3) Счетчик lpm_counter1, подсчитывающий эти переполнения (половины битов) и посылающий свой выходной код обратно в конечный автомат.

Счетчики сбрасываются в случае, если передача пакета по RS-232 не была завершена успешно (середина стартового бита – ‘1’, середина стопового бита – ‘0’), а также по окончании приема очередного пакета.

Функциональная схема блока приведена на рис. 1.4.

Рис. 1.4.

Схема RS_232_Analyzer_Incoming приведена в Приложении 1 на рисунке пр_1.2. Входом блока является input RS-232 (RxD - pin PIN_F5). Наличие триггеров обусловлено борьбой с искажениями сигналов. Текст автомата RS_232_Analyzer приведен в приложении 2.