Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LS-Sb89581

.pdf
Скачиваний:
3
Добавлен:
13.02.2021
Размер:
460.62 Кб
Скачать

Использование двух и более операторов в строке не только допустимо, но и желательно, если это позволяет подчеркнуть некую систему в локальной последовательности операторов, например:

x1 = Tr1[0]; y1 = Tr1[1]; z1 = Tr1[2];

x2 = Tr2[0]; y2 = Tr2[1]; z2 = Tr2[2];

x3 = Tr3[0]; y3 = Tr3[1]; z3 = Tr3[2];

Отступы. Правильное использование отступов является ключевым методом обеспечения читаемости. Идея состоит в том, что отступы зрительно показывают подчиненность (иерархию) операторов. При этом директивы препроцессора (#include, #define и т. д.), описания структур, типов, глобальных данных и определения функций всегда имеют наивысший приоритет, т. е. начинаются с крайней левой позиции, например:

#include

#define NAME_SIZE 256 int main()

{

}

Рассмотрим основные правила использования отступов. Операторы одного уровня иерархии должны иметь равный отступ:

Неправильно

Правильно

printf( "Enter dimension: " );

printf( "Enter dimension: " );

ptr = new int [dim];

ptr = new int [dim];

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

Неправильно

Правильно

if( a == 1 )

if(a == 1)

printf( "Ok" );

printf( "Ok" );

else

else

printf( "No" );

printf( "No" );

Размер сдвига должен быть постоянным:

Неправильно

Правильно

if( a == 1 )

if(a == 1)

 

11

printf( "Ok" );

printf( "Ok" );

else

else

printf( "No" );

printf( "No" );

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

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

int fact ( int n )

{

if( n > 1 )

{

return n * ( n–1 );

}

else

{

return –1;

}

}

Пробелы. Особенность зрительного восприятия человека такова, что пробелы распознаются лучше других знаков синтаксиса. Поэтому отдельные элементы текста необходимо отделять пробелами, несмотря на то, что первые, возможно, уже отделены другими знаками препинания (скобки, запятые, точка с запятой и т. д.). В особенности важно отделять стоящие рядом опера-

торы и списки аргументов функций:

 

Неправильно

Правильно

while(i++ < dim)

while( i++ < dim )

move(a,b,ptr[base+off*i]);

move( a, b, ptr[base + off*i] );

Пустые строки. Использование пустых строк является важным средством для выделения участков программы. При этом имеет смысл отделять:

char str[80];

fgets( str, 79, infile);

– определения переменных;

12

#include

#define MAX_LEN 3000

– последовательности однотипных инструкций или директив;

int main()

{

}

char set_val()

{

}

– функции;

printf( "Enter size and delta: " ); // Блок ввода данных

for( i=0; i < size; i++ ) // Блок использования данных

{

b[i] += delta; b_count++;

}

– любые логически завершенные блоки кода.

Имена. Все переменные, имеющие сколько-нибудь важное значение в программе, необходимо снабжать именами, в той или иной мере характеризующими их назначение, например: filename (имя файла), int_vector (целочисленный вектор), size (размер), sum (сумма), maximum (максимум) и т. п. Однобуквенные имена принято давать только индексам. Исключением являются случаи, когда количество переменных в процедуре очень мало и смысл их хорошо понятен из контекста или комментариев.

Все изложенное вполне относится и к именам файлов с программами. Имена файлов должны нести обязательную смысловую нагрузку, поясняя свое «содержимое».

Комментарии. Время, потраченное на написание комментариев, многократно окупится при любых модификациях программы. Однако комментиро-

13

вать все подряд, включая самоочевидные действия, как в следующем примере, тоже не стоит:

size = 10; // Присвоить size значение 10 for( i=0; i < size; i++) { … } // Цикл по i от 0 до size

Комментировать следует:

заголовок файла, описывая содержимое данного файла;

заголовок функции, поясняя назначение ее аргументов и смысл самой функции;

вводимые переменные и структуры данных;

основные этапы и особенности реализуемых алгоритмов;

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

3.СХЕМОТЕХНИЧЕСКАЯ РЕАЛИЗАЦИЯ УСТРОЙСТВА

3.1.Общие правила оформления схем принципиальных электрических

Схемы принципиальные электрические следует оформлять в одном из современных средств разработки электронного аппаратного обеспечения. Настоятельно рекомендуемое для оформления схем программное обеспечение – Altium Designer, актуальной на момент составления пояснительной записки версии. Использование графических редакторов общего назначения

(Microsoft Word или Visio, Corel Draw, Adobe Illustrator или Page Maker) или машиностроительных систем автоматизированного проектирования (САПР), в частности, AutoCAD и КОМПАС, не допускается, как и оформление схем вручную на бумаге.

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

Ввиду того, что традиции оформления схем принципиальных электрических в современных САПР, ориентированных на разработку схем и печатных плат, имеют некоторые отличия от требований соответствующих ГОСТ, от-

14

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

3.2. Расчет элементов схем

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

Для расчета схем, построенных на ряде электронных компонентов того или иного производителя, существуют специфические инструменты расчета. Например, ведущий мировой производитель активных электронных компонентов «Texas Instruments» предоставляет пользователям возможность использовать различные узкоспециализированные программы по расчету схемотехнических узлов. Наиболее известной программой такого рода является веб-приложение «WEBENCH Designer Tools», позволяющее пользователю автоматически рассчитывать и подбирать компоненты для создания источников питания. Использование подобных средств допускается и всячески приветствуется при условии, что пояснительная записка содержит ссылки на такие программы автоматического расчета, данные, вводимые в программы, и результаты работы этих программ (в том числе результаты моделирования).

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

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

15

док номиналов таких компонентов выбирается из достаточно общих соображений. В этих случаях требуется сослаться на эти соображения, указав, скажем, порядок входного сопротивления цифрового входа микросхемы, который должен быть много больше номинала «резистора-подтяжки». В случае если какая-то микросхема требует специфической обвязки из пассивных компонентов (например, трансивер интерфейса RS-232 требует подключения к его выводам нескольких конденсаторов емкостью как минимум 100 нФ), достаточно сослаться на документацию этой микросхемы, указав название документа, главу, конкретную таблицу в документе, пример применения и т. п.

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

При использовании конденсаторов следует выбирать их типоразмер, исходя из сочетания номинала и пробивного напряжения для данного типа конденсатора. Например, в случае если в схеме требуется конденсатор номиналом 10 мкФ на напряжение 16 В, использовать керамический конденсатор в планарном корпусе 0603 нельзя потому, что такого конденсатора на требуемое рабочее напряжение просто не существует.

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

Наборы номиналов пассивных компонентов содержат ограниченное количество значений. Например, для резисторов с точностью 5 % стандартным является набор номиналов Е24, содержащий по 24 номинала в каждой декаде (24 фиксированных номинала в диапазоне 1…10 Ом, столько же и таких же – в диапазонах 10…100, 100…1000 Ом и т. д.). Более точные резисторы (1 %), как правило, подбираются по набору номиналов Е96, содержащему 96 значений на декаду. Если, используя стандартные наборы номиналов, не удается подобрать точное значение компонента в соответствии с расчетным, необходимо использовать наиболее близкое. Также в этом случае нужно оценить влияние результирующей ошибки на функционирование электрической схемы. Обычно она не должна превышать ошибку, вызванную паспортной точностью компонента (5, 1 % и т. д.). Использовать резисторы с точностью не

16

менее, чем 1 %, следует только в ряде специфических случаев, предварительно обосновав такое решение.

Во всех случаях, когда возможно, рекомендуется использовать микросхемы в планарных корпусах типа SOIC, QFP и пассивные компоненты в планарном корпусе 0603 или 0805.

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

Оценить тепловую мощность, выделяемую на микросхеме линейного стабилизатора напряжения, можно, умножив ток потребления нагрузки на разницу между входным и выходным напряжениями линейного стабилизатора. Если оказывается, что при использовании микросхемы линейного регулятора напряжения в некотором компактном корпусе (например, SOT-223 или TO-92) она испытает перегрев, то требуется выбрать более мощный корпус (D-PAK, TO-220) или даже указать, что корпус должен устанавливаться на радиатор с рассчитанным термическим сопротивлением. Методы расчета термического сопротивления радиатора и выбора его типа, максимальная рабочая температура и соответствующие параметры корпусов микросхем приводятся в документации на мощные линейные стабилизаторы напряжения (78xx, LM317 и т. д.). Естественно, что при выборе стабилизатора следует также учитывать его максимально допустимое входное напряжение и максимальный выходной ток.

3.3.Условные графические обозначения

иэлементы электрических схем

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

17

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3.1

Условные обозначения электронных компонентов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Электронный компонент

Варианты условного графического обозначения

Резистор постоянный

 

 

 

R1 1 k

R2 1 k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конденсатор

 

 

 

 

 

C1

 

 

 

 

 

 

 

C2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10 uF

 

 

 

 

 

100 uF 16 V

 

 

 

 

 

 

 

электролитический

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

U1A

 

2

 

AD8616

 

 

1

Операционный усилитель

3

A

 

 

 

 

 

 

4

DA1

1

U1A

&

Логический элемент «И»

 

3

2

 

 

 

 

DD1

Транзистор биполярный

Q1

VT2

типа npn

BC847

BC847

18

Иными словами, все резисторы, все конденсаторы, операционные усилители (ОУ), логические элементы (ЛЭ) и другие в альбоме схем должны быть обозначены одинаковым способом. Существует несколько вариантов формирования цифробуквенного позиционного обозначения элементов схем и их номиналов (табл. 3.2).

 

 

Таблица 3.2

Позиционные обозначения электронных компонентов

 

 

 

Электронный

Варианты позиционного

Варианты указания

компонент

обозначения

номинала

 

 

 

Резистор

R1, R2, …

1 k, 1 K, 1 kOhm,

1 кОм, 1 кΩ, 1 kΩ

 

 

Конденсатор

 

1 мкФ, 1 uF, 1 µF

(в том числе

C1, C2, …

100 nF, 0.1 uF, 100 нФ, 0.1 мкФ

электролитический)

 

(100 мкФ 16 В, 100 uF 16 V)

Разъем

XP1, J2

Аналоговая

 

 

микросхема

DA1, U1

 

(в том числе с

 

(DA1:1, DA1A)

несколькими

(U1.1, U1A)

 

элементами внутри

 

 

 

корпуса)

 

 

Цифровая

 

 

микросхема

DD1, U1

 

(в том числе с

 

(DD1:1, DD1A)

несколькими

(U1.1, U1A)

 

элементами внутри

 

 

 

корпуса)

 

 

Транзистор

VT1, Q2

Перед тем, как приступать к оформлению схем, следует выбрать способ формирования позиционных обозначений элементов и их номиналов и придерживаться этого способа на протяжении всей работы над проектом. Например, именовать все разъемы с использованием буквы J, а все транзисторы – с использованием букв VT, порядок номинала указывать латинскими буквами (k – кило, M – мега и т. п.). При этом важно всегда использовать один и тот же символ (например, латинский), даже если начертание латинской «M» и начертание кириллической «М» идентичны. С точки зрения САПР латинские и кириллические символы разные, и применение обоих сразу повлияет на автоматическое управление списком компонентов проекта.

Следует обратить внимание, что существует не только несколько вариантов обозначения единиц измерения номинала (омы, фарады и т. п.), но и несколько способов записи одного и того же значения. В частности, номиналы в сотни нанофарад можно записывать как доли микрофарад, например,

19

0.1 мкФ вместо 100 нФ. Аналогично, номиналы в единицы нанофарад зачастую обозначают как тысячи пикофарад. Все эти варианты записи могут быть использованы при условии, что альбом схем не содержит более одного варианта.

Для уточнения особенностей начертания условного графического обозначения для конкретного элемента следует обратиться к справочной литературе. Допускается изображать микросхемы с большим количеством выводов в виде компонентов, содержащих в себе несколько внутренних компонентов. Для микросхем, содержащих в себе, например, 2 или 4 одинаковых операционных усилителя либо логических элемента, эти ОУ или ЛЭ изображаются на схемах отдельно и имеют позиционные обозначения, например, по шаблону «U1A» или «DD2.1». Аналогично допускается изобразить, скажем, микроконтроллер, выделив в отдельные подкомпоненты его порты ввода-вывода (которых современные МК содержат, как правило, не менее четырех), сгруппировать в отдельный подкомпонент выводы питания, выводы тактового генератора, модуля отладки (JTAG) и т. п. Подобный прием оправдан для микросхем с количеством выводов порядка 100 и более. Его применение должно быть обоснованным и улучшать читаемость альбома схем, а не затруднять ее. В частности, удобно разместить подкомпонент, содержащий выводы питания микроконтроллера, на листе, содержащем блок питания, АЦП – на листе с аналоговой частью схемы, а порты ввода-вывода – на листе с цифровым блоком (например, схема ввода-вывода или индикации).

3.4. Соединения на принципиальных электрических схемах

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

Подключение скрытых выводов к цепям питания схемы в различных САПР осуществляются различными способами. В САПР Altium Designer, рекомендованном для разработки проекта, это делается путем редактирования свойств компонента, размещенного на листе схемы.

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

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]