Project

General

Profile

Отличия процессора R1 от P1 » History » Version 5

krufter_multiclet, 07/11/2014 05:40 PM

1 1 krufter_multiclet
h1. Отличия процессора R1 от P1
2 1 krufter_multiclet
3 2 krufter_multiclet
Перечень основных отличий процессоров R1 от P1:
4 2 krufter_multiclet
5 2 krufter_multiclet
1)В процессоре R1 появился доступ к внешней памяти:
6 2 krufter_multiclet
можно управлять 2-мя банками PROM, одним банком I/O,
7 2 krufter_multiclet
4-мя банками SRAM, двумя банками SDRAM.
8 2 krufter_multiclet
Теперь ПЗУ – любая внешняя FLASH, тогда как в первом процессоре
9 2 krufter_multiclet
внешнее FLASH ПЗУ - XCF04S, XCF08P, XCF16P, XCF32P. Но и в процессор Р1
10 2 krufter_multiclet
можно, например, грузить прошивку по spi реализовав простой протокол.
11 2 krufter_multiclet
Внутренняя память данных и программ процессора R1 увеличилась до 256 Кбайт каждая. 
12 2 krufter_multiclet
13 3 krufter_multiclet
2)Поддержка +реконфигурации+ клеток. Поддержка косвенной адресации.
14 2 krufter_multiclet
15 2 krufter_multiclet
2)Обновлены(добавлены новые) системные регистры.
16 2 krufter_multiclet
Появился блок работы с памятью DTC.
17 2 krufter_multiclet
18 2 krufter_multiclet
3)Работают прерывания от всех блоков периферии.
19 2 krufter_multiclet
20 2 krufter_multiclet
4)Плавающая запятая в R1 теперь поддерживает двойную точность.
21 2 krufter_multiclet
22 2 krufter_multiclet
5)Периферия: 
23 2 krufter_multiclet
- PLL (входная частота 8 - 16 МГц)
24 2 krufter_multiclet
- АЦП (16 бит, 48 KSPS, 8 каналов)
25 2 krufter_multiclet
- ЦАП (12 бит, 125 KSPS, 2 канала)
26 2 krufter_multiclet
- USB 2.0 (девайс, DMA)
27 2 krufter_multiclet
- RTC с календарем
28 2 krufter_multiclet
- I2S ведущий
29 2 krufter_multiclet
30 1 krufter_multiclet
6)Отличия в системе команд:
31 4 krufter_multiclet
32 3 krufter_multiclet
|*система команд*|*P1*|*R1*|
33 3 krufter_multiclet
|@N, @M|ARG1=@N; ARG2=@M|ARG1=@N; ARG2=@M|
34 3 krufter_multiclet
|@N, #R|ARG1=@N; ARG2=#GPR или #CR или [#IR]|ARG1=@N; ARG2=#GPR или #CR или #IR|
35 3 krufter_multiclet
|@N, @M + V|ARG1=@N; ARG2=V (@M=@0, не исп.)|ARG1=@N; ARG2=@M+V(@M=@0=0, сложение 32 разр. целочисл. беззнак.)|
36 3 krufter_multiclet
|@N, #R + V|ARG1=@N; ARG2=[#IR+V] (32 сложение разр. целочисл. беззнак.)|ARG1=@N; ARG2=#GPR+V или #CR+V или #IR+V(сложение 32 разр. целочисл. беззнак.)|
37 3 krufter_multiclet
|@N, [@M]|нет|ARG1=@N; ARG2=[@M]|
38 3 krufter_multiclet
|@N, [#R]|нет|ARG1=@N; ARG2=[#GPR] или [#CR] или [#IR]|
39 3 krufter_multiclet
|@N, [@M + V]|нет|ARG1=@N; ARG2=[@M+V](@M=@0=0, сложение 32 разр. целочисл. беззнак.)|
40 3 krufter_multiclet
|@N, [#R + V]|нет|ARG1=@N; ARG2=[#GPR+V] или [#CR+V] или [#IR+V](сложение 32 разр. целочисл. беззнак.)|
41 3 krufter_multiclet
42 3 krufter_multiclet
43 3 krufter_multiclet
@M - значение из коммутатора
44 3 krufter_multiclet
#R - регистр
45 3 krufter_multiclet
GPR - регистр общего назначения
46 3 krufter_multiclet
CR - системный регистр
47 3 krufter_multiclet
IR - индексный регистр
48 3 krufter_multiclet
V - константа
49 3 krufter_multiclet
[x] - значение берется из памяти по адресу заданному в скобках
50 3 krufter_multiclet
ARG1 - первый аргумент команды
51 3 krufter_multiclet
ARG2 - второй аргумент команды
52 5 krufter_multiclet
53 5 krufter_multiclet
7) Совместимость по возможности сохранили