Задача состояла в разработке и тестировании программного кода для коммуникационного процессора, обеспечивающего все функции, связанные с банкоматами. Проект включал:

  • изучение аналогичных коммуникационных процессоров, включая Atomizer, Power QUICC II, другие
  • обзор соответствующих стандартов
  • определение функций, которые должны быть реализованы во встроенном ПО (см. список функций ниже)
  • разработка архитектуры встроенного ПО и структур данных
  • разработка функциональной модели встроенного ПО в ANSI C
  • разработка прототипа хост-драйвера
  • разработка набора тестов для проверки функциональности
  • разъяснение аппаратной архитектуры чипа
  • разработка имитатора целевого оборудования (включая коммуникационный процессор ISS, контроллеры и модели каналов передачи данных)
  • преобразование модели C в проприетарный язык ассемблера
  • тестирование встроенного ПО на симуляторе и улучшение охвата тестированием
  • разработка тестов производительности оценка производительности встроенного ПО с помощью симулятора
  • разработка инструментов оптимизации кода встроенного ПО
  • дополнительная ручная оптимизация кода в соответствии с требованиями к размеру и производительности
  • проверка кода на модели процессора Verilog
  • тестирование функциональности на реальном процессоре
  • создание проекта документа "Руководство пользователя встроенного ПО банкомата".

Проект был завершен в срок. Определенная функциональность была полностью реализована в прошивке. Тесты прошивки были успешно проведены на реальном оборудовании.

Встроенное по укладывается в 8 тысяч слов инструкций. По завершении проекта для обслуживания было зарезервировано около 200 слов инструкций. Цель по производительности ADSL достигнута. Производительность VDSL достигнута с учетом ограничений (дескрипторы хранятся в локальной памяти).

Особенности встроенного ПО

Список основных функций разработанного микропрограммного обеспечения включает в себя:

  • UTOPIA Level 2 Master interface up to 31 PHYs supported
    • FIFO full and periodical timer transmit rate modes.
  • Supports up to 256 connection descriptors in local memory up to 8K connection descriptors in external memory
  • No restrictions on buffer alignment
  • Buffer management
  • AAL0
    • switch mode
    • optional CRC10 insertion/check.
  • AAL1
    • configurable support of partially-filled cells
    • configurable support for structured data transfer
    • structured pointer synchronization
    • sequence number check
    • lost/misinserted cells detection dummy cells insertion
    • SRTS generation, clock recovery.
  • AAL2
    • CPCS (as per ITU-T I.363.2) implemented in firmware
    • support for different asynchronous data sources (e.g. DSP)
    • Optional Combined Use timer support.
  • AAL5
  • ATM Forum Traffic Management 4.1 support:
    • CBR, UBR, VBR (type 1, 2), GFR traffic types
    • UBR+ (UBR with minimum desired cell rate specified) support
    • ABR support, resource management cells handled in firmware
    • Static (CBR-only) and dynamic scheduling algorithms implemented.
  • ITU-T I.610 (02/99) OAM
    • F4 and F5 flow support
    • I.610 Performance Monitoring implemented in firmware
    • In-band OAM cell transmission.
  • Statistics gathering.

Наши клиенты