На отладочной плате присутствуют различные цифровые устройства, принципиальная схема которых прилагалась в электроном виде продавцом при получении заказа. Принципиальная электрическая схема представляет собой графическое представление электронной схемы. В ней используются стандартные символьные представления различных элементов таких как резисторы, конденсаторы, транзисторы и т.д. Схема показывает связь между компонентами и наглядно показывает узлы.

Символы, указывающие на компонент в разных странах могут отличатся, но в большинстве случаев используются международные стандарты обозначения элементов. Например, раньше резисторы изготавливались из куска проволоки, обмотанный таким образом, чтобы не создавалась индуктивность и такой элемент раньше обозначался как зигзагообразный символ, но проволочные резисторы в настоящее время используются в схемах с большой мощностью. Сейчас резисторы производят из углеродной субстанции, и обозначение его представляет собой вытянутый прямоугольник внутри которого иногда указывается его наминал в омах.

Так же свои обозначения имеют узлы и проводники, например, на схемах наглядно показан узел и обозначается он точкой, если же проводники просто пересекаются, то это тоже обозначается специальным символом.

Что бы схема была более читаемая каждый символ имеет свое буквенное обозначение, например, на рисунке 1 показан, R63 – шестьдесят третий резистор, Q53 PNP – пятьдесят третий транзисторный ключ PNP типа и т.д. Проводники зачастую имеют подпись схожую с ее предназначением, например, I/O138 проводник, идущий с входа/выхода номер 138.

Рисунок 1 – Часть принципиальной схемы отладочной платы A-C4E6E1

Для того чтобы включить определенный светодиод не обойтись без принципиальной схемы и умения ее прочитать. Чтобы включить один из двенадцати светодиодов под буквенным обозначением D3-D14, необходимо подать логический ноль на соответствующий выход FPGA указанный на схеме. Это напрямую следует из схемы, показанной на рисунке 2, на ней видно, что аноды светодиодов с помощью резисторов R26 – R37 подтянуты к питанию 3.3 В, для того что бы светодиод загорелся нам нужно соответствующий катода подключить к минусу питания, то есть подать на линию логический ноль.

Рисунок 2 – Схема подключения светодиодов на отладочной плате

Если работа со светодиодами связана с выходными значениями, поданными на линию с помощью FPGA, то работа с переключателями и кнопками связанна с чтением с линии значений (рисунок 3). Переключатели SW на плане представляют собой цельный модуль в котором установлено восемь переключателей, каждый переключатель одним концом подключен к общей линии GND. Второй конец подтянут с помощью резисторных сборок RP6-RP7 к питанию 3.3 В, это означает что по умолчанию, когда переключатель в положении ON, линия находится в состоянии логической единицы. В момент коммутации переключателя на линии устанавливается значения доминантного состояния, то есть логического нуля.  

Кнопки работают практически по такому же принципу что и переключатели, только время коммутации равно времени удерживания кнопки в нажатом состоянии. Один конец так же подключен к общей шине GND, второй потянут к питанию через резистор, резистор необходим для того что бы в момент нажатия на кнопку на линии не возникало неопределенное состояние на линии. В работе с кнопками и переключателями необходимо учитывать и такой фактор как дребезг. При нажатии на копку или при изменение состояния переключателя, соединяются/разъединяются два проводника, человеку может показаться что процесс происходит мгновенно, но на самом деле процесс коммутации происходит колебательно, то есть за время примерно 1 мс после нажатия на кнопку, платина внутри колеблется от 10 до 100 раз. Считывания с линии происходит очень быстро и FPGA распознает каждое колебания как изменения логического состояния на линии. В момент написания кода для FPGA это необходимо учитывать и пытаться избавляться от этого эффекта, например, использовать керамический конденсатор, который работает по второму закону коммутации говорящий о том, что напряжение на конденсаторе не может измениться моментально и в начальный момент коммутации напряжение на емкостном элементе имеет то же значение что и в момент непосредственно перед коммутацией, и потом плавно изменяется.

Так же бороться с дребезгом можно внесением поправок в исходный код, например, можно считать за однократное нажатие 10-15 колебаний на линии, стоит учесть, что каждая кнопка требует уникального подхода к избавлению от нежелательных колебаний.

Рисунок 3 – Принципиальная схема подключения переключателей и кнопок на отладочной плате

 

На отладочной плате так же присутствует восемь семисегментных индикаторов, с их помощью можно реализовать много интересных проектов, например, на них можно выводить время, либо выводить значение счетчика и т.д. На плате они выполнены в виде двух модулей по четыре сегмента в каждом, у двух модулей общая шина данных и к у каждого индикатора имеется свой вход разрешения.

Семисегментный индикатор состоит из семи светодиодов расположенных и разделенных так, чтобы при включении одного из светодиодов зажигался определенный участок, иногда присутствует восьмой светодиод отвечающий за точку.

Индикаторы бывают с общим анодом и с общим катодом, данная характеристика показывает с помощью какого логического уровня управляется отдельный сегмент, например, если схема выполнена с общим катодом, то на информационный вход индикатора надо подать высокий уровень, с общим анодом наоборот низкий уровень. В нашем случает установлен модуль YY3641BH являющийся семисегментным индикатором с общим катодом, что означает управление сегментами с помощью высокого уровня (логической единицы).

Каждый сегмент индикатора имеет свое буквенное обозначение a-g, а точка обозначается как DP. На рисунке 4 изображено положение сегментов и их порядок обозначения. В таблице 1 показано какие сегменты надо включать что бы отобразить конкретную десятичную цифру.

Рисунок 4 – Положение сегментов и их буквенное обозначение

Таблица 3 – Таблица истинности для отображения на семисегментном индикаторе с общим катодом, десятичных цифр

Десятичная цифра

Сегменты индикатора

a

b

c

d

e

f

g

0

0

0

0

0

0

0

1

1

1

0

0

1

1

1

1

2

0

0

1

0

0

1

0

3

0

0

0

0

1

1

0

4

1

0

0

1

1

0

0

5

0

1

0

0

1

0

0

6

0

1

0

0

0

0

0

7

0

0

0

1

1

1

1

8

0

0

0

0

0

0

0

9

0

0

0

1

1

0

0


В принципиальной схеме, показанной на рисунке 5 видно, что информационные линии a-g подключается через токоограничивающие резисторы к индикатору, а вход разрешения для отдельного индикатора осуществлен через транзисторы PNP типа, то есть для включения индикатора на базу одного из транзистора необходимо подать логический ноль.

Например, на семисегментном индикаторе под буквенным обозначением 4LED1, надо вывести десятичную цифру 8. Для этого на выход FPGA I/O128 необходимо установить значение логического нуля и на информационные лини a-g установить аналогичное значение логического нуля.

Еще одним элементом на отладочной плате является кварцевый резонатор на 50 мГц, считывание тактирующих импульсов происходит с ноги FPGA под номером 23. Тактироваться можно как по фронту, так и спаду импульса, что позволяет увеличивать быстродействие системы. С помощью генератора можно задавать время опроса входов и т.д.

Рисунок 9 – Принципиальная схема семисегментных индикаторов на отладочной плате