PIC18F4580 - это расширенная архитектура, основанная на семействе
PIC18F458, но предлагающая много новых возможностей. В этом документе
описываются функциональные отличия, отличия настроек и
электротехнических требований, которые возникают при переходе с одного
устройства на другое.
В Таблице 1 собраны свойства, которые могут оказать переходное влияние на программный код, разработанный для PIC18F458. В Таблице 2 приводится список новых и изменённых свойств PIC18F4580, которые не должны оказывать какое-либо переходное влияние. Таблицы 3 и 4 показывают отличия регистров специального назначение (Special Function Registers - SFR) и конфигурационной памяти. В Таблице 5 указаны различия в определённых статических характеристиках.
Описания в таблицах кратко поясняют эти различия. Более подробные
объяснения можно найти в последних версиях технических описаний на
устройства семейства PIC18F458 (DS41159) и семейства PIC18F4580
(DS39637). Кроме того, хорошей практикой проектирования является
просмотр последней версии списка ошибок (errata) для устройства, чтобы узнать о последних изменениях.
Примечание: это устройство разработано для работы в
соответствии с параметрами, указанными в его техническом описании. Оно
было протестировано при электротехнических требованиях, разработанных,
чтобы определить соответствие устройства этим параметрам. Из-за отличий в
процессах производства этого устройства, оно может иметь характеристики
производительности, отличные от более ранней версии. Из-за этих отличий
это устройство может работать в вашем приложении иначе, чем более
ранняя версия.
Примечание: убедитесь, что генератор устройства
запускается и работает должным образом. Может потребоваться
корректировка номиналов нагрузочных конденсаторов и/или режима
генератора.
Примечание: в данном документе под PIC18F4580
подразумевается всё семейство микроконтроллеров
PIC18F2480/2580/4480/4580, а под PIC18F458 подразумевается всё семейство
микроконтроллеров PIC18F248/258/448/458.
Таблица 1. Свойства, оказывающие влияние на программное обеспечение при переходе от PIC18F458 к PIC18F4580
№ | Модуль | Комментарии |
1 | ADC (АЦП) | 1. Модуль АЦП
PIC18F4580 поддерживает и автозахват, и большее число аналоговых
каналов. PIC18F4580 разработан так, чтобы сохранить стопроцентную
совместимость по выводам с PIC18F458 с помощью отображения
дополнительных аналоговых входов на имеющиеся входы PORTB<4:0>.
При включении питания (POR) PORTB<4:0> можно настроить либо как
аналоговый, либо как цифровой с помощью конфигурационного бита
CONFIG3H<1>. Эти изменения могут потребовать изменений программы
и, в редких случаях, изменений аппаратной части при разработке
приложения. 2. Размещение битов регистров ADCON0 и ADCON1 в
PIC18F4580 отличается от PIC18F458. Также биты PCFG3:PCFG0 регистра
ADCON1, располагаясь в одинаковых позициях, в каждом семействе устройств
дают разные настройки порта. Более подробную информацию вы можете
найти в технических описаниях на PIC18F4580 (DS39637) в Разделе 19.0
"Модуль 10-разрядного аналого-цифрового преобразователя (АЦП)1 и на PIC18F458 (DS41159) в Разделе 20.0 "Модуль совместимого 10-битного аналого-цифрового преобразователя (АЦП)"2. |
2 | Загрузочный блок | В PIC18F4580 можно
задать размер загрузочного блока 2 Кбайта или 4 Кбайта (от 00h до 7FFh
или от 00h до FFFh соответственно), в отличие от фиксированного размера
загрузочного блока в PIC18F458, равного 512 байтам (от 00h до 1FFh).
Размер загрузочного блока выбирается конфигурационными битами в регистре
CONFIG4L. Эти изменения могут повлиять на программный переход, если
используются команды табличного чтения и записи и любая из возможностей
защиты кода (защита кода, защита от записи и защита от чтения). Также
эти изменения могут повлиять на прошивку загрузчика. Более подробную
информацию вы можете найти в технических описаниях на PIC18F4580
(DS39637) в Разделе 24.0 "Специальные возможности ЦПУ"3 и на PIC18F458 (DS41159) в Разделе 24.0 "Специальные возможности ЦПУ". |
3 | MSSP | Чтобы модуль MSSP,
реализованный в PIC18F4580, смог получить данные в режиме ведущего I2C,
модуль должен находиться в состоянии простоя, до того как установится
бит RCEN. Более подробную информацию вы можете найти в техническом
описании на PIC18F4580 (DS39637) в Разделе 17.4.11 "Приём в режиме
ведущего I2C"4. |
Таблица 2. Новые возможности PIC18F4580 по сравнению с PIC18F458
№ | Модуль | Комментарии |
1 | Ядро | 1. Дополнительно к
стандартным 75 командам из набора команд PIC18F458, PIC18F4580 также
обеспечивает дополнительное расширение к функциональности ядра ЦПУ.
Добавленные возможности включают 8 дополнительных команд. Дополнительный
набор команд реализован для оптимизации приложений, написанных на Си;
вероятно, пользователь никогда не будет использовать эти команды в
ассемблере напрямую. 2. Дополнительный режим адресации,
индексированное константное смещение, доступное, когда включен
расширенный набор команд. Использование режима адресации с
индексированным константным смещением эффективно изменяет способ
переотображения первых 96 ячеек ОЗУ доступа (Access RAM) (00h -
5Fh). Также, если включен расширенный набор команд, меняется выполнение
некоторых команд из набора команд PIC18F458. Если вы используете
компилятор Microchip C, то о работе компилятора в расширенном режиме вы
можете почитать в последней версии "Руководства пользователя по
компилятору языка Си MPLAB C18"5 (DS51288). 3.
Дополнительные возможности расширенного набора команд по умолчанию
отключены. Чтобы включить их, нужно установить конфигурационный бит
XINST. Более подробную информацию вы найдёте в техническом описании
на PIC18F4580 (DS39637) в Разделе 5.5 "Память программ и расширенный
набор команд"6. |
2 | Режимы управления питанием | 1.
Устройства PIC18F4580 предлагают совокупность из семи режимов работы
для более эффективного управления питанием. Эти режимы обеспечивают ряд
возможностей для выборочного энергосбережения в приложениях с
ограниченными ресурсами (т.е., устройства, питающиеся от батареи). 2.
Два режима работы (SEC_RUN и RC_RUN) позволяют устройству тактироваться
либо от генератора модуля Timer1, либо от блока внутреннего генератора
(см. ниже). 3. Три режима простоя (PRI_IDLE, SEC_IDLE и
RC_IDLE) позволяют ЦПУ контроллера выборочно выключаться, в то время как
периферийные модули продолжают работать. 4. Устройства PIC18F4580 также предлагают спящий режим Sleep, подобный режиму Sleep в PIC18F458, но с меньшим потреблением тока. Большинство
из этих возможностей управляются новыми битами в регистре OSCCON.
Пользователи должны быть уверены, что в его программе биты, не
реализованные в регистре OSCON PIC18F458, не изменяются. Более
подробную информацию можно посмотреть в техническом описании на
PIC18F4580 (DS39637) в Разделе 3.0 "Режимы управления питанием"7. |
3 | Блок внутреннего многочастотного генератора | PIC18F4580
имеет блок внутреннего генератора. Главный выход (INTOSC) - источник
тактовой частоты 8 МГц, который можно использовать для непосредственного
управления тактовым генератором устройства. Также он управляет
постделителем, который может обеспечивать диапазон тактовых частот от 31
КГц до 8 МГц. Кроме того, блок внутреннего генератора может
обеспечивать тактовые частоты до 32 МГц при использовании с внутренним
PLL (Phase Lock Loop - цикл стабилизации фазы). Более подробную информацию см. в техническом описании на PIC18F4580 (DS39637) в Разделе 2.6 "Блок внутреннего генератора"8. |
4 | Прерывания | PIC18F4580 поддерживает
дополнительное прерывание - прерывание при сбое генератора, для
индицирования сбоя первичного тактового источника. Для этих целей
реализован бит 7 в регистрах PIR2, PIE2 и IPR2. В PIC18F458 эти биты не
реализованы. Более подробную информацию см. в техническом описании на
PIC18F4580 (DS39637) в Разделе 24.4.3 "Прерывания FSCM в режимах
управления питанием"9. |
5 | ECAN | Это новый модуль, который
заменяет модуль CAN в PIC18F458. Он поддерживает полную обратную
совместимость с первоначальным модулем CAN, при этом обеспечивая
несколько новых возможностей. Более подробную информацию вы можете найти в технических описаниях на PIC18F4580 (DS39637) в Разделе 23.0 "Модуль ECAN"10 и на PIC18F458 (DS41159) в Разделе 19.0 "Модуль CAN"11. |
6 | EUSART | Модуль USART в PIC18F4580
реализован в виде улучшенного модуля USART (EUSART). Этот модуль
реализует дополнительные возможности, включающие: - автоматическое обнаружение и калибровку скорости передачи данных;
- автоматическое пробуждение при приёме Sync Break и передаче
12-битного символа Break, прекрасно подходящее для использования в
системах с шиной локальной сети связи (Local Interconnect Network) (шиной LIN).
- генератор скорости передачи (BGR) можно настраивать для 8-битной или
16-битной работы, он поддерживает работу модуля EUSART и в синхронном, и
в асинхронном режимах. Изменений кода не требуется. Убедитесь, что вы не меняете TXSTA<3>, который не реализован в PIC18F458. Более
подробную информацию см. в техническом описании на PIC18F4580 (DS39637)
в Разделе 18.0 "Улучшенный универсальный синхронный приёмопередатчик
(EUSART)"12. |
7 | Timer1 | 1. T1CON<6>
(T1RUN) - новый бит в PIC18F4580. Этот бит доступен только для чтения,
он указывает, работает ли тактовый генератор устройства от генератора
модуля Timer1, или нет. Изменений кода не требуется. 2.
Генератор модуля Timer1 может работать на двух уровнях потребления
питания, управляемых конфигурационным битом LPT1OSC (CONFIG3H<2>).
Если этот бит установлен, генератор работает в режиме низкого
энергопотребления. По умолчанию этот бит сброшен, что совместимо с
работой устройства PIC18F458. Более подробную информацию см. в техническом описании на PIC18F4580 (DS39637) в Разделе 12.0 "Модуль Timer1"13. |
8 | Двухотсчётный запуск | Возможность
двухотсчётного запуска в PIC18F4580 помогает минимизировать время
ожидания между запуском генератора и исполнением кода, позволяя
микроконтроллеру использовать внутренний генератор в качестве источника
тактовых импульсов, пока первичный тактовый генератор не станет
доступен. Более подробную информацию см. в техническом описании на PIC18F4580 (DS39637) в Разделе 24.3 "Двухотсчётный запуск"14. |
9 | Диспетчер отказоустойчивости тактового генератора | Диспетчер
отказоустойчивости тактового генератора позволяет микроконтроллеру
продолжать работать в случае сбоя внешнего генератора, автоматически
переключая тактовый генератор устройства на блок внутреннего генератора. Более
подробную информацию см. в техническом описании на PIC18F4580 (DS39637)
в Разделе 24.4 "Диспетчер отказоустойчивости тактового генератора"15. |
10 | WDT (сторожевой таймер) | Номинальный
период WDT в PIC18F4580 составляет 4 мс (по сравнению с типовым
периодом 18 мс у PIC18F458). Он увеличивается с помощью 16-разрядного
постделителя, выход которого выбирается мультиплексором 16:1,
управляемым битами в конфигурационном регистре CONFIG2H. Доступен
диапазон периодов от 4 мс до 131.072 секунд (2.18 минуты). Более подробную информацию см. в техническом описании на PIC18F4580 (DS39637) в Разделе 24.2 "Сторожевой таймер (WDT)"16. |
11 | HLVD | В PIC18F4580 модуль LVD
улучшен и представлен в виде модуля HLVD. Этот модуль добавляет
возможность обнаруживать отклонения в сторону превышения
предварительного установленного уровня напряжения и генерировать
прерывание. Если в вашем коде бит HLVDCON<7> не меняется, то
изменений кода не потребуется. Более подробную информацию см. в
техническом описании на PIC18F4580 (DS39637) в Разделе 22.0 "Обнаружение
повышенного/пониженного напряжения (HLVD)"17. |
12 | PORTE / | Четвёртый вывод порта PORTE (
/ VPP / RE3) - только входной. Его работа управляется конфигурационным
битом MCLRE. Изменений кода не требуется. Пользователь может выбрать в
настройке (конфигурации) опцию " включен, RE3 выключен". Более подробную информацию см. в техническом описании на PIC18F4580 (DS39637) в Разделе 10.5 "Регистры PORTE, TRISE и LATE"18. |
13 | Улучшенный ICD 2 | PIC18F4580
обеспечивает улучшенные возможности ICD (внутрисхемной отладки), включая
три точки останова и останов по адресу регистра общего назначения
(GPR), и соответствие данных. |
Таблица 3. Отличия регистров специального назначения (SFR) PIC18F4580 от PIC18F458
Адрес | SFR | Отличия от PIC18F458 | Комментарии |
Множество | Множество | В банках данных 13, 14 и 15 пространства памяти данных реализовано много новых регистров для модуля ECAN. | Полный
список регистров см. в разделах 5.0 "Организация памяти" и 23.0 "Модуль
ECAN" технического описания на PIC18F4580 (DS39637). Также см. пример
применения от Microchip AN916 "Сравнение модулей CAN и ECAN" (DS00916). |
F9Bh | OSCTUNE | Реализован (1) | Управляющие биты для блока внутреннего генератора и режимов низкого энергопотребления. |
FA0h, FA1h, FA2h | PIE2/PIR2/IPR2 | Реализованы биты 7 в PIE2, PIR2 и IPR2 (2) | Биты прерывания по сбою генератора (OSCFIE, OSCFIF и OSCFIP). |
FACh | TXSTA | Реализован бит 3 (2) | Бит передачи символа Break (SENDB). |
FB0h | SPBRGH | Реализован (1) | SPBRGH хранит старший байт значения скорости передачи в 16-битном режиме. |
FB8h | BAUDCON | Реализован (1) | Регистр управления генератором скорости передачи. |
FC0h | ADCON2 | Реализован (1) | Управляет выбором времени захвата. |
FC1h | ADCON1 | Изменено расположение битов (3) | Более
подробную информацию см. в даташине на PIC18F4580 (DS39637) в Разделе
19.0 "Модуль 10-разрядного аналого-цифрового преобразователя (АЦП)". |
FC2h | ADCON0 | Изменено расположение битов (3) | Более
подробную информацию см. в даташине на PIC18F4580 (DS39637) в Разделе
19.0 "Модуль 10-разрядного аналого-цифрового преобразователя (АЦП)". |
FCDh | T1CON | Реализован бит 6 (2) | Этот бит-флаг указывает, работает ли устройство от генератора Timer1 или нет (T1RUN). |
FD0h | RCON | Реализован бит 6 (2) | Этот бит предназначен для программного управления BOR. Он доступен только в том случае, если BOR аппаратно отключен. |
FD2h | HLVDCON | Реализован бит 7, название регистра изменено с LVDCON на HLVDCON (2) | Этот бит добавляет возможность обнаружения повышенного напряжения (VDIRMAG). |
FD3h | OSCCON | Реализован новый бит 7, изменена функция существующего бита SCS (2) | Добавлены биты для управления внутренним генератором, режимом простоя (Idle) и выбором источника тактовых импульсов. Добавлены биты-флаги для указания состояния источников тактовых импульсов. |
Примечания:
1) Реализованы в PIC18F4580, но не реализованы в PIC18F458.
Однако состояния по умолчанию, устанавливающиеся при включении питания,
для этих новых регистров не оказывают какого-либо переходного влияния.
2) В состоянии по умолчанию, устанавливающемся при включении
питания, эти дополнительные биты, реализованные в PIC18F4580, не
оказывают какого-либо переходного влияния.
3) Эти изменения могут оказать переходное влияние.
Таблица 4. Детальное описание отличий конфигурационных регистров PIC18F4580 от PIC18F458
Адрес | Конфигурационный регистр | PIC18F458 | PIC18F4580 |
300001h | CONFIG1H | CONFIG1H<2:0>: биты выбора генератора (FOSC2:FOSC0) CONFIG1H<5>: бит разрешения переключения тактового генератора () | Обеспечивает три новых бита: CONFIG1H<3:0>: биты выбора генератора добавляют ещё два выбора генератора (FOSC3).(1) CONFIG1H<6>: Включает диспетчер отказоустойчивости тактового генератора (FCMEN).(1) CONFIG1H<7>: выбирает возможность двухотсчётного запуска (IESO).(1) |
300002h | CONFIG2L | CONFIG2L<1>: Включает или выключает BOR. Также реализованы CONFIG2L<3:2> (BORV1:BORV0) и CONFIG2L<0>() | CONFIG2L<2:1>: добавляет опции программно управляемого BOR (BOREN1:BOREN0); другие биты не изменены. |
300003h | CONFIG2H | CONFIG2H<3:1>: постделитель WDT, до 1:128. Также реализован CONFIG2H<0> (WDTEN) | CONFIG2H<4:1>: Постделитель WDT, до 1:32768 (WDTPS3:WDTPS0). CONFIG2H<0> не изменён. |
300005h | CONFIG3H | Не реализован | Добавлены три новых бита: CONFIG3H<7>: вывод RE3 порта PORTE можно использовать как или как вход порта (MCLRE). CONFIG3H<2>:
Timer1 может работать с генератором с низким и с высоким потреблением.
По умолчанию включен генератор с высоким энергопотреблением, который
совместим с PIC18F458 (LPT1OSC).(1) CONFIG3H<1>:
Выбирает настройку выводов PORTB<4:0> при POR. По умолчанию эти
выводы при POR настроены как аналоговые. Для совместимости с PIC18F458
пользовать должен настроить выводы PORTB<4:0> как цифровые при POR
(PBADEN). |
300006h | CONFIG4L | Реализованы CONFIG4L<7> (DEBUG), CONFIG4L<2> (LVP) и CONFIG4L<0> (STVREN). | Добавлены два новых бита: CONFIG4L<6>: включает расширение набора команд (XINST).(1) CONFIG4L<4>: выбор размера загрузочного блока (BBSIZ).(1) Остальные биты не изменены. |
300008h | CONFIG5L | CONFIG5L<0>: включает защиту кода для 000200h - 001FFFh. | CONFIG5L<0>: включает защиту кода для 000800h - 001FFFh. |
300009h | CONFIG5H | CONFIG5H<6>: включает защиту кода для 000000h - 0001FFh (загрузочный блок). | CONFIG5H<6>: включает защиту кода для 000000h - 0007FFh (загрузочный блок). |
30000Ah | CONFIG6L | CONFIG6L<0>: включает защиту от записи для 000200h - 001FFFh. | CONFIG6L<0>: включает защиту от записи для 000800h - 001FFFh. |
30000Bh | CONFIG6H | CONFIG6H<6>: включает защиту от записи для 000000h - 0001FFh. | CONFIG6H<6>: включает защиту от записи для 000000h - 0007FFh. |
30000Ch | CONFIG7L | CONFIG7L<0>: включает защиту от табличного чтения для 000200h - 001FFFh (чтение, выполняемое из других блоков). | CONFIG7L<0>: включает защиту от табличного чтения для 000800h - 001FFFh (чтение, выполняемое из других блоков). |
30000Dh | CONFIG7H | CONFIG7H<6>: включает защиту от табличного чтения для 000000h - 0001FFh (загрузочный блок). | CONFIG7H<6>: включает защиту от табличного чтения для 000000h - 0007FFh (загрузочный блок). |
Примечания:
1) Эти конфигурационные биты имеют незапрограммированное
состояние по умолчанию "0", у других битов состояние по умолчанию "1".
Это может оказать влияние на переход.
Таблица 5. Отличие статических характеристик PIC18F4580 от PIC18F458.
№ параметра | Параметр | PIC18LF458 | PIC18LF4580 | Единицы измерений |
Мин. | Тип. | Макс. | Мин. | Тип. | Макс. |
D005 | BOR | |
| 11 | 1.98 | - | 2.14 | 1.96 | 2.06 | 2.16 | В |
| 10 | 2.67 | - | 2.89 | 2.64 | 2.78 | 2.92 | В |
| 01 | 4.16 | - | 4.5 | 4.11 | 4.33 | 4.55 | В |
| 00 | 4.45 | - | 4.83 | 4.41 | 4.64 | 4.87 | В |
№ параметра | Параметр | PIC18LF458 | PIC18LF4580 | Единицы измерений |
Мин. | Тип. | Макс. | Мин. | Тип. | Макс. |
D005 | BOR | |
| 11 | NA | - | NA | NA | - | NA | В
| | 10 | NA | - | NA | NA | - | NA | В
| | 01 | 4.16 | - | 4.5 | 4.11 | 4.33 | 4.55 | В
| | 00 | 4.45 | - | 4.83 | 4.41 | 4.64 | 4.87 | В
| D010, D013, D014, D020, D022 и D025 | Ток питания, ток в режиме пониженного энергопотребления и характеристические токи модулей | Из-за
различий архитектуры PIC18F458 и PIC18F4580 описывают эти технические
характеристики совершенно различными способами, и их нельзя сравнивать
напрямую. PIC18F4580 обеспечивает намного большую детализацию для
описания потребления постоянного тока в различных режимах управления
питанием и при различных температурах окружающей среды. Более
подробную информацию вы можете найти в техническом описании на PIC18F458
(DS41159) в Разделе 27.1 "Статические характеристики"19 и в техническом описании на PIC18F4580 (DS39637) в Разделе 27.2 "Статические характеристики: ток выключения питания и питания"20.
| D420 | HLVD-LVD | |
| LVV=0000 | - | - | - | 2.12 | 2.17 | 2.22 | В
| | LVV=0001 | 1.98 | 2.06 | 2.14 | 2.18 | 2.23 | 2.28 | В
| | LVV=0010 | 2.18 | 2.27 | 2.36 | 2.31 | 2.36 | 2.42 | В
| | LVV=0011 | 2.37 | 2.47 | 2.57 | 2.38 | 2.44 | 2.49 | В
| | LVV=0100 | 2.48 | 2.58 | 2.68 | 2.54 | 2.60 | 2.66 | В
| | LVV=0101 | 2.67 | 2.78 | 2.89 | 2.72 | 2.79 | 2.85 | В
| | LVV=0110 | 2.77 | 2.89 | 3.01 | 2.82 | 2.89 | 2.95 | В
| | LVV=0111 | 2.98 | 3.10 | 3.22 | 3.05 | 3.12 | 3.19 | В
| | LVV=1000 | 3.27 | 3.41 | 3.55 | 3.31 | 3.39 | 3.47 | В
| | LVV=1001 | 3.47 | 3.61 | 3.75 | 3.46 | 3.55 | 3.63 | В
| | LVV=1010 | 3.57 | 3.72 | 3.87 | 3.63 | 3.71 | 3.80 | В
| | LVV=1011 | 3.76 | 3.92 | 4.08 | 3.81 | 3.90 | 3.99 | В
| | LVV=1100 | 3.96 | 4.13 | 4.30 | 4.01 | 4.11 | 4.20 | В
| | LVV=1101 | 4.16 | 4.33 | 4.50 | 4.23 | 4.33 | 4.43 | В
| | LVV=1110 | 4.45 | 4.64 | 4.83 | 4.48 | 4.59 | 4.69 | В
|
Примечания (исходные названия разделов и документации):
1 Section 19.0 "10-Bit Analog-to-Digital Converter (A/D) Module"
2 Section 20.0 "Compatible 10-Bit Analog-to-Digital Converter (A/D) Module"
3 Section 24.0 "Special Features of the CPU"
4 Section 17.4.11 "I2C Master Mode Reception"
5 "MPLAB C18 C Compiler User's Guide"
6 Section 5.5 "Program Memory and the Extended Instruction Set"
7 Section 3.0 "Power-Managed Modes"
8 Section 2.6 "Internal Oscillator Block"
9 Section 24.4.3 "FSCM Interrupts in Power-Managed Modes"
10 Section 23.0 "ECAN Module"
11 Section 19.0 "CAN Module"
12 Section 18.0 "Enhanced Universal Synchronous Receiver Transmitter (EUSART)"
13 Section 12.0 "Timer1 Module"
14 Section 24.3 "Two-Speed Start-up"
15 Section 24.4 "Fail-Safe Clock Monitor"
16 Section 24.2 "Watchdog Timer (WDT)"
17 Section 22.0 "High/Low-Voltage Detect (HLVD)"
18 Section 10.5 "PORTE, TRISE and LATE Registers"
19 Section 27.1 "DC Characteristics"
20 Section 27.2 "DC Characteristics: Power-Down and Supply Current"
© PIClist-RUS (piclist.ru), 2007 г.
|