02

Цифровая схемотехника. Системы счисления, коды

1. 02

2.

Информация
ИНФОРМАЦИЯ
Численная
Текстовая
Прочая
Аудио
Видео
Исполняемые коды
И тд.
Для каждого типа используется наиболее оптимальная на данный
момент времени кодировка.

3.

Информация
Как заполнить таблицу?
Сорт рыбы
b11
b10
b9
Вес рыбы
b8
b7
b6
b5
b4
b3
b2
b1
b0
Всего
4096 строк
(комбинаций)
Текстовая информация
Численная информация
Можно конечно придумать свой собственный язык, понятный только передающей и
принимающей стороне. Но обычно этого делать не следует.

4.

Численная информация
Позиционные системы счисления
Десятичная
Цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Число 13245
Номер разряда
1324510 1 10 4 3 103 2 10 2 4 101 5 100
10000
1000
100
10
Вес разряда
Привычная и простая арифметика
1

5.

Численная информация
Двоичная система счисления
Все по аналогии с десятичной системой
Цифры 0, 1
Число 11001
Номер разряда (бита)
110012 1 2 4 1 23 0 2 2 0 21 1 20
16
8
4
2
1
Вес разряда
Правила формирования числа как и в десятичной системе.
Вся арифметика сохраняется.

6.

Численная информация
Двоичная система счисления
10
h
0
2
b3
b2
b1
b0
0
0
0
0
0
1
1
0
0
0
1
2
2
0
0
1
0
3
3
0
0
1
1
4
4
0
1
0
0
5
5
0
1
0
1
6
6
0
1
1
0
7
7
0
1
1
1
8
8
1
0
0
0
9
9
1
0
0
1
10
A
1
0
1
0
11
B
1
0
1
1
12
C
1
1
0
0
13
D
1
1
0
1
14
E
1
1
1
0
15
F
1
1
1
1

7.

Двоичная система счисления
Перевод из двоичной в десятичную.
110012 1 2 4 1 23 0 2 2 0 21 1 20 16 8 0 0 1 25
Имеет смысл только для числовой информации.
Перевод из десятичной в двоичную. Деньги считать умеют все.
Обычный набор
«Цифровой» набор
Только по одной монете каждого достоинства
24
2510 =
23
20
= 110012

8.

Двоичная система счисления
Перевод из десятичной в двоичную. Деление.
25
2
12
Остатки от деления на 2
1
6
0
3
Результаты деления на 2
0
1
1
0
25=11001
1

9.

Другие коды для представления чисел
Зачем они нужны?
Бранденбургские ворота в Потсдаме
С римскими цифрами более загадочно и изящно

10.

Римская система счисления
I
=
1
V
=
5
X
=
10
L
=
50
C
=
100
D
=
500
M
=
1000
MDCCLXX = 1770
1 + 700 + 70
Можно и так
MCCCMLXX = 1770
1 + 700 +
70
И еще кучей способов
Красиво.
Но попробуйте научиться арифметике в римской системе счисления.

11.

Код Грея
Задача – автоматизировать токарный станок
Необходимо знать текущие координаты резца.
Датчик абсолютного положения.
Absolute Encoder

12.

Код Грея
Absolute Encoder
Оптическая маска
Непрозрачно
Система считывания
Прозрачно
Свет не проходит:
Свет проходит:
Output=0
Output=1
Точности маловато будет.
В левой половине:
В правой половине:
Output=0
Output=1

13.

Двоичный код
Увеличение разрядности
Все как с рыбаками
Положение системы считывания
Результат = 00100
04h
Положение системы считывания
Результат = 10011
13h
Вроде все хорошо можно и дальше увеличивать разрядность

14.

Двоичный код. Проблема.
Но это работать не будет!
01111
0Fh
10000
10h
В идеале все хорошо
Оптические считыватели невозможно поставить абсолютно ровно
Ошибка в 50%. Датчики передадут, что резец находится здесь.
01111
0Fh
11111
1Fh

15.

Код Грея
Проблема в том, что при некоторых переходах требуется изменения одновременно
нескольких разрядов
10
h
0
2
b3
b2
b1
b0
0
0
0
0
0
1
1
0
0
0
1
2
2
0
0
1
0
3
3
0
0
1
1
4
4
0
1
0
0
5
5
0
1
0
1
6
6
0
1
1
0
7
7
0
1
1
1
8
8
1
0
0
0
9
9
1
0
0
1
10
A
1
0
1
0
11
B
1
0
1
1
12
C
1
1
0
0
13
D
1
1
0
1
14
E
1
1
1
0
15
F
1
1
1
1
Необходимо придумать другой код

16.

Код Грея
Код Грея: две последовательные комбинации отличаются только в одном разряде
10
h
0
Gray code
b3
b2
b1
b0
0
0
0
0
0
1
1
0
0
0
1
2
3
0
0
1
1
3
2
0
0
1
0
4
6
0
1
1
0
5
7
0
1
1
1
6
5
0
1
0
1
7
4
0
1
0
0
8
C
1
1
0
0
9
D
1
1
0
1
10
F
1
1
1
1
11
E
1
1
1
0
12
A
1
0
1
0
13
B
1
0
1
1
14
9
1
0
0
1
15
8
1
0
0
0

17.

Код Грея
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
Prefix
0
1
1
0
0
1
1
0
Mirror or Copy
0
0
1
1
1
1
0
0
Mirror
0
0
1
1
Prefix
Prefix
0
1
1
0
Mirror or Copy
Mirror
0
1
Mirror
Start
Код Грея: построение с использованием зеркального отражения
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

18.

Код Грея
Кодовая маска
http://www.tacticalmarcomms.com/news/134/

19.

Енкодеры
Увеличение разрядности

20.

Енкодеры
Применение

21.

Представление чисел
Двоичный код
Привычная арифметика
Код Грея
Удобно использовать в различных датчиках.
Арифметика по сложности схожа с
римскими цифрами.
По мере необходимости мы будем знакомиться с
другими кодами для представления чисел:
Дополнительным
Двоично-десятичным
Джонсона

22.

Представление текста
Сорт рыбы
b11
b10
b9
b8
Можно придумать
Текстовая информация
Есть ли готовые решения?

23.

Кодовая таблицы для передачи текстовой информации. ASCII
American Standard Code for Information Interchange
Знак (буква алфавита, знак препинания, и пр.) упаковывается в 1 байт
b7
b6
b5
b4
b3
Старшая тетрада
b2
b1
Младшая тетрада
В кодовой таблице 256 строк
28 = 256
b0

24.

Кодовая таблицы для передачи текстовой информации. ASCII
American Standard Code for Information Interchange
Младшая тетрада (h)
0
1
Старшая тетрада (h)
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
nul
1
soh

17
dc1

33
!
49
1
65
A
81
Q
97
a
113
q
129
Б
145
С
161
б
177

193

209

225
с
241
ё
2
stx

18
dc2

34
"
50
2
66
B
82
R
98
b
114
r
130
В
146
Т
162
в
178

194

210

226
т
242
Є
3
etx

19
dc3

35
#
51
3
67
C
83
S
99
c
115
s
131
Г
147
У
163
г
179

195

211

227
у
243
є
4
eot

20
dc4

36
$
52
4
68
D
84
T
100
d
116
t
132
Д
148
Ф
164
д
180

196

212

228
ф
244
Ї
5
enq

21
nak
§
37
%
53
5
69
E
85
U
101
e
117
u
133
Е
149
Х
165
е
181

197

213

229
х
245
ї
6
ack

22
syn

38
&
54
6
70
F
86
V
102
f
118
v
134
Ж
150
Ц
166
ж
182

198

214

230
ц
246
Ў
7
bel
23
etb

39
'
55
7
71
G
87
W
103
g
119
w
135
З
151
Ч
167
з
183

199

215

231
ч
247
ў
8
bs

24
can

40
(
56
8
72
H
88
X
104
h
120
x
136
И
152
Ш
168
и
184

200

216

232
ш
248
°
9
ht

25
em

41
)
57
9
73
I
89
Y
105
i
121
y
137
Й
153
Щ
169
й
185

201

217

233
щ
249

10
lf

26
sub

42
*
58
:
74
J
90
Z
106
j
122
z
138
К
154
Ъ
170
к
186

202

218

234
ъ
250
·
11
vt

27
esc

43
+
59
;
75
K
91
[
107
k
123
{
139
Л
155
Ы
171
л
187

203

219

235
ы
251

12
ff

28
fs

44
,
60
<
76
L
92
\
108
l
124

140
М
156
Ь
172
м
188

204

220

236
ь
252

13
cr

29
gs

45
61
=
77
M
93
]
109
m
125
}
141
Н
157
Э
173
н
189

205

221

237
э
253
¤
14
so

30
rs

46
.
62
>
78
N
94
^
110
n
126
~
142
О
158
Ю
174
о
190

206

222

238
ю
254

15
si

31
us

47
/
63
?
79
O
95
_
111
o
127
del
143
П
159
Я
175
п
191

207

223

239
я
255
16
dle
32
пробел
48
0
64
@
80
P
96
`
112
p
128
А
144
Р
160
а
176

192

208

224
р
240
Ё
Символы с кодами 128–255: национальная часть
Кодовая таблица 866 или
Кодовая таблица 1251
КОИ-8

25.

Кодовая таблицы для передачи текстовой информации. ASCII
American Standard Code for Information Interchange
Символы с кодами 128–255: национальная часть

26.

Кодовая таблицы для передачи информации. ASCII
Применение
Изначально для обмена с
Принтерами
Считывателями с перфокарт и перфолент
В настоящее время очень широко.
Пример:
Зайдите в какой либо текстовый редактор
Включите «Num Lock»
Нажмите и удерживайте «Alt»
На цифровой панели наберите десятичный код символа
Отпустите «Alt»
Удивляйтесь.
Я здесь набрал код=1

27.

Кодовая таблицы для передачи информации. ASCII
Можно даже графику передавать
ASCII-арт

28.

Кодовая таблицы для передачи текстовой информации. ASCII
Коды управляющих символов (0–31)
h
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
10
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Обозначение
NUL
SOH
Start Of Heading
STX
Start of Text
ETX
End of Text
EOT
End of Transmission
ENQ
Enquire
ACK
Acknowledgemen
BEL
Bell
BS
Backspace
TAB
Tab
LF
Line Feed
VT
Vertical Tab
FF
Form Feed
CR
Carriage Return
SO
Shift Out
S1
Shift In
DLE
Data Link Escape
DC1
Device Control 1
DC2
Device Control 2
DC3
Device Control 3
DC4
Device Control 4
NAK
Negative Acknowledgment
SYN
Synchronization
ETB
End of Text Block
CAN
Cancel
EM
End of Medium
SUB
Substitute
ESC
Escape
FS
File Separator
GS
Group Separator
RS
Record Separator
US
Unit Separator
Значение
Пусто
Начало заголовка
Начало текста
Конец текста
Конец передачи
Прошу подтверждения
Подтверждение
Сигнал (звонок)
Забой (шаг назад)
Горизонтальная табуляция
Перевод строки
Вертикальная табуляция
Новая страница
Возврат каретки
Выключить сдвиг ленты
Включить сдвиг ленты
Ключ связи данных
Управление устройством 1
Управление устройством 2
Управление устройством 3
Управление устройством 4
Не подтверждаю
Синхронизация
Конец передаваемого блока
Отмена
Конец бумаги, ленты и пр.
Замена
Ключ начала управления
Разделитель файлов
Разделитель группы
Разделитель записей
Разделитель модулей


















§










29.

Опять про рыбаков
Выберем последовательную систему передачи.
Физический
уровень
Выберем логические уровни сигналов.
VL
VH
Out
0÷0,4 В
2,4÷5 В
In
0÷0,8 В
2,0÷5 В
0,8-0,4=0,4 В
2,4-2,0=0,4 В
Как пример – TTL уровни.
Запас
Выберем последовательность передачи информации и кодировку ASCII.
STX Название рыбы RS Вес рыбы ETX
Начало текста
Разделитель записей
Служебные поля
Логический
уровень
Конец текста

30.

Протокол
Кадр (Frame)
Логический уровень
STX Название рыбы RS Вес рыбы ETX
Начало текста
Разделитель записей
Конец текста
Служебные поля
h
02
03
1E
10
2
3
30
Обозначение
STX
Start of Text
ETX
End of Text
RS
Record Separator
Значение
Начало текста
Конец текста
Разделитель записей
02 ЩУКА 1E 750 03
02
00000010
10011001
10010011
99
93
10001010
8A 80
10000000
1E 37
00011110
35
00110111
30
03
00110101
А в шестнадцатеричной форме лучше выглядит!
00110000
00000011

31.

Двоично-десятичный код
BCD (Binary-coded decimal)
Можно ли уменьшить длину кадра?
Цифры в ASCII
Младшая тетрада
Старшая тетрада
3
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
A
:
B
;
C
<
D
=
E
>
F
?
02 ЩУКА 1E 750 03
02
99
93
8A 80
1E 37
35
30
03
Это всегда одно и тоже. Можно не передавать старшую тетраду
00000010
10011001
10010011
10001010
10000000
00011110
00110111
00110101
00110000
00000011

32.

Двоично-десятичный код
BCD (Binary-coded decimal)
10
Двоичная система
счисления
2
b3
b2
b1
b0
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
3
0
0
1
1
4
0
1
0
0
5
0
1
0
1
6
0
1
1
0
7
0
1
1
1
8
1
0
0
0
9
1
0
0
1
10
1
0
1
0
11
1
0
1
1
12
1
1
0
0
13
1
1
0
1
14
1
1
1
0
15
1
1
1
1
Двоично-десятичная
система счисления
Запрещенные
комбинации в двоичнодесятичной системе

33.

Двоично-десятичный код
BCD (Binary-coded decimal)
Достоинство:
Простота перевода в десятичную систему и наоборот
10
2
b3
b2
b1
b0
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
3
0
0
1
1
4
0
1
0
0
5
0
1
0
1
6
0
1
1
0
7
0
1
1
1
8
1
0
0
0
9
1
0
0
1
102310
0001 0000 0010 0011BCD
102410
0001 0000 0010 0100BCD
Недостатки:
Сложная арифметика
Код длиннее двоичного
102310=11 1111 1111
2
102310=0001 0000 0010 0011 bcd
English     Русский Правила