Битовая структура регистров I2SCLH, I2SCLL приведена соответственно в Табл. 12.15, Табл. 12.16.
Таблица 12.15. Биты регистра старшего слагаемого рабочего цикла SCL 1С (для I2C0:12SCLH или I2C0SCLH - OxEOOl СОЮ, для I2C1:12C1SCLH - ОхЕ005 СОЮ)
Биты I2SCLH |
Название |
Описание |
Значение после сброса |
15:0 |
Счетные биты |
Счетные биты старшего слагаемого выбора периода SCL |
0x0004 |
Таблица 12.16. Биты регистра младшего слагаемого рабочего цикла SCL 1С (для I2C0:
I2SCLL или I2C0SCLL - OxEOOl С014, для I2C1:12C1SCLL - OxEOOS COW)
Биты I2SCLL |
Название |
Описание |
Значение после сброса |
15:0 |
Счетные биты |
Счетные биты младшего слагаемого выбора периода SCL |
0x0004 |
Программа-пользователь может выбирать желаемую скорость передачи данных через интерфейс 12С путем установки значений регистров I2SCLH и I2SCLL. Содержимое регистра I2SCLH представляет собой одно 16-битное слагаемое числа, которое определяет длительность (в циклах pclk) периода синхроимпульсов на линии SCL интерфейса 12С, а содержимое регистра I2SCLL — другое слагаемое. Частота синхроимпульсов SCL вычисляется в соответствии со следующей формулой:
Частота передачи битов = pclk / (I2SCLH + I2SCLL),
где (I2SCLH + I2SCLL) — значение суммы содержимого регистров I2SCLH и I2SCLL.
Значения I2SCLH и I2SCLL не обязательно должны быть одинаковыми. Встроенное программное обеспечение может задавать различную длительность рабочего цикла SCL, помещая в I2SCLH и I2SCLL соответствующие числа. Однако необходимо всегда следить за тем, чтобы частота передачи данных через интерфейс 12С лежала в диапазоне 0...400 кГц. Кроме того, на значения регистров I2SCLH и I2SCLL накладывается следующее ограничение: каждое из содержащихся в них чисел должно быть больше или равно четырем (0004h).
Возможные значения частоты передачи битов для интерфейса 12С, в зависимости от содержимого регистров I2SCLH, I2SCLL и значения делителя VPB приведены в Табл. 12.17...Табл. 12.19.
Таблица 12.17. Выбор скорости обмена через интерфейс 1С для значения делителя VP В = 1
I2SCLL + I2SCLH |
Частота передачи битов [кГц] для |
|||
cclk =16 МГц |
сс1к = 20М1Ц |
cclk = 40 МГц |
cclk = 60 М1ц |
|
8 |
- |
- |
- |
- |
10 |
- |
- |
- |
|
25 |
- |
- |
||
50 |
320.0 |
400.0 |
- |
|
75 |
213.333 |
266.667 |
- |
|
100 |
160.0 |
200.0 |
400.0 |
- |
160 |
100.-0 |
125.0 |
250.0 |
375.0 |
200 |
80.0 |
100.0 |
200.0 |
300.0 |
320 |
50.0 |
62.5 |
125.0 |
187.5 |
400 |
40.0 |
50.0 |
100.0 |
150.0 |
510 |
31.373 |
39.216 |
78.431 |
117.647 |
800 |
20.0 |
25.0 |
50.0 |
75.0 |
1280 |
12.5 |
15.625 |
31.25 |
46.875 |
Таблица 12.18. Выбор скорости обмена через интерфейс 12С для значения делителя VPB = 2
I2SCLL + I2SCLH |
Частота следования битов [кГЬ,] для |
|||
сс1к=16М1ц |
cclk = 20MIU |
cclk = 40 МГЦ |
cclk =60 МГЦ |
|
8 |
- |
- |
- |
|
10 |
- |
- |
- |
|
25 |
320.0 |
400.0 |
||
50 |
160.0 |
200.0 |
400.0 |
|
75 |
106.667 |
133.333 |
266.667 |
400.0 |
100 |
80.0 |
100.0 |
200.0 |
300.0 |
160 |
50.0 |
62.5 |
125.0 |
187.5 |
200 |
40.0 |
50.0 |
100.0 |
150.0 |
320 |
25.0 |
31.25 |
62.5 |
93.75 |
400 |
20.0 |
25.0 |
50.0 |
75.0 |
510 |
15.686 |
19.608 |
39.216 |
58.824 |
800 |
10.0 |
12.5 |
25.0 |
37.5 |
1280 |
6.25 |
7.813 |
15.625 |
23.438 |
Таблица 12.19. Выбор скорости обмена через интерфейс I2C для значения делителя VPB = 4 |
||||
I2SCLL + I2SCLH |
Частота следования битов [кПд] для cclk |
|||
cclk =16 МГЦ |
cclk = 20 МГЦ |
cclk = 40 МГЦ |
cclk = 60 МГЦ |
|
8 |
500.0 |
- |
- |
- |
10 |
400.0 |
- |
||
25 |
160.0 |
200.0 |
400.0 |
|
50 |
80.0 |
100.0 |
200.0 |
300.0 |
75 |
53.333 |
66.667 |
133.333 |
200.0 |
100 |
40.0' |
50.0 |
100.0 |
150.0 |
160 |
25.0 |
31.25 |
62.5 |
93.75 |
200 ,"' |
20.0 |
25.0 |
50.0 |
75.0 |
320 |
12.5 |
15.625 |
31.25 |
46.875 |
400 |
10.0 . |
12.5 |
25.0 |
37.5 |
510 |
7.843 |
9.804 |
19.608 |
29.412 |
800 |
5.0 |
6.25 |
12.5 |
18.75 |
1280 |
3.125 |
3.906 |
7.813 |
11.719 |
На Рис. 12.8 приведена обобщенная блок-схема интерфейса 12С микроконтроллеров семейства LPC2000.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |