Jump to content
    

Начальная загрузка PEF22622

Доброго всем времени суток

Не поделится ли кто алгоритмом или ссылкой загрузки firmware- по тому, что дал infineon разобраться не смог.

Share this post


Link to post
Share on other sites

Привет!

Какая схема загрузки и какой используется вспомогательный микроконтроллер?

Какие есть загрузочные файлы и какая используется документация (наименование и дата)?

Есть ли соглашение с Infineon о неразглашении?

PEF22622 работает хорошо, только описание на него немного необычное...

Edited by Волощенко

Share this post


Link to post
Share on other sites

Привет!

Какая схема загрузки и какой используется вспомогательный микроконтроллер?

Какие есть загрузочные файлы и какая используется документация (наименование и дата)?

Есть ли соглашение с Infineon о неразглашении?

PEF22622 работает хорошо, только описание на него немного необычное...

Спасибо за ответ

Да соглашение NDA со Шмелевым делали

работаю по документам:

-socrates_ds1_v14datasheet.pdf-Data Sheet, DS 1, Jan. 2002

-SOC_uC_interface_load .pdf-Application Note, DS 1, July 2001

Контроллер Аt89s8253

Вот как раз в "необычности" и проблема- алгоритм загрузки и что-то типа программы, которые они дают в appNote не сходятся- не понятно -чем проверять, съел он блок или нет, что каждый раз писать в MODE_E. B и еще куча вопросов

 

Если есть инфа, которой можете поделиться,вышлите на [email protected]

Edited by Kazap

Share this post


Link to post
Share on other sites

Та документация, что перечислена, достаточна для работы.

Видимо, немецкий инженер описывал ее на английском языке, поэтому написано мало.

У меня используется Atmega128, работаю с двумя PEF22622 (так как проект для регенератора), программа написана в С в среде ICCAVR от IAR. Алгоритм загрузки соответствует следующему:

 

/* 1. Set MODE_E to 80 to signal slave mpu that we want to do a memory download

1a.check STAT_E to see that HDLC is not busy

2. if not busy reset fifos via CMD_E

3. Send BYTE count in XBC_E - 2 address bytes + code data bytes

4. Put MSByte and LSByte of Slave Ram Address in the fifo XFIFO_E

5. Put 64 bytes of code data into fifo XFIFO_E

6. See if slave MPU is ready for another download via ISTA_E.1 bit

7. Download in blocks of 64 or less until finished loading the slave ram.

8. Make sure BYTE Cnt is correct for each block via XBC_E

9. Set BYTE Cnt to 2 but transmit only one byte to recognize next MODE_E

9. Signal slave mpu to send back calculated checksum via MODE_E = 0x80

10.wait till slave mpu signals that the fifo (XFIFO_E) contains the

checksum via STAT_E

11.comapre this checksum vs. the checksum in codetabl.h

12.when finished switch the slave mpu back to HDLC mode via MODE_E=0

*/

 

Для начала нужны функции записи/считывания байт в PEF22622 c учетом используемого Аt89s8253 и Вашей схемы, а затем сама функция загрузки (ниже мои прототипы):

void WR(byte Adr, byte Date);

byte RD(byte Adr);

byte FirmWare_Download_PEF22622(byte __farflash *pCode, word length);

 

Они у Вас уже написаны?

Вы должны считывать отдельные байты из PEF22622 еще до загрузки Firmware, это позволит проверить интерфейс между Аt89s8253 и PEF22622.

Какой файл используете для Firmware?

Edited by Волощенко

Share this post


Link to post
Share on other sites

Та документация, что перечислена, достаточна для работы.

Видимо, немецкий инженер описывал ее на английском языке, поэтому написано мало.

У меня используется Atmega128, работаю с двумя PEF22622 (так как проект для регенератора), программа написана в С в среде ICCAVR от IAR. Алгоритм загрузки соответствует следующему:

 

/* 1. Set MODE_E to 80 to signal slave mpu that we want to do a memory download

1a.check STAT_E to see that HDLC is not busy

2. if not busy reset fifos via CMD_E

3. Send BYTE count in XBC_E - 2 address bytes + code data bytes

4. Put MSByte and LSByte of Slave Ram Address in the fifo XFIFO_E

5. Put 64 bytes of code data into fifo XFIFO_E

6. See if slave MPU is ready for another download via ISTA_E.1 bit

7. Download in blocks of 64 or less until finished loading the slave ram.

8. Make sure BYTE Cnt is correct for each block via XBC_E

9. Set BYTE Cnt to 2 but transmit only one byte to recognize next MODE_E

9. Signal slave mpu to send back calculated checksum via MODE_E = 0x80

10.wait till slave mpu signals that the fifo (XFIFO_E) contains the

checksum via STAT_E

11.comapre this checksum vs. the checksum in codetabl.h

12.when finished switch the slave mpu back to HDLC mode via MODE_E=0

*/

 

Для начала нужны функции записи/считывания байт в PEF22622 c учетом используемого Аt89s8253 и Вашей схемы, а затем сама функция загрузки (ниже мои прототипы):

void WR(byte Adr, byte Date);

byte RD(byte Adr);

byte FirmWare_Download_PEF22622(byte __farflash *pCode, word length);

 

Они у Вас уже написаны?

Вы должны считывать отдельные байты из PEF22622 еще до загрузки Firmware, это позволит проверить интерфейс между Аt89s8253 и PEF22622.

Какой файл используете для Firmware?

 

 

Более -менее подразобрались. Файлы RT16_14.bin, , co16_14.bin. Socrates -14 После загрузки firmware- register fwvers дает 96н(это число вызывает сомнения), а romvers-12н(похоже на истину). Не знаете взаимосвязь между содержимым fwvers и версией FW? И еще вопрос- вы CL грузите или без него обходитесь-я так понял, возможно без него

Edited by Kazap

Share this post


Link to post
Share on other sites

Файлы и коды правильные.

Последовательность вхожения в работу у меня такая:

1. Reset PEF22622

2. Firmware Download

3. Capability List Download

4. Program RESTART

5. Wait for INITIALIZATION

6. IF Initial then PREACT or TRAIN

7. Init EOC

На Ваш адрес "rambler.ru" выслана помощь.

Share this post


Link to post
Share on other sites

Еще одна картинка внутренних регистров в приложении (это по поводу кодов)

Большое спасибо за помощь- более-менее с начальной загрузкой разобрались . Начинаем линковать

Share this post


Link to post
Share on other sites

Слинковался нормально, спасибо за помощь. Есть пара проблем-Если пересбросить в режиме линка один из Socrates, то линк уже не восстанавливается- нужно обязательно дать reset одновременно на оба в пределеах +- 1 сек. Используем режимTrain.

И второе -не удается принять Байты через HDLC-E. (так как HDLC BZ имеет ошибки, не хотим его использовать) Передача проходит как положено- а на приеме флаг готовности RPF_E не выставляется

Edited by Kazap

Share this post


Link to post
Share on other sites

Ваша программа что-то портит или Вы, возможно, еще не разобрались в работе с PEF22622 и не верно задаете настройки. Все заявленное в описании PEF22622 должно нормально работать.

Советую через управляющий микроконтроллер и RS-232 вывести для анализа трассу состояний PEF22622 и работать далее в режиме G.hs.

В приложении возможный вариант сервисной программы при снятии реальной трассы состояний.

Doc1.doc

Share this post


Link to post
Share on other sites

Насчет заявленного infineon- у меня есть errata, в которой говорится о проблемах с hdlc_bz, если

нужно могу выслать

Share this post


Link to post
Share on other sites

Я использовал Errata Sheet DS 7, 2002-02-05. В частности, исправлял свою схему для соответствия Figure 2. Если есть что-то новое, то это будет интересно.

Share this post


Link to post
Share on other sites

А можно Errata Sheet DS 7 выложить здесь? Или сбросить мне на мыло? А то у меня почему-то только 6-я... Может именно из-за этого половина чипов и не живет:( Тем более если там изменения в схеме...

Share this post


Link to post
Share on other sites

СПАСИБО!!! Думаю простит:) Вообще у наших программистов есть соглашение, только они все прячут. И ерраты в том числе...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...