- •Курсовой проект
- •2007 Г Оглавление
- •Введение.
- •Техническое задание.
- •1. Разработка устройства
- •1.1 Обобщенная функциональная схема и принцип работы устройства
- •1.2 Функциональная схема и принцип работы блока “Анализатор прихода пакета по последовательному интерфейсу rs-232” (rs_232_Analyzer_Incoming, первый блок устройства).
- •1.3 Функциональная схема и принцип работы блока “Анализатор информации, принятой по последовательному интерфейсу rs-232” (Part3, второй блок устройства).
- •1.4 Функциональная схема и принцип работы блока “Формирователь сигналов” (Part4, третий блок устройства).
- •1.5 Дополнительные элементы устройства и характеристика устройства в целом.
- •2. Тестирование устройства
- •2.1 Тестирование блока rs_232_Analyzer_Incoming
- •2.2 Тестирование блока Part3
- •2.3 Тестирование блока Part4
- •2.4 Тестирование устройства в целом
- •Заключение
- •Список использованной литературы
- •Приложение 1
- •Приложение 2.
- •1. Текст автомата rs_232_Analyzer (rs_232_Analyzer_Incoming).
- •2.Текст подблока Decounter (Part3).
- •3.Текст подблока Sig_Counter (Part3).
- •Текст автомата requester (Part4).
- •Текст устройства spad (Part4).
- •Текст устройства Sig_Sender (Part4).
- •Приложение 3.
1.4 Функциональная схема и принцип работы блока “Формирователь сигналов” (Part4, третий блок устройства).
В третьем блоке нашего устройства выполняются основные действия, связанные с его назначением, а именно – генерация сигналов с заданными частотами, длительностями и паузами после них. Генерация осуществляется на основании данных, полученных из предыдущего блока (part3). Рассмотрим блок part4 подробнее. Этот блок состоит из следующих компонентов (подблоков).
1) Конечный автомат requester. В его функции входит следующее:
- выдача сигнала записи в FIFO по завершении приема данных об очередном сигнале (выходное значение счетчика lpm_counter2 блока part3 кратно 6);
- когда завершен прием данных (количество непринятых сигналов стало равно нулю), выдача сигнала чтения из FIFO, а также сигнала разрешения генерации сигнала. Текст автомата приведен в приложении 2.
- выдача сигнала чтения из FIFO, а также сигнала разрешения генерации импульса в том случае, когда предыдущий сигнал полностью воспроизведен.
2) Выявитель перехода значения количества импульсов из 1 в 0 (spad). Этот переход означает, что полностью завершен прием информации по RS-232, и можно начинать генерацию сигналов. Выход этого подблока используется автоматом requester. Текст устройства приведен в приложении 2.
3) Блок FIFO. Этот блок используется для хранения значений параметров сигналов до тех пор, пока по каналу RS-232 не поступит вся информация о последовательности. Каждое устройство FIFO содержит 16 слов (количество сигналов в последовательности от 1 до 16). Также у каждого FIFO своя разрядность в соответствии с разрядностью параметра, который в нем хранится (разрядности параметров выбраны с учетом требуемой точности).
4) Генератор сигналов Sig_Sender. Этот блок осуществляет непосредственно генерацию последовательности сигналов, используя сигналы управляющего автомата requester и данные из FIFO. Принцип работы подблока Sig_Sender заключается в следующем. При поступлении сигнала разрешения работы и данных из FIFO он отсчитывает количество периодов clk, равное половине периода генерируемого сигнала, после чего переключает свой выходной сигнал (sig) в ‘1’. Одновременно с этим к следующему полупериоду сигнала прибавляется (или вычитается, если сигнал dir равен ‘1’) delta (если, конечно, начальный и конечный периоды сигнала не равны). В результате ‘1’ на выходе держится (период + delta) или (период - delta) периодов clk. Таким образом, период сигнала либо возрастает, либо убывает в арифметической прогрессии до тех пор, пока количество периодов не достигнет заданного значения. После этого генерация сигнала прекращается и начинается счет периодов clk до тех пор, пока не будет достигнуто время окончание паузы после сигнала. В этом случае подблок Sig_Sender выдает сигнал dq – сигнал сгенерирован, по которому автомат requester разрешает чтение данных из FIFO и генерацию следующего сигнала.
Коэффициенты в устройстве:
а) для того, чтобы период генерируемого сигнала соответствовал заданному при частоте clk 25 МГц вводим коэффициент полупериода – 10.
б) количество импульсов и delta дополнительных коэффициентов не требуют.
в) соответствие действительности паузы требует введения коэффициента 5.
Текст устройства приведен в приложении 2.
5) Умножитель lpm_mult0. Это устройство умножает значение паузы на 100000 перед записью его в FIFO. Это нужно для того, чтобы при генерации паузы ее сгенерированное значение соответствовало истинному. Дело в том, что с требуемой точностью значение паузы не превышает 100, но измеряется в десятках миллисекунд. Поэтому нам нужно домножить паузу так, чтобы единицами ее измерения стали сотни наносекунд. Таким образом, если пауза равняется 1 с, то в десятках миллисекунд это 100, а в сотнях наносекунд 100*100000=107.
Функциональная схема блока приведена на рис. 1.5.
Рис. 1.5.
Схема блока part3 приведена в Приложении 1 на рисунке пр_1.3. Тексты подблоков Sig_Sender, spad и requester приведены в приложении 2.