Каталог статей

Главная » Статьи » Мои статьи

Переход от PIC18F458 к PIC18F4580

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

МодульКомментарии
1ADC (АЦП)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 "Специальные возможности ЦПУ".
3MSSPЧтобы модуль 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.
5ECANЭто новый модуль, который заменяет модуль CAN в PIC18F458. Он поддерживает полную обратную совместимость с первоначальным модулем CAN, при этом обеспечивая несколько новых возможностей.
Более подробную информацию вы можете найти в технических описаниях на PIC18F4580 (DS39637) в Разделе 23.0 "Модуль ECAN"10 и на PIC18F458 (DS41159) в Разделе 19.0 "Модуль CAN"11.
6EUSARTМодуль 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.
7Timer11. 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.
10WDT (сторожевой таймер)Номинальный период WDT в PIC18F4580 составляет 4 мс (по сравнению с типовым периодом 18 мс у PIC18F458). Он увеличивается с помощью 16-разрядного постделителя, выход которого выбирается мультиплексором 16:1, управляемым битами в конфигурационном регистре CONFIG2H. Доступен диапазон периодов от 4 мс до 131.072 секунд (2.18 минуты).
Более подробную информацию см. в техническом описании на PIC18F4580 (DS39637) в Разделе 24.2 "Сторожевой таймер (WDT)"16.
11HLVDВ PIC18F4580 модуль LVD улучшен и представлен в виде модуля HLVD. Этот модуль добавляет возможность обнаруживать отклонения в сторону превышения предварительного установленного уровня напряжения и генерировать прерывание. Если в вашем коде бит HLVDCON<7> не меняется, то изменений кода не потребуется.
Более подробную информацию см. в техническом описании на PIC18F4580 (DS39637) в Разделе 22.0 "Обнаружение повышенного/пониженного напряжения (HLVD)"17.
12PORTE / Четвёртый вывод порта PORTE ( / VPP / RE3) - только входной. Его работа управляется конфигурационным битом MCLRE. Изменений кода не требуется. Пользователь может выбрать в настройке (конфигурации) опцию " включен, RE3 выключен".
Более подробную информацию см. в техническом описании на PIC18F4580 (DS39637) в Разделе 10.5 "Регистры PORTE, TRISE и LATE"18.
13Улучшенный ICD 2PIC18F4580 обеспечивает улучшенные возможности ICD (внутрисхемной отладки), включая три точки останова и останов по адресу регистра общего назначения (GPR), и соответствие данных.

Таблица 3. Отличия регистров специального назначения (SFR) PIC18F4580 от PIC18F458

АдресSFRОтличия от PIC18F458Комментарии
МножествоМножествоВ банках данных 13, 14 и 15 пространства памяти данных реализовано много новых регистров для модуля ECAN.Полный список регистров см. в разделах 5.0 "Организация памяти" и 23.0 "Модуль ECAN" технического описания на PIC18F4580 (DS39637). Также см. пример применения от Microchip AN916 "Сравнение модулей CAN и ECAN" (DS00916).
F9BhOSCTUNEРеализован (1)Управляющие биты для блока внутреннего генератора и режимов низкого энергопотребления.
FA0h, FA1h, FA2hPIE2/PIR2/IPR2Реализованы биты 7 в PIE2, PIR2 и IPR2 (2)Биты прерывания по сбою генератора (OSCFIE, OSCFIF и OSCFIP).
FAChTXSTAРеализован бит 3 (2)Бит передачи символа Break (SENDB).
FB0hSPBRGHРеализован (1)SPBRGH хранит старший байт значения скорости передачи в 16-битном режиме.
FB8hBAUDCONРеализован (1)Регистр управления генератором скорости передачи.
FC0hADCON2Реализован (1)Управляет выбором времени захвата.
FC1hADCON1Изменено расположение битов (3)Более подробную информацию см. в даташине на PIC18F4580 (DS39637) в Разделе 19.0 "Модуль 10-разрядного аналого-цифрового преобразователя (АЦП)".
FC2hADCON0Изменено расположение битов (3)Более подробную информацию см. в даташине на PIC18F4580 (DS39637) в Разделе 19.0 "Модуль 10-разрядного аналого-цифрового преобразователя (АЦП)".
FCDhT1CONРеализован бит 6 (2)Этот бит-флаг указывает, работает ли устройство от генератора Timer1 или нет (T1RUN).
FD0hRCONРеализован бит 6 (2)Этот бит предназначен для программного управления BOR. Он доступен только в том случае, если BOR аппаратно отключен.
FD2hHLVDCONРеализован бит 7, название регистра изменено с LVDCON на HLVDCON (2)Этот бит добавляет возможность обнаружения повышенного напряжения (VDIRMAG).
FD3hOSCCONРеализован новый бит 7, изменена функция существующего бита SCS (2)Добавлены биты для управления внутренним генератором, режимом простоя (Idle) и выбором источника тактовых импульсов. Добавлены биты-флаги для указания состояния источников тактовых импульсов.

Примечания:

1) Реализованы в PIC18F4580, но не реализованы в PIC18F458. Однако состояния по умолчанию, устанавливающиеся при включении питания, для этих новых регистров не оказывают какого-либо переходного влияния.

2) В состоянии по умолчанию, устанавливающемся при включении питания, эти дополнительные биты, реализованные в PIC18F4580, не оказывают какого-либо переходного влияния.

3) Эти изменения могут оказать переходное влияние.

Таблица 4. Детальное описание отличий конфигурационных регистров PIC18F4580 от PIC18F458

АдресКонфигурационный регистрPIC18F458PIC18F4580
300001hCONFIG1HCONFIG1H<2:0>: биты выбора генератора (FOSC2:FOSC0)
CONFIG1H<5>: бит разрешения переключения тактового генератора ()
Обеспечивает три новых бита:
CONFIG1H<3:0>: биты выбора генератора добавляют ещё два выбора генератора (FOSC3).(1)
CONFIG1H<6>: Включает диспетчер отказоустойчивости тактового генератора (FCMEN).(1)
CONFIG1H<7>: выбирает возможность двухотсчётного запуска (IESO).(1)
300002hCONFIG2LCONFIG2L<1>: Включает или выключает BOR. Также реализованы CONFIG2L<3:2> (BORV1:BORV0) и CONFIG2L<0>()CONFIG2L<2:1>: добавляет опции программно управляемого BOR (BOREN1:BOREN0); другие биты не изменены.
300003hCONFIG2HCONFIG2H<3:1>: постделитель WDT, до 1:128.
Также реализован CONFIG2H<0> (WDTEN)
CONFIG2H<4:1>: Постделитель WDT, до 1:32768 (WDTPS3:WDTPS0).
CONFIG2H<0> не изменён.
300005hCONFIG3HНе реализованДобавлены три новых бита:
CONFIG3H<7>: вывод RE3 порта PORTE можно использовать как или как вход порта (MCLRE).
CONFIG3H<2>: Timer1 может работать с генератором с низким и с высоким потреблением. По умолчанию включен генератор с высоким энергопотреблением, который совместим с PIC18F458 (LPT1OSC).(1)
CONFIG3H<1>: Выбирает настройку выводов PORTB<4:0> при POR. По умолчанию эти выводы при POR настроены как аналоговые. Для совместимости с PIC18F458 пользовать должен настроить выводы PORTB<4:0> как цифровые при POR (PBADEN).
300006hCONFIG4LРеализованы CONFIG4L<7> (DEBUG), CONFIG4L<2> (LVP) и CONFIG4L<0> (STVREN).Добавлены два новых бита:
CONFIG4L<6>: включает расширение набора команд (XINST).(1)
CONFIG4L<4>: выбор размера загрузочного блока (BBSIZ).(1)
Остальные биты не изменены.
300008hCONFIG5LCONFIG5L<0>: включает защиту кода для 000200h - 001FFFh.CONFIG5L<0>: включает защиту кода для 000800h - 001FFFh.
300009hCONFIG5HCONFIG5H<6>: включает защиту кода для 000000h - 0001FFh (загрузочный блок).CONFIG5H<6>: включает защиту кода для 000000h - 0007FFh (загрузочный блок).
30000AhCONFIG6LCONFIG6L<0>: включает защиту от записи для 000200h - 001FFFh.CONFIG6L<0>: включает защиту от записи для 000800h - 001FFFh.
30000BhCONFIG6HCONFIG6H<6>: включает защиту от записи для 000000h - 0001FFh.CONFIG6H<6>: включает защиту от записи для 000000h - 0007FFh.
30000ChCONFIG7LCONFIG7L<0>: включает защиту от табличного чтения для 000200h - 001FFFh (чтение, выполняемое из других блоков).CONFIG7L<0>: включает защиту от табличного чтения для 000800h - 001FFFh (чтение, выполняемое из других блоков).
30000DhCONFIG7HCONFIG7H<6>: включает защиту от табличного чтения для 000000h - 0001FFh (загрузочный блок).CONFIG7H<6>: включает защиту от табличного чтения для 000000h - 0007FFh (загрузочный блок).

Примечания:

1) Эти конфигурационные биты имеют незапрограммированное состояние по умолчанию "0", у других битов состояние по умолчанию "1". Это может оказать влияние на переход.

Таблица 5. Отличие статических характеристик PIC18F4580 от PIC18F458.

№ параметраПараметрPIC18LF458PIC18LF4580Единицы измерений
Мин.Тип.Макс.Мин.Тип.Макс.
D005BOR 
 111.98-2.141.962.062.16В
 102.67-2.892.642.782.92В
 014.16-4.54.114.334.55В
 004.45-4.834.414.644.87В

№ параметраПараметрPIC18LF458PIC18LF4580Единицы измерений
Мин.Тип.Макс.Мин.Тип.Макс.
D005BOR 
 11NA-NANA-NAВ
 10NA-NANA-NAВ
 014.16-4.54.114.334.55В
 004.45-4.834.414.644.87В
D010, D013, D014, D020, D022 и D025Ток питания, ток в режиме пониженного энергопотребления и характеристические токи модулейИз-за различий архитектуры PIC18F458 и PIC18F4580 описывают эти технические характеристики совершенно различными способами, и их нельзя сравнивать напрямую. PIC18F4580 обеспечивает намного большую детализацию для описания потребления постоянного тока в различных режимах управления питанием и при различных температурах окружающей среды.
Более подробную информацию вы можете найти в техническом описании на PIC18F458 (DS41159) в Разделе 27.1 "Статические характеристики"19 и в техническом описании на PIC18F4580 (DS39637) в Разделе 27.2 "Статические характеристики: ток выключения питания и питания"20.
D420HLVD-LVD 
 LVV=0000---2.122.172.22В
 LVV=00011.982.062.142.182.232.28В
 LVV=00102.182.272.362.312.362.42В
 LVV=00112.372.472.572.382.442.49В
 LVV=01002.482.582.682.542.602.66В
 LVV=01012.672.782.892.722.792.85В
 LVV=01102.772.893.012.822.892.95В
 LVV=01112.983.103.223.053.123.19В
 LVV=10003.273.413.553.313.393.47В
 LVV=10013.473.613.753.463.553.63В
 LVV=10103.573.723.873.633.713.80В
 LVV=10113.763.924.083.813.903.99В
 LVV=11003.964.134.304.014.114.20В
 LVV=11014.164.334.504.234.334.43В
 LVV=11104.454.644.834.484.594.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 г.

Категория: Мои статьи | Добавил: MAS (25.11.2012)
Просмотров: 1743 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Мои статьи [51]
Справочные данные [165]
Справочные данные
Наш опрос
Оцените мой сайт
Всего ответов: 30
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Баннер
$$
Друзья сайта
  • Спортсменам
  • Огородникам СЮД(А
  • Строим вместе
  • Мир развлечений
  • Кто хочет похудеть
  • Здоровье у нас одно
  • Юмор
  • Кулинарные рецепты
  • Картинки_Заставки_Демотивоторы
  • Семья
  • Кто на мальчишник
  • Металлообработка
  • Кто на девишник
  • Блоки питания
  • Смерть соседям
  • Радиомедведь
  • Кибермедведь
  • Радиосайт
  • Деревообработка
  • Поиск