Отличия процессора R1 от P1 » History » Version 4
« Previous -
Version 4/6
(diff) -
Next » -
Current version
krufter_multiclet, 07/11/2014 12:43 PM
Отличия процессора R1 от P1¶
Перечень основных отличий процессоров R1 от P1:
1)В процессоре R1 появился доступ к внешней памяти:
можно управлять 2-мя банками PROM, одним банком I/O,
4-мя банками SRAM, двумя банками SDRAM.
Теперь ПЗУ – любая внешняя FLASH, тогда как в первом процессоре
внешнее FLASH ПЗУ - XCF04S, XCF08P, XCF16P, XCF32P. Но и в процессор Р1
можно, например, грузить прошивку по spi реализовав простой протокол.
Внутренняя память данных и программ процессора R1 увеличилась до 256 Кбайт каждая.
2)Поддержка реконфигурации клеток. Поддержка косвенной адресации.
2)Обновлены(добавлены новые) системные регистры.
Появился блок работы с памятью DTC.
3)Работают прерывания от всех блоков периферии.
4)Плавающая запятая в R1 теперь поддерживает двойную точность.
5)Периферия:
- PLL (входная частота 8 - 16 МГц)
- АЦП (16 бит, 48 KSPS, 8 каналов)
- ЦАП (12 бит, 125 KSPS, 2 канала)
- USB 2.0 (девайс, DMA)
- RTC с календарем
- I2S ведущий
6)Отличия в системе команд:
система команд | P1 | R1 |
@N, @M | ARG1=@N; ARG2=@M | ARG1=@N; ARG2=@M |
@N, #R | ARG1=@N; ARG2=#GPR или #CR или [#IR] | ARG1=@N; ARG2=#GPR или #CR или #IR |
@N, @M + V | ARG1=@N; ARG2=V (@M=@0, не исп.) | ARG1=@N; ARG2=@M+V(@M=@0=0, сложение 32 разр. целочисл. беззнак.) |
@N, #R + V | ARG1=@N; ARG2=[#IR+V] (32 сложение разр. целочисл. беззнак.) | ARG1=@N; ARG2=#GPR+V или #CR+V или #IR+V(сложение 32 разр. целочисл. беззнак.) |
@N, [@M] | нет | ARG1=@N; ARG2=[@M] |
@N, [#R] | нет | ARG1=@N; ARG2=[#GPR] или [#CR] или [#IR] |
@N, [@M + V] | нет | ARG1=@N; ARG2=[@M+V](@M=@0=0, сложение 32 разр. целочисл. беззнак.) |
@N, [#R + V] | нет | ARG1=@N; ARG2=[#GPR+V] или [#CR+V] или [#IR+V](сложение 32 разр. целочисл. беззнак.) |
@M - значение из коммутатора
#R - регистр
GPR - регистр общего назначения
CR - системный регистр
IR - индексный регистр
V - константа
[x] - значение берется из памяти по адресу заданному в скобках
ARG1 - первый аргумент команды
ARG2 - второй аргумент команды