КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
В.3.2. Структура блока ЦАП
#. АНАЛОГОВЫЕ ЭЛЕМЕНТЫ УСТРОЙСТВ ВВОДА/ВЫВОДА. #.1. Мультиплексоры аналоговых сигналов (МАС)
Увеличение числа коммутируемых каналов. Пример: Подключается вход «12».
#.2. Измерительные (инструментальные) программируемые усилители. - Усиление дифференциальных сигналов - Малый уровень собственных шумов - Полоса пропускания – килогерцы - Усиление – до 1000
Дифференциальный операционный усилитель.
Недостатки: o Входное сопротивление ограничено резисторами R1, R2, R4. o Для изменения коэффициента усиления нужно одновременно изменять сопротивление двух резисторов o Мал коэффициент ослабления синфазного сигнала.
Конфигурация входов ПИУ
А) Общая «земля» источника сигналов и усилителя Б) Общая «земля» источника сигналов В) «Земли» источников сигналов не совпадают
#.3. Схемы выборки и хранения (СВХ)
- снижение динамической погрешности, - упрощение восстановления сигнала, - точность косвенных измерений, - временная привязка.
#.4. Аналого-цифровые и цифро-аналоговые преобразователи #.4.1. Системные параметры АЦП - вид и диапазон изменения входного сигнала, входное сопротивление, - вид выходного кода и логические уровни выходного сигнала, - число разрядов выходного кода, - время преобразования.
#.4.2. Системные параметры ЦАП - вид входного кода и уровни опорных напряжений, - полярность и диапазон выходного сигнала, нагрузочная способность, - число разрядов входного кода, - время установления выходного сигнала.
#.4.3. Разрешающая способность преобразователей.
#.4.4. Функции преобразования -униполярный сигнал, прямой код -биполярный сигнал, прямой код -биполярный сигнал, дополнительный код Динамические характеристики – чистое запаздывание. #.4.5. Выбор времени преобразования АЦП Время преобразования должно быть таким, чтобы динамическая погрешность находилась в пределах веса младшего разряда.
#.4.6. Сигналы управления типового АЦП
#.4.7. Сигналы управления типового ЦАП
#.4.8. Увеличение разрядности преобразователей а) АЦП б) ЦАП
#.4.9. Уменьшение разрядности ЦАП
#. БЛОКИ ОБРАБОТКИ ДАННЫХ −Принцип использования двоичной системы счисления для представления данных и команд; - Принцип программного управления: программа состоит из набора команд, которые выполняются процессором в определённой последовательности одна после завершения другой; - Принцип однородности памяти: программы и данные хранятся в общей памяти. Над командами программы можно выполнять те же действия, что и над данными; - Принцип адресуемости памяти: основная память состоит из пронумерованных ячеек, и процессору в любой момент доступна любая ячейка; - Принцип условного перехода: при определённых условиях, последовательное выполнение программы может быть нарушено и выполнен переход на любую другую команду
Рис. #.1
#.1. Общая организация блока обработки данных ОУ выполняет микрооперации: a) установка регистра в заданное состояние; b) пересылка содержимого одного регистра в другой; c) сдвиг содержимого регистра влево или вправо; d) логические операции над содержимым регистров; e) сложение содержимого регистров. И т.п. МКОi (i=1…n) Þ МКК
Ex: Микропрограмма сложения содерж. регистров R1, R2 и запись суммы в R3.
МКПК ~ ADD R3, R2, R1 Система команд={ МКПi, i=1…N } Формат микрокоманды
#.2. Структурные схемы вычислителей А) ОКОД (SISD): структура однопроцессорных систем. Б) ОКМД (SIMD): Матричная структура.
В) МКОД (MISD): Конвейерная структура.
Г) МКМД (MIMD) - Структура с перекрёстной коммутацией.
- Структура с многошинными связями.
- Структура с общей шиной. - Общая шина с локальными ресурсами
#.3. Организация обмена данными микропроцессора с периферийными модулями #.3.1. Программно-управляемый обмен.
#.3.2. Обмен по прерываниям.
А) Программный полинг. Последовательный перебор всех адресов ПУ до погашения сигнала INT. Чтение флагового регистра и определение приоритетного запроса. Б) Аппаратный полинг.
В) Векторный полинг. #.3.3. Прямой доступ к памяти. #.4. Архитектура типового микропроцессора
#.5. Алгоритм работы типового микропроцессора
#.6. Распределение памяти типового микропроцессора
#.7. Микроконтроллеры Микроконтроллеры объединяют на одном кристалле блоки процессора, памяти и типичных периферийных устройств: - универсальные цифровые порты, которые можно настраивать как на ввод, так и на вывод; - различные интерфейсы ввода-вывода (UART, I²C, SPI, CAN, USB, Ethernet и др.); - аналого-цифровые и цифро-аналоговые преобразователи; - компараторы; - широтно-импульсные модуляторы; - таймеры; - контроллеры бесколлекторных двигателей; - контроллеры дисплеев и клавиатур; - радиочастотные приемники и передатчики; - встроенный тактовый генератор; - таймер реального времени; - сторожевой таймер; и др. #. ПРЕДСТАВЛЕНИЕ ДАННЫХ В МИКРОПРОЦЕССОРАХ #.1. Форматы записи чисел натуральные числа = 0…(2N-1). целые числа = (-2N-1)… (2N-1-1).
У всех чисел положение точки должно быть одинаковым. Показательная форма записи.
#.2. Запись отрицательных чисел GДОП= GОБР+1.
#.3. Формирование признаков выполнения арифметических операций
- знак результата (S) - равенство нулю (Z) - переполнение сетки (С) - арифметическое переполнение (V) - 2=00102 -2=11102 (0010→1101→1110) 5=01012 -5=10112 (0101→1010→1011) 7=01112 -7=10012 (0111→1000→1001) 9=10012 -9 →выходит за область допустимых значений (-8…7)
(5+9)=14 (7+9)=16 (5+(-7))=-2 (-2+(-5))=-7 (-5+(-7))=-12 0101 0111 0 101 1 110 1 011 100110011 0011 0111 001 1110 →14 1 0000 1 110 →-2 1 1 001→-7 10 100 ← ←← ←
#.4. Приёмы работы с числами, представленными в показательной форме В= 6,0=0,60∙101 060 –мантисса, 1 –порядок. А=10,5=0,105∙102 0105 –мантисса, 2 –порядок,
1 > m ≥ 0,1. А=0001010,1=0,1010100∙(2+4) В=0000110,0=0,1100000∙(2+3)
-А=-10,510=1,1010100∙(2+4) -В= -610=1,1100000∙(2+3).
#.4.1. Нормирование числа 00111101∙(2-1)= 01111010∙(2-2) 00001100∙(2+0)= 00000011∙(2+2) #.4.2. Сложение (вычитание) чисел A+B= 0,1010100∙(2+4)+ 0,1100000∙(2+3)= = 0,1010100∙(2+4)+ 0,0110000∙(2+4)= =1,0000100∙(2+4) - переполнение
мантиссы слагаемых надо уменьшить вдвое: A+B= 0,1010100∙(2+4)+ 0,1100000∙(2+3)= = 0,0101010∙(2+5)+ 0,0011000∙(2+5)= =0,1000010∙(2+5) (0,51625∙32=16,5)
−В=1,1100000∙(2+3)→ 1,0100000∙(2+3) А+(−В)= 0,1010100∙(2+4)+ 1,0100000∙(2+3)= = 0,1010100∙(2+4)+ 1,1010000∙(2+4)= = 1 0,0100100∙(2+4) (0,28125∙16=4,5)
сложение уменьшаемого с дополнением вычитаемого: А−В=А+(−В)
#.4.3. Умножение чисел А∙В=С=10,5∙6=63
01010100 ∙(2+4) ×01100000 ∙(2+3) 01010100 ______ 00,01111110000000 ∙(2+7) (0,4921875∙2+7=63)
Нормирование - сдвиг влево и отбрасывание восьми младших разрядов.
С=00,01111110000000∙(2+7)≈ 0,01111110∙(2+7) При округлении после сдвига к мантиссе нужно прибавить число с единицей в старшем отбрасываемом разряде: 0000 0000 1000 0000.
#.4.4. Умножение чисел со знаком (±A)·(±B)=(±C) (SA|A|)·(SB|B|)=(Sc|C|) |A|·|B|=|C| SA=SB Þ Sc= + SA¹SB Þ Sc= -
#. МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА F2MC-16LX (Fujitsu) 16-разрядные МК принстонской архитектуры. Производительность до 16 MIPS (млн. опер. в сек.). Различаются - максимальной внутренней частотой (8..24 МГц), - типом ПЗУ (масочные ROM, PROM, EPROM), - объёмом ПЗУ (24..384 Кбайт), - объёмом ОЗУ (1..16 Кбайт) - сочетанием > 15 типов периферийных устройств. МК содержат 16-разрядное ядро, 32-разрядный аккумулятор, 24-разрядная шина адреса (16 Мбайт). Адресное пространство – 256 банков ´64 Кбайта. #.1. Микроконтроллер MB90F591G Flash-память - 384 Кбайта. Статическое ОЗУ - 8 Кбайтов. Clock Controller -синтезатор тактовых частот. UART -последовательный универсальный асинхронный приёмо-передатчик, SPI -последовательный периферийный интерфейс, ADC -8-канальный 10-битный аналого-цифровой преобразователь, Reload Timer -2-канальный перезагружаемый 16-битный таймер, Watch Timer -сторожевой таймер, IO Timer -16-битный таймер ввода/вывода, Input Capture -блок захвата внешних событий (6 каналов), Output Comparator -выходой компаратор (6 каналов), PPG -программируемый генератор импульсов, CAN -последовательный интерфейс по стандарту CAN, SMC -контроллер шагового двигателя (4 канала), Sound Generator -звуковой генератор, External Interrupt -контроллер внешних запросов прерывания (8 каналов), General purpose I/O -порты ввода/вывода общего назначения (9 восьми- и 1 шестиразрядный порт с доступом к отдельным битам). Потребляемый ток – до 80 мА. #.2. Процессор микроконтроллера 16-разрядное АЛУ и 32-разрядный аккумулятор. Частота машинных тактов - 16 МГц (время выполнения команды ³ 62,5 нс). #.2.1. Пространство памяти
#.2.2. Регистры специального назначения а) Аккумулятор (А) – 32 разряда (AH, AL). б) Регистр состояния процессора (PS) Регистр кода состояния CCR: ü С –флаг переполнения разрядной сетки; ü V –флаг арифметического переполнения; ü Z –флаг нулевого результата выполненной операции; ü N –флаг отрицательного результата операции; ü T –флаг выхода единицы за разрядную сетку при выполнении операций сдвига; ü S –бит выбора стека (системный или пользовательский); ü I –бит запрещения прерываний (0 –прерывания запрещены);
Регистр указателя банка регистров общего назначения RP Маска уровня текущего прерывания ILM.
а) Счётчик команд (РС) – 16 разрядов в) Регистры указателей банков: - Регистр указателя банка программ -PCB - Регистр указателя банка данных -DTB - Регистр указателя банка дополнит. данных -ADB - Регистр указателя банка системного стека -SSB - Регистр указателя банка стека пользователя -USB.
Адресация памяти программ. Адресация памяти данных. Адресация стека.
#.2.3. Регистры общего назначения В памяти организованы 32 банка регистров общего назначения. Адрес банка 000180Н+(RP)∙10H, где (RP) – указатель банка регистров. Например, двадцатый (RP=14Н) банк занимает область памяти с начальным адресом 0002С0Н.
#. Система команд микроконтроллера Форматы данных: бит, байт, слово, двойное слово:
Отрицательные числа – в дополнительном коде. #.1. Способы адресации Операнды могут располагаться: · в регистрах общего назначения, · в регистрах периферийных устройств, · в специализированных регистрах микропроцессора, · в ячейках памяти (ОЗУ и ПЗУ), · в коде команды. · а) Прямая регистровая адресация Пример: R0, RW7, RL3, A, PS – встроенные имена. б) Косвенная регистровая –операнд находится в ячейке памяти.
в) Косвенная регистровая с пост-инкрементом. ADDR - как п.б); после выбора операнда - RW инкрементируется. г) д) Косвенная регистровая со смещением. Пример: @RW1+25.
е) Косвенная регистровая с индексом.
ж) Косвенная по счетчику команд со смещением
з) Прямая. ü короткая прямая ü прямая ü прямая в области ввода/вывода (000000…0000FF)
и) Непосредственная
#.2. Типы команд В зависимости от размера операндов (8, 16, 32 бита) команды подразделяются на одно-, двух –, четырёхбайтные. Наборы одно- и двухбайтных команд почти полностью совпадают. Четырёхбайтные команды поддерживают основные операции, но их разнообразие значительно меньше. Приведём выборку команд, предназначенных, в основном, для работы с байтами и словами. А) команды пересылок данных: MOVL d32, s32 s32→d32 POPW d16 @(USB,USP)- или @(SSB,SSP)- →d16 EXT ALH←FF если AL:7=1, иначе - ALH←00 EXTW AH←FFFF если AL:15=1, иначе - AH←0000
Б) арифметические команды сложения и вычитания {A=xxxxA046; 0E021h=AB}Þ A=xxxx00F1 {A=xxxxCD04; RW0=E2A4; E2A5; E2A6,5=315D}Þ E2A6,5=FE61 {A=xxxxA046; 0E035h=D5; C=1} Þ A= xxxx001С {A=xxxx2068; RW0=E024; E024=52; E025=89;C=1}ÞA=xxxxA9BB, RW0=E026 SUB A, #22h {A=xxxx4901}Þ A=xxxx00DF SUBC A, s8 A ← A-s8-C SUBC A, R1 {A=xxxx0035; R1=54; C=0} Þ A: xxxx00E1 SUBW d16, s16 d16-s16→d16 SUBW @RW0+, A {A=xxxx3104; RW0=E2A4h; E2A5,4h=5DAB}Þ E2A5,4h=2CA7 SUBCW A, s16 A ← A-s16-C SUBCW A, 0E024h {A=xxxx7558; E024h=5B; E025h=A9;C=1}ÞA=xxxxCBFC
В) арифметические команды умножения и деления MUL A, s8 AL ←ALL×s8 MUL A, R7 {A=xxxx 0085; R7=A5}Þ A=xxxx 2BB9 MULU A, s8 AL ←ALL×s8 MULU A, R7 {A=xxxx 0085; R7=A5}Þ A=xxxx 55B9 DIV A, s8 ALL ←AL/s8; s8 ←AL mod s8 DIV A, R0 {A=1357; R0=AAh}Þ A=00C7; R0=31 DIVU A, s8 ALL ←AL/s8; s8 ←AL mod s8 DIVU A, ААh {A=1357; R0=AAh }Þ A=001D; R0=15 MULW A A ←AH×AL MULW A, s16 A ←AL×s16 MULW A {A=AD01 05ED}Þ A=FE14 2EED MULUW A A ←AH×AL MULUW A, s16 A ←AL×s16 MULUW A {A=AD01 05ED}Þ A=0401 2EED DIVW A, s16 AL ←A/s16; s16 ←A mod s16 DIVW A, 7254h {A=0000 1357; 7255h…7254=00 AA}Þ A=0000 001D; 7255h…7254h=00 15 DIVUW A, s16 AL ←A/s16; s16 ←A mod s16 DIVUW A, 7254h {A=0000 1357; 7255h…7254=00 AA}Þ A=0000 001D; 7255h…7254=00 15 В) команды инкремента и декремента INC s8 s8+1→s8 DEC s8 s8-1→s8 INCW s16 s16+1→s16 DECW s16 s16-1→s16 INCL s32 s32+1→s32 DECL s32 s32-1→s32
AND d8, s8 (d8 Λ s8)→d8 NOT s8 (ıs8) →s8 OR d8, s8 (d8 V s8)→d8 XOR d8, s8 (d8 Å s8)→d8 NEG s8 -s8→s8 ANDW d16, s16 (d16 Λ s16)→d16 NOTW s16 (ıs16) →s16 ORW d16, s16 (d16 V s16)→d16 XORW d16, s16 (d16 Å s16)→d16 NEGW s16 -s16→s16
Г) сравнение:
Д) сдвиги: ROLC d8 Е) битовые операции:
Ж) передача управления: переходы на метку «М» по флагам в CCR (по результату сравнения) BLO M d<s –сравнение без знака BHS M d≥s –сравнение без знака BLT M d<s –сравнение со знаком BGE M d≥s –сравнение со знаком
CBNE s8, #d8, M если s8≠d8 –переход на метку М DBNZ d8, M (d8-1)→d8, и если d8≠0 –переход на метку М
CALL M переход на подпрограмму М RET возврат из подпрограммы RETI возврат из процедуры прерывания
#.3. ОСНОВНЫЕ ПРИЁМЫ ПРОГРАММИРОВАНИЯ А) Передача параметров в подпрограмму - передача данные через стек, с использованием команд PUSH и POP. - передача через банк регистров общего назначения. - директивы.EXPORT и.IMPORT. Б) Операции над целыми числами повышенной разрядности 1) Сложение а) Сложить младшие байты б) Сложить старшие байты и бит переноса С
2) Вычитание а) Получить дополнительный код вычитаемого б) Выполнить сложение операндов
3) Умножение
а) Умножить А0×В0 →L1L0 б) Умножить А1×В0 →E2E1 в) Умножить А0×В1 →F2F1 г) Умножить А1×В1 →D3D2 д) Сложить L1+E1 →n; c →S е) Сложить F1+n →N; c +S→S ж) Сложить Е2+S →Е2; с →S з) Сложить E2+F2→m; c +S→S и) Сложить D2+m →M; c +S→S к) Сложить D3+S →Н
При умножении чисел со знаком, перемножаются модули сомножителей. Если знаки сомножителей различны, в качестве результата берётся дополнительный код произведения. 4) Деление В командах деления делимое размещается в регистре удвоенной длины 2N. Если при делении частное превышает размер регистра-приёмника N, команда деления не выполняется: 03FA: 02 =01FD Для исключения подобных случаев, делимое разделяется на две части.
5) Извлечение квадратного корня Для вычисления целой части квадратного корня числа N, можно применить итерационный метод: квадратный корень из целого числа равен количеству последовательных нечётных чисел, сумма которых равна числу N с недостатком или избытком.
В) Организация разветвляющихся вычислительных процессов 1) Выполнение группы команд при определённых условиях
Пример: Вычислить модуль числа в регистре R0. MOV A, R0 CMP A, #0 BP m1 NEG R0 m1: NOP
2) Многократное выполнение группы команд (цикл) а) с фиксированным числом проходов
Пример: Вычислить четвёртую степень содержимого регистра RW0 MOV R0, #4 MOV R0, #0 MOVW A, #1 MOVW A, #1 m1: MULW A, RW0 m1: MULW A, RW0 DBNZ R0, m1 INC R0 MOVW RW0, A CBNE R0, #4, m1 MOVW RW0, A
б) с выходом из цикла по условию
Пример: Сдвигать содержимое RW0 влево, пока RW0:15≠1 и определить число сдвигов MOV R1, #0 MOVW A, RW0 m2: CMPW A, #0 BN m1 LSLW A INC R1 JMP m2 m1: NOP
Г) Табличные функции Табличные функции являются структурами данных, содержащими информацию (данные или адреса), имеющую определённую связь с известным значением. Например, телефонный справочник является табличной функцией: по известной фамилии можно найти соответствующий номер телефона. а) Табличные функции как замена формул на примере Sin(X)
Для точного вычисления синуса угла можно использовать разложение в ряд Если требуется иметь значение синуса угла в пределах 0о…360о с шагом в один грудус, то можно составить таблицу значений синусов для углов первого квадранта 0о…90о и вместо вычислений по формуле просто выбирать из таблицы готовый результат. При этом нужно иметь в виду соотношения
х=0о…90о sin(x) х=91о…180о sin(180o-x) х=181о…270о -sin(x-180o) x=271o…360o -sin(360o-x)
б) Табличное преобразование кодов С помощью таблиц можно изменить формат представления данных, сформировать код для вывода нужного символа на дисплей или принтер, получить код для управления периферийным устройством и т.п. в) Таблицы переходов Вместо значений данных таблицы могут содержать адреса. Например, процедура обработки прерывания может использовать таблицу переходов для выбора разных подпрограммы в зависимости от состояния устройства.
Дата добавления: 2014-01-11; Просмотров: 844; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |