
Бродин В.Б., Калинин А.Б. Схемы на микроконтроллерах и БИС программируемой логики, 2002
.pdfГЛАВА 2. АРХИТЕКТУРА MCS-51 |
119 |
Архитектура ХА обеспечивает увеличение производительности на два порядка по сравнению с архитектурой MCS-51 (по оценкам фирмы
Philips).
Сравнительно недавно выпущенные flash-микроконтроллеры фирм ISSI и SST не имеют принципиальных отличий от рассмотренных выше. Фирмы ISSI и SST специализируются на выпуске быстродействующих микросхем памяти - ОЗУ, flash. Выпуск этими фирмами микроконтрол леров с ядром MCS-51 и flash-памятью свидетельствует о том, что потреб ности рынка этих микросхем не удовлетворены усилиями Atmel, Philips, Winbond.
Микроконтроллеры MCS-51 |
с Flash-памятью фирмы ISSI |
|
||||
Тип |
Rash |
RAM |
Vcc |
Частота, |
Корпус |
Комментарии |
IS89C51 |
|
|
|
МГц |
|
Стандартная архи |
4 К |
128 |
5В |
12,24,40 |
DIP40, PLCC44, |
||
|
|
256 |
|
|
TQFP44 |
тектура |
IS89C52 |
8 К |
5В |
12,24,40 |
DIP40, PLCC44, |
Стандартная архи |
|
|
|
|
|
|
TQFP44 |
тектура |
IS89LV52A |
8 К |
256 |
ЗВ, |
24 |
DIP40, PLCC44, |
Стандартная архи |
|
|
|
5В |
40 |
TQFP44 |
тектура |
IS89C54A |
16К |
256 |
5В |
DIP40, PLCC44, |
Стандартная архи |
|
IS89C58A |
|
256 |
|
40 |
TQFP44 |
тектура |
32К |
5В |
DIP40, PLCC44, |
Стандартная архи |
|||
|
|
|
|
|
TQFP44 |
тектура |
IS89C64A |
64К |
256 |
5В |
40 |
DIP40, PLCC44, |
Стандартная архи |
|
|
|
|
|
TQFP44 |
тектура |
Микроконтроллеры MCS-51 с Flash-памятью фирмы SST |
||||||
Тип |
Rash |
RAM |
Vcc |
Частота, |
Корпус |
Комментарии |
|
|
|
|
МГц |
|
ISP, 4 К Boot |
SST89C54 |
16К |
256 |
5В |
33 |
DIP40, PLCC44, |
|
|
|
|
|
|
TQFP44 |
|
SST89C58 |
32К |
256 |
5В |
33 |
DIP40, PLCC44, |
ISP, 4 К Boot |
|
|
256 |
|
33 |
TQFP44 |
ISP, 4 К Boot, |
SST89C59 |
64К |
5В |
DIP40, PLCC44, |
|||
|
|
|
|
|
TQFP44 |
256 XRAM |
В целом можно сделать вывод, что несмотря на то, что микроконтрол леры типа MCS-51 уступают по производительности современным RISCмикроконтроллерам, эта архитектура вряд ли будет полностью вытеснена новыми семействами, так как для определенного класса задач имеет пре имущество по соотношению цена/качество. Большое значение имеет нали чие развитых инструментальных средств и опыт разработчиков.
ГЛАВА 3
МИКРОКОНВЕРТЕР ADpC812
ФИРМЫ ANALOG DEVICES
3 .1 . Структура микроконвертера ADjxC812
Фирма Analog Devices представляет микроконвертер ADpC812 как однокристальную систему сбора данных и управления, которая включает прецизионный 12-разрядный АЦП, два 12-разрядных ЦАП и ядро микро контроллера с архитектурой MCS-51. Эта микросхема сразу привлекла внимание специалистов, подобный прибор давно ждали и микроконвертер ADpC812 стал настоящим бестселлером 2000г. как за рубежом, так и на отечественном рынке.
Микроконвертер имеет следующие основные характеристики:
•12-разрядный 8-канальный АЦП со скоростью выборки 200 kSPS и каналом прямого доступа к памяти;
•два 12-разрядных ЦАП с потенциальными выходами;
• 8-разрядное ядро микроконтроллера с архитектурой MCS-51 (Fmax = 16 МГц);
•8 Кбайт внутренней flash-памяти программ;
•640 байт внутренней flash-памяти данных типа ЭРПЗУ;
•последовательные порты: UART, I2C, SPI;
•монитор напряжения питания, сторожевой таймер, встроенный источ ник опорного напряжения.
ГЛАВА 3 МИКРОКОНВЕРТЕР АОцС812ФИРМЫ ANALOG DEVICES |
121 |
Микросхема заключена в 52-выводный корпус типа POFP, способна работать при напряжениях питания +5В/+ЗВ в индустриальном диапазоне температур. Структура микроконвертера приведена на рис. 3.1, а функции выводов корпуса - на рис. 3.2.
Р0 0 *-► РО 7 |
Р10 |
P IT |
Р2 О Ч-Р- Р2 7 |
РЗ О Ч -р-РЗ 7 |
AVoo |
AGND DVoo DGND |
|
XTAL1 X1AL2 TO |
RxD SCLOCX MCSt/ MSO |
|
|
|
|
(P30) |
(P3 1| |
SCATA (P33| |
|
Рис. 3.1. Структура микроконвертера ADpC812 |
|
|||
Функции выводов микроконвертера следующие. |
|
|
|||
DVDD. |
Напряжение |
питания |
цифровой |
части |
микросхемы |
(+5В/+ЗВ). |
|
|
|
|
|
AVDD. |
Напряжение |
питания |
аналоговой |
части |
микросхемы |
(+5В/+ЗВ).
DGND. Цифровая земля.
AGND. Аналоговая земля.
PortO (РО.О — Р0.7). Двунаправленный 8-разрядный параллельный порт ввода/вывода с открытым стоком.
Альтернативной функцией порта при обращении к внешней памяти является функция адресных выходов А7 —АО (адрес и данные передают ся с разделением времени - мультиплексированная шина).
При записи в бит регистра порта логической «1» соответствующая ли ния порта переходит в режим высокоимпедансного входа. Для работы в режиме порта ввода/вывода необходимо внешнее подтягивание каждой линии порта к уровню логической «1».
P ortl (Р1.0 —Р1.7). Входной порт, по умолчанию настроен на ввод аналоговых сигналов (функции ADC0 - ADC7). Каждый вывод может
122 |
СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ |
быть переведен в режим цифрового входа, для этого в соответствующий бит порта должен быть записан логический «О».
Р1.0/АОС0Д2
P1.1/ADC1/T2EX
P1.2/ADC2
P1.3/ADC3
AVoo
AGN
C r e F
V ref
o |
о о |
о |
> |
|
<r> |
CM |
-Г- |
|
d |
|
|
|
|
О о d d o |
a. |
< |
|
|
|||||||||
o. |
a. |
a. |
cl |
о |
□ |
a. |
c l |
S. |
|
|
|
||
52 |
51 |
50 |
49 |
48 |
47 |
46 |
45 |
44 |
43 |
|
42 |
41 |
40 |
Вывод 1 Метка
ADUC812
Вид сверку
DACO
DAC 10
P1.4/ADC4 [Г Г
P1.5/ADCS/SS р2~
P1.6/ADC рГз"
т а 15 16 17 18 19 20 21 22 23 24 25 26
~^9~| |
Р2.7/А15/А23 |
38 |
Р2 6/А 14/А 22 |
37 Р2.5/А13/А21 |
|
36 |
Р2.4/А12/А20 |
35 |
DGND |
34 |
DV00 |
33 |
XTAL2 (OUTPUT) |
32 |
XTAL1 (INPUT) |
31 |
Р2.3/А11/А19 |
30 |
Р2.2/А10/А18 |
29 |
Р2.1/А9/А17 |
28 Р2.0/А8/А16 |
|
27 |
SDATA/MOSI |
Рис. 3.2. Микроконвертер ADpC812 в 52-выводном корпусе
Кроме работы в качестве аналоговых входов выводы порта Р1 могут выполнять другие альтернативные функции в соответствии со следующей таблицей.
Вывод |
Альтернативная функция |
Р1.0 |
12 - вход Таймера 2 в режиме счетчика. |
Р1.1 |
Т2ЕХ - вход захвата Таймера 2 в режиме счетчика, а также вход |
Р1.5 |
управления направлением счета. |
SS# - выбор микроконвертера в качестве ведомого при обмене по |
|
|
интерфейсу SPI. |
ГЛАВА 3 МИКРОКОНВЕРТЕР АОцСв 12 ФИРМЫ ANALOG DEVICES |
123 |
Port2 (Р2.0 - Р2.7). Двунаправленный 8-разрядный параллельный порт ввода/вывода. При записи в бит регистра порта Р2 логической «1» соответствующая линия порта переходит в режим высокоимпедансного входа со слабым подтягиванием сигнала к уровню логической «1».
Альтернативной функцией этого порта является функция адресных выходов. При обращении к внешней памяти программ через порт Р2 выда ется старший байт А8 ~ А15 16-разрядного адреса. При обращении к внешней памяти данных на выводы порта Р2 выдаются средний и старший байты А16 —А23, А8 —А15 24-разрядного адреса (с разделением време ни).
Port3 (РЗ.О — Р3.7). Двунаправленный 8-разрядный параллельный порт ввода/вывода. При записи в бит регистра порта РЗ логической «1» соответствующая линия порта переходит в режим высокоимпедансного входа со слабым подтягиванием сигнала к уровню логической «1».
Выводы порта РЗ могут выполнять альтернативные функции в соот ветствии со следующей таблицей.
Вывод
РЗ.О
Р3.1 Р3.2
РЗ.З
Р3.4 Р3.5
Р3.6
Р3.7
Альтернативная функция
RxD - вход приемника последовательного порта TxD - выход передатчика последовательного порта INTO - вход внешнего прерывания 0
INT1 - вход внешнего прерывания 1
MISO - у ведущего SPI устройства вход, у ведомого - выход ТО - внешний вход таймера/счетчика 0
Т1 - внешний вход таймера/счетчика 1
CONVST - вход запуска преобразования АЦП при внешнем запуске WR# - сигнал разрешения записи во внешнюю память данных
RD# - сигнал разрешения чтения из внешней памяти данных
DACO, DAC1. Выходы ЦАПО и ЦАП1.
RESET. Вход инициализации. Высокий уровень на этом входе в тече нии 24 периодов Fosc запускает процесс инициализации микроконтролле ра.
ALE. Активное значение сигнала на этом выходе разрешает фиксацию младшего байта адреса (при 24-разрядном адресе - среднего байта) при обращениях к внешней памяти.
PSEN#. Активное значение сигнала на этом выходе разрешает чтение из внешней памяти программ. Для разрешения последовательной загрузки в ЭРПЗУ этот вывод должен быть через резистор подключен к земле на время включения питания или активного сигнала RESET.
ЕА#. Сигнал на этом входе переключает источник кода при обраще нии к младшим 8 Кбайтам памяти программ. При ЕА = 0 и диапазоне ад ресов 0000Н — 1FFFH микроконвертер выполняет цикл обращения к
124 СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ
внешней памяти программ, при ЕА = 1 обращение по одному из этих адре сов приводит к чтению кода из внутренней памяти.
SDATA/MOSI. Линия данных интерфейсов I2C, SPI.
SCLOCK. Линия синхронизации интерфейсов I2C, SPI. XTAL1. Вход инвертирующего усилителя для синхрогенератора.
XTAL2. Выход инвертирующего усилителя для синхрогенератора. CREF. Вывод подключения внешнего конденсатора к внутреннему ис
точнику опорного напряжения (0,1 мкФ).
VREF. Вход/выход опорного напряжения для аналоговой части схе мы. Этот вывод соединен с внутренним источником опорного напряжения. Напряжение (+2,5 В) появляется на нем при разрешенных АЦП и ЦАП.
3 .2 . Организация памяти и программно доступные ресурсы
Микроконвертер ADpC812 имеет микроконтроллерное ядро с модер низированной архитектурой MCS-51. Точнее, основой является ядро 8ХС52, но пространство внешней памяти данных увеличено до 16 Мбайт, а к внутренним ресурсам добавлено 640 байт энергонезависимой памяти данных типа ЭРПЗУ (рис. 3.3). Эта внутренняя память данных доступна косвенно через регистры специальных функций. Набор регистров, предна значенных для работы с внутренней энергонезависимой памятью данных, включен в состав регистров специальных функций.
Рис. 3.3. Организация памяти и программно доступных ресурсов в ADpC812
ГЛАВА 3 МИКРОКОНВЕРТЕР AD(xC812 ФИРМЫ ANALOG DEVICES |
125 |
К блокам ввода/ вывода исходного микроконтроллерного ядра добав лены: АЦП и два ЦАП, два интерфейса последовательных портов (SPI и 12С). Кроме того, надежность работы систем на основе микроконвертера существенно повышают введенные в его структуру блоки монитора напря жения питания и сторожевого таймера. Все регистры управления и данных перечисленных блоков также внесены в список регистров специальных функций микроконтроллерного ядра.
Ряд регистров специальных функций у микроконвертера ADpC812 от сутствуют из-за упрощения порта UART, механизма прерываний и Тайме ра 2.
Область младших 128 байт внутреннего ОЗУ изображена на рис. 3.4.
Шестнадцатеричный |
|
|
|
|
|
|
Десятичный |
||
адрес |
|
|
|
|
|
|
|
адрес |
|
7F: |
|
|
|
|
|
|
|
] |
127 |
2F |
7F |
7Е |
7D |
7С |
7В |
7А |
79 |
78 |
47 |
2Е |
77 |
76 |
75 |
74 |
73 |
72 |
71 |
70 |
46 |
2D |
6F |
6Е |
6D |
6С |
6В |
6А |
69 |
68 |
45 |
2С |
67 |
66 |
65 |
64 |
63 |
62 |
61 |
60 |
44 |
2В |
5F |
5Е |
5D |
5С |
5В |
5А |
59 |
58 |
43 |
2А |
57 |
56 |
55 |
54 |
53 |
52 |
51 |
50 |
42 |
29 |
4F |
4Е |
4D |
4С |
4В |
4А |
49 |
48 |
41 |
28 |
47 |
46 |
45 |
44 |
43 |
42 |
41 |
40 |
40 |
27 |
3F |
ЗЕ |
3D |
ЗС |
ЗВ |
ЗА |
39 |
38 |
39 |
26 |
37 |
36 |
35 |
34 |
33 |
32 |
31 |
30 |
38 |
25 |
2F |
2Е |
2D |
2С |
2В |
2А |
29 |
28 |
37 |
24 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
36 |
23 |
1F |
1Е |
1D |
1C |
1В |
1А |
19 |
18 |
35 |
22 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
34 |
21 |
0F |
0Е |
0D |
ОС |
ОВ |
0А |
09 |
08 |
33 |
20 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
32 |
1F |
R7 |
|
|
|
БАНКЗ |
|
|
|
31 |
18: |
R0 |
|
|
|
|
|
|
24 |
|
|
|
|
|
|
|
|
|||
17: |
R7 |
|
|
|
БАНК2 |
|
|
|
23 |
10: |
R0 |
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
|||
0F: |
R7 |
|
|
|
БАНК1 |
|
|
|
15 |
08: |
R0 |
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|||
07: |
R7 |
|
|
|
БАНК0 |
|
|
|
7 |
00: |
R0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.4. Структура внутреннего ОЗУ данных
Ячейки ОЗУ занимают адреса внутренней памяти данных с ООН по 7FH. В этой области памяти выделяются два особых фрагмента:
•младшие 32 адреса занимают четыре регистровых банка, каждый из которых содержит по восемь регистров общего назначения R0 - R7.
126 |
СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ |
Текущий банк определяется значением битов RSO, RS1 регистра PSW. Таким образом, младшие 32 ячейки ОЗУ, кроме адресов, имеют име на;
•ячейки с адресами в диапазоне 32 - 48 имеют прямо адресуемые би ты, адреса битов этой части ОЗУ находятся в диапазоне ООН - 7FH.
На рис. 3.5 изображена область регистров специальных функций.
Рис. 3.5. Регистры специальных функций ADpC812. Указаны имя, адрес и начальное состояние каждого регистра
В область регистров специальных функций включены все программно доступные регистры (управления и данных) внутренних блоков вво д а / вывода. Эта область формально занимает старшие 128 байт внутренней памяти данных, но обращение должно осуществляться по определенным адресам ячеек или отдельных битов. Обращение по промежуточным адре сам приведет к ошибочному результату. Видно, что все регистры имеют как символические имена, так и адреса в качестве ячеек внутренней памя ти. Часть регистров содержит прямо адресуемые биты, адреса этих битов находятся в диапазоне 80Н —FFH. Кроме адресов эти биты имеют имена, которые предопределены в системах программирования. Таким образом, к
ГЛАВА 3. МИКРОКОНВЕРТЕР АОцС012ФИРМЫ ANALOG DEVICES |
127 |
прямо адресуемым битам регистров специальных функций можно обра щаться по именам. Если в регистре биты не прямо адресуемые, то их име на служат только для удобства описания функционирования соответст вующего блока ввода/вывода. Для обращения к определенному биту должна производиться выборка байта, а затем накладываться нужная мас ка.
Назначение основных регистров специальных функций ядра 8ХС52 следующее:
Имя |
Назначение |
регистра |
Аккумулятор, основной операционный регистр |
АСС |
|
В |
Дополнительный регистр для операций умножения и деления |
PSW |
Регистр, хранящий слово состояния процессора |
IP |
Регистр приоритетов прерываний |
РЗ |
Регистр порта РЗ |
IE |
Регистр разрешения прерываний |
Р2 |
Регистр порта Р2 |
SBUF |
Регистр данных последовательного порта |
SCON |
Регистр управления последовательного порта |
Р1 |
Регистр порта Р1 |
ТН1 |
Старший регистр таймера/счетчика 1 |
тно |
Старший регистр таймера/счетчика 0 |
TL1 |
Младший регистр таймера/счетчика 0 |
TLO |
Младший регистр таймера/счетчика 0 |
TMOD |
Регистр режима таймеров/счетчиков |
TCON |
Регистр управления таймеров/счетчиков |
PCON |
Регистр управления энергопотреблением |
SP |
Регистр указателя стека |
DPH, DPL Указатель данных DPTR |
|
РО |
Регистр порта РО |
Отметим, что по сравнению с исходным ядром 8ХС52 микроконвертер ADpC812 имеет отличия в наборе регистров общего назначения:
1.добавлены регистры специальных функций АЦП, ЦАП, последова тельных интерфейсов I2C и SPI, EEPROM, сторожевого таймера;
2.отсутствуют регистры T2MOD, SADEN, SADDR, IPH.
Эти отличия отмечены в карте регистров цветом. Отсутствие указан ных регистров связано с упрощением Таймера 2, механизма приоритетов системы прерываний и последовательного порта UART. Эти особенности, а также формат остальных регистров специальных функций будут обсуж даться в разделах, посвященных описанию работы отдельных блоков вво да/вывода и системы прерываний. Здесь рассмотрим два основных реги стра, которые непосредственно связаны с работой всего микроконвертера. Это регистр PSW, хранящий слово состояния процессора, и регистр
128 |
СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ |
PCON, через который осуществляется управление режимами пониженного энергопотребления.
Формат регистра PSW и функции отдельных битов следующие:
7 6_______ 5________4________3 2________1_______ О
|
CY |
АС |
F0 |
RS1 |
RS0 |
OV |
F1 |
Р |
Исх.код |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Имя |
Номер |
|
|
|
Функция |
|
|
|
флага |
бита |
|
|
|
|
|
|
|
CY |
PSW.7 |
Флаг переноса |
|
|
|
|
|
|
АС |
PSW.6 |
Флаг вспомогательного переноса (между тетрадами) |
|
|||||
F0 |
PSW.5 |
Флаг 0, возможно программирование пользователем в общих целях |
||||||
RS1 |
PSW.4 |
Первый бит селектора регистрового банка |
|
|
||||
RS0 |
PSW.3 |
Нулевой бит селектора регистрового банка |
|
|
||||
OV |
PSW.2 |
Флаг переполнения |
|
|
|
|
||
F1 |
PSW.1 |
Флаг, определяемый пользователем |
|
|
|
РPSW.0 Флаг чётности. Устанавливается/очищается аппаратно каждый цикл
инструкции и показывает нечётное/чётное число ‘1’ в аккумуляторе
У микроконтроллеров, выполненных с использованием технологии CHMOS, обычно имеются режимы пониженного энергопотребления. В микроконверторе ADpC812 управление этими режимами осуществляется при помощи регистра PCON.
87Н |
PCON |
Исх.код |
0 |
Номер |
Функция |
бита |
|
PCON.7 |
Бит управления скоростью обмена последовательного порта. |
PCON.6 |
При SMOD=1 скорость обмена в режимах 1 ,2 ,3 удваивается. |
Не используется. |
|
PCON.5 |
Не используется. |
PCON.4 |
Бит запрещения сигнала ALE. Если бит = 0 сигнал формируется, |
PCON.3 |
если бит = 1 на выводе всегда высокий потенциал. |
Флаг общего назначения. |
|
PCON.2 |
Флаг общего назначения. |
PCON.1 |
Бит управления режимом микропотребления (power down). |
PCON.O |
Если бит =1 этот режим включен. |
Бит управления режимом холостого хода (idle). Если бит =1 этот |
|
|
режим включен. |
Если установлены оба бита, PCON.1 и PCON.0, больший вес имеет бит PCON.1, и микроконтроллер переходит в режим микропотребления.
Режим микропотребления (Power down). Команда, в которой уста навливается бит PCON. 1 является последней перед переходом в режим