Динамическое программирование аналоговых схем Anadigm управляющим методом

№ 12’2010
PDF версия
В статье описаны этапы создания конфигурационных данных для динамического программирования аналоговых интегральных схем (ПАИС) Anadigm управляющим методом. Метод основан на использовании предварительно откомпилированных конфигураций с заранее известными параметрами.

Программируемые аналоговые микросхемы Anadigm

Компания Anadigm — безусловный лидер в области разработки и производства программируемых аналоговых микросхем. Линейка продукции, которую выпускает компания Anadigm, состоит из динамически и статически программируемых аналоговых микросхем. В отличие от статически программируемых схем, где конфигурационные данные загружаются при включении ПАИС и остаются неизменными во время ее работы, динамически конфигурируемая схема позволяет изменять полностью или частично функциональную структуру в реальном времени в работающем устройстве. Для этого в ПАИС предусмотрена так называемая теневая память, в которую во время работы аналоговой структуры можно с помощью микроконтроллера загрузить обновленную конфигурацию, а затем по команде мгновенно активизировать новую аналоговую конфигурацию.

При использовании бюджетных недорогих микроконтроллеров для динамического конфигурирования программируемых аналоговых микросхем Anadigm оправдано использование управляющего метода (State-Driven), который в отличие от алгоритмического метода использует предварительно сконфигурированные данные.

 

Создание основного конфигурационного кода

Рассмотрим пример динамического программирования частоты среза фильтра низкой частоты, выполненного на базе ПАИС Anadigm 2-го поколения AN221E04. Для динамического программирования будем использовать управляющий метод. Хранение/передача конфигураций и управление ПАИС будут осуществляться с помощью микроконтроллера по последовательной шине SPI (рис. 1).

Рис. 1. Электрическая принципиальная схема подключения ПАИС для динамического программирования с помощью микроконтроллера

 

Работа цифровой части ПАИС

В первый момент времени после подачи питания выводы ACLK, CFGFLGb и OUTCLK/ SPIMEM находятся в неопределенном состоянии, пока не сгенерируется внутренний импульс сброса и не переведет их в исходное состояние. Типовое время — около 30 мс.

Затем, одновременно с передачей конфигурационных данных по последовательной шине DIN, на выводе ACTIVATE установится низкий логический уровень, который сохраняется до тех пор, пока не завершится процесс передачи данных (конфигурирования). После завершения этого процесса вывод ACTIVATE переходит в третье состояние, и на нем устанавливается сигнал высокого логического уровня благодаря наличию подтягивающего резистора R1. Внешний сигнал низкого логического уровня на выводе ACTIVATE также может быть использован для блокировки активации переданных конфигурационных данных.

Вход CS2b используется как сигнал выбора кристалла с активным низким логическим уровнем, при этом он должен быть синхронизирован с синхросигналом DCLK. Выводы CS2b и CS1b соединены по схеме ИЛИ-НЕ, выход которой используется для запрета или разрешения выдачи сигнала синхронизации на конфигурационную логику. Когда оба сигнала CS имеют низкий уровень, выдача синхросигнала разрешена. Поэтому необходимым условием для передачи конфигурационных данных в ПАИС является наличие сигналов низкого уровня на входах CS1b и CS2b. При подаче на вход CS2b сигнала высокого уровня ПАИС переходит в неактивное состояние, с пониженным энергопотреблением.

Как правило, вывод LCCb используется для индикации завершения процесса конфигурирования, а подсоединенный по схеме светодиод LED1 будет свидетельствовать о завершении процесса конфигурирования без ошибок. При конфигурировании ПАИС на чтение [1] с выхода LCCb можно считывать содержимое конфигурационного ОЗУ. Считываемые данные появляются на LCCb через 16 тактов синхросигнала.

Вывод ERRb можно использовать в режиме входа или выхода с открытым стоком. В обоих случаях к нему необходимо подключить подтягивающий резистор на +5 В (типовое значение — 10 кОм). Во время инициализации ПАИС он используется в режиме выхода, и до завершения этого процесса на нем присутствует низкий логический уровень. После завершения конфигурирования вывод переходит в третье состояние, и на нем устанавливается сигнал высокого логического уровня благодаря наличию подтягивающего резистора R2.

Вывод CFGFLGb используется при программировании системы (цепочки), состоящей из нескольких параллельно включенных микросхем. Наличие на нем логического нуля свидетельствует о течении процесса конфигурирования. В этом случае принимающая конфигурационные данные ПАИС установит на общей для всех микросхем шине CFGFLGb низкий логический уровень, при котором все остальные микросхемы в цепочке, для которых не предназначены данные, будут их игнорировать.

Перезагрузка ПАИС может быть осуществлена подачей импульса низкого логического уровня на входе PORb, при загрузке первичной конфигурации программно или при возникновении ошибки — логическим нулем на входе ERRb. Если в процессе работы на вход PORb подать импульс низкого уровня, ПАИС будет принудительно перезагружена в режиме включения питания. Если на входе PORb присутствует ноль длительное время, ПАИС будет удержана в состоянии сброса.

 

Работа аналоговой части ПАИС

Обработка сигнала внутри ПАИС осуществляется с использованием однополярных дифференциальных сигналов, с постоянной составляющей +2 В. Для работы с недифференциальным униполярным аналоговым сигналом необходимо использовать входную ячейку, работающую в режиме “Singleended” [2]. Входной сигнал должен поступать на позитивный дифференциальный вход ячейки ввода/вывода IO1P и иметь постоянную составляющую +2 В. Необходимое смещение можно подавать от внутреннего источника опорного напряжения VMRC (вывод 17) через постоянный резистор R5, предотвратив попадание постоянной составляющей на вход источника сигнала конденсатором C1.

Постоянную составляющую в выходном сигнале удаляют с помощью конденсатора С3. При программировании ПАИС необходимо учитывать тот факт, что выходной сигнал будет равен половине амплитуды, из-за того, что используется один (O1P) из двух (O1P и O1N) дифференциальных выходов.

 

Проектирование электрической схемы

Для проектирования аналоговой структуры ПАИС понадобится САПР AnadigmDesigner2, который распространяется бесплатно и является полнофункциональным симулятором, позволяющим отладить электрическую схему без программирования микросхемы ПАИС [3]. В состав программы включены разнообразные библиотеки [4]. На первоначальном этапе проектирования необходимо выбрать тип используемой микросхемы — ПАИС 2-го поколения AN221E04, установить в окне свойств Chip Setting частоту синхронизирующего сигнала Master Clock, равную частоте тактового сигнала на шине ACLK (рекомендуемая частота 16 МГц), а затем приступить к построению аналоговой структуры.

Встроенная в САПР AnadigmDesigner2 библиотека конфигурируемых аналоговых модулей (КАМ) может быть вызвана с помощью пункта меню Edit →Insert New CAM или при нажатии горячей клавиши m. Справа в прокручиваемом списке открывшегося окна выбора КАМ необходимо добавить модуль биквадратичного фильтра (FilterBiquad) и настроить его параметры (рис. 2):

  • тип фильтра — фильтр нижней частоты (Low Pass);
  • частоту среза Corner Frequency = 40 кГц;
  • коэффициент передачи фильтра Gain = 1;
  • добротность Quality Factor = 0,707 (фильтр Баттерворта).

Рис. 2. Окно настройки фильтра

Рис. 3. Электрическая принципиальная схема в окне программы Anadigm Designer 2

Соединяем фильтр с ячейками ввода/вывода так, как показано на рис. 3, а затем настраиваем параметры входной ячейки для работы с недифференциальным входным сигналом. Для этого в свойствах ячейки устанавливаем следующие параметры (рис. 4):

  • Режим ячейки ввода/вывода (I/O Mode) — вход (Input).
  • Тип входа (Input) — недифференциальный (Single-ended).
  • Входной усилитель (Input Amplifier) — выключен (Off).
  • Фильтр (Anti-Alias Filter) — фильтр низкой частоты (Low Pass Filter).
  • Частоту среза фильтра (Corner Frequency), равную 470 кГц (по умолчанию), оставляем без изменения.

Рис. 4. Окно настройки ячейки ввода/вывода

 

Получение основных конфигурационных данных

После завершения разработки схемы необходимо определить метод динамического конфигурирования, а также какие из ее частей могут нуждаться в динамическом переконфигурировании. Для выбора динамического программирования управляющим методом необходимо в меню программы Anadigm Designer 2 выбрать Dynamic Config (динамическое конфигурирование), а затем в открывшемся подменю выбрать State-Driven Method… (управляющий метод). Открывшееся окно State-Driven Dynamic Conf iguration (рис. 5) предназначено для добавления различных схем и параметров, конфигурационные данные которых необходимо откомпилировать [5].

Рис. 5. Окно State-Driven Dynamic Configuration

С помощью элемента управления Complete Chips… в закладке States выбираем основную конфигурацию FPAA1, созданную на предыдущем этапе, а затем с помощью элемента управления Parameter Ranges… параметры, которые необходимо изменять при динамическом конфигурировании, их диапазон изменения и количество ключевых состояний (рис. 6). В средней закладке Transitions отмечаем основное (начальное) состояние ПАИС галочкой (рис. 7) и переходим к закладке Generation для генерации конфигурационного кода (рис. 8). В диалоговом окне Generation возможен выбор формата выходных данных Output Type и места их сохранения Destination Directory.

Рис. 6. Окно настройки диапазона изменения параметров конфигурационной логики

Рис. 7. Переход к закладке Generation

Рис. 8. Окно выбора формата конфигурационных данных и места их сохранения

Сохраненный файл в формате Generate C Formatted Configuration Text Files имеет текстовый формат и содержит основные и реконфигурационные данные со следующей структурой (рис. 9):

  • Основные конфигурационные данные (Primary Configurations) — 134 байта, будут содержать режим работы ПАИС, логические адреса.
  • Реконфигурационные данные (Transition Configurations):
    • Dynamic Filter: Fo [40] (37 байтов) — реконфигурационные данные динамического изменения конфигурационной логики для частоты среза фильтра низкой частоты 40 кГц;
    • Dynamic Filter: Fo [50] (37 байтов) — реконфигурационные данные динамического изменения конфигурационной логики для частоты среза фильтра низкой частоты 50 кГц;
    • FPAA1 (37 байтов) — возврат ПАИС в первоначальное состояние на момент загрузки конфигурации.

Рис. 9. Файл в формате Generate C Formatted Configuration Text Files

Полученные конфигурационные данные можно включать с С-код микроконтроллера, используя типовые алгоритмы [5].

 

Алгоритмы загрузки основной конфигурации и обновления

После подачи напряжения питания ПАИС запустит процесс инициализации и сформирует сигнал внутреннего сброса, после чего основная и «теневая» память будут очищены. Процесс инициализации ПАИС завершается появлением на выводе ACTIVE «лог. 1», который будет означать готовность ПАИС к приему основных конфигурационных данных Primary Configurations (рис. 9). Затем микроконтроллер может подать сигнал выбора кристалла CS2b на первую микросхему в цепочке FPAA1 для инициализации приема данных на вывод DIN с помощью алгоритма, представленного в листингах 1–3.

#define Primary_Config_Size 134
const an_Byte Primary_Data[] =
{
    0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xB7, 0x22,

0x04, 0x00, 0xD4, 0x00
};    
   
Листинг 1. Основные конфигурационные данные

 

# Биты передаются в ПАИС по шине DIN, запись логического
состояния происходит при перепаде тактовой шины DCLK из со-
стояния “лог.1” в “лог.0”.
void Data_Write(int8 data)
{
    an_Byte bit = 8;
while (bit—)
{
      if (data & 0x80)
        DIN_High;
      DCLK_High;
DCLK_Low;
DIN_Low;
data <<= 1;
    }    
}        
   
Листинг 2. Запись одного байта данных в ПАИС
с помощью вызова функции

 

void Load_Primary_Circuit(void)
{
    an_Byte i;
for ( i = 0; i < Primary_Config_Size; i++)
      Data_Write(Primary_Data[i]);
}      
   
Листинг 3. Запись конфигурационных данных
с помощью вызова функции

 

#define Reconfig _Size 37
const an_ Reconfig Data [] =
{
    0xD5, 0x01, 0x05, 0xE0, 0x02, 0x0A, 0x0E, 0x01,

0x20, 0x00, 0xD2, 0x6A, 0xC9, 0x00
};    
   
Листинг 4. Реконфигурационные данные

 

void Load Reconfig Circuit (void)
{
    an_Byte i;
for ( i = 0; i < Reconfig _Size; i++)
      Data_Write(Reconfig Data[i]);
}      
   
Листинг 5. Запись реконфигурационных данных
с помощью вызова функции

После загрузки конфигурационных данных светодиод LED1, подключенный к выводу LCCb, загорится, а на шине ACTIVE будет установлен уровень «лог. 1», означающий, что микросхема сконфигурирована и готова для приема обновленных конфигурационных данных.

Во время работы и выполнения основного конфигурационного кода ПАИС будет искать на шине DIN байт синхронизации (0xD5) и следующий за ним байт логического адреса ADDR1, полученного на этапе загрузки основного конфигурационного кода [1]. При совпадении адреса передаваемых реконфигурационных данных с адресом, полученным при загрузке основной конфигурации, ПАИС установит на шине ACTIVE уровень «лог. 0». После чего микроконтроллер может отправить ПАИС реконфигурационные данные (рис. 9) Dynamic Filter: Fo [40] (частота среза фильтра нижней частоты 40 кГц) или Dynamic Filter: Fo [50] (частота среза фильтра нижней частоты 50 кГц) по шине DIN, используя алгоритм, представленный в листингах 4, 5.

После того как передача реконфигурационных данных будет завершена, на шине ACTIVE будет установлен уровень «лог. 1». Значит, загруженная аналоговая структура активирована, и ПАИС готова к следующему приему реконфигурационных данных.

 

Заключение

Программируемые аналоговые микросхемы могут стать незаменимым инструментом в приложениях, для которых необходимо низкое время отклика при обработке аналоговых сигналов с высокой точностью: это PID-регуляторы, аналоговые фильтры высокого порядка, нейронные сети и т. п. Такие микросхемы используются и при обработке сигналов от датчиков. Использование ПАИС Anadigm позволяет отказаться от значительной части внешних навесных элементов и тем самым уменьшить габариты устройства и повысить его надежность.

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

xosotin chelseathông tin chuyển nhượngcâu lạc bộ bóng đá arsenalbóng đá atalantabundesligacầu thủ haalandUEFAevertonxosofutebol ao vivofutemaxmulticanaisonbetbóng đá world cupbóng đá inter milantin juventusbenzemala ligaclb leicester cityMUman citymessi lionelsalahnapolineymarpsgronaldoserie atottenhamvalenciaAS ROMALeverkusenac milanmbappenapolinewcastleaston villaliverpoolfa cupreal madridpremier leagueAjaxbao bong da247EPLbarcelonabournemouthaff cupasean footballbên lề sân cỏbáo bóng đá mớibóng đá cúp thế giớitin bóng đá ViệtUEFAbáo bóng đá việt namHuyền thoại bóng đágiải ngoại hạng anhSeagametap chi bong da the gioitin bong da lutrận đấu hôm nayviệt nam bóng đátin nong bong daBóng đá nữthể thao 7m24h bóng đábóng đá hôm naythe thao ngoai hang anhtin nhanh bóng đáphòng thay đồ bóng đábóng đá phủikèo nhà cái onbetbóng đá lu 2thông tin phòng thay đồthe thao vuaapp đánh lô đềdudoanxosoxổ số giải đặc biệthôm nay xổ sốkèo đẹp hôm nayketquaxosokq xskqxsmnsoi cầu ba miềnsoi cau thong kesxkt hôm naythế giới xổ sốxổ số 24hxo.soxoso3mienxo so ba mienxoso dac bietxosodientoanxổ số dự đoánvé số chiều xổxoso ket quaxosokienthietxoso kq hôm nayxoso ktxổ số megaxổ số mới nhất hôm nayxoso truc tiepxoso ViệtSX3MIENxs dự đoánxs mien bac hom nayxs miên namxsmientrungxsmn thu 7con số may mắn hôm nayKQXS 3 miền Bắc Trung Nam Nhanhdự đoán xổ số 3 miềndò vé sốdu doan xo so hom nayket qua xo xoket qua xo so.vntrúng thưởng xo sokq xoso trực tiếpket qua xskqxs 247số miền nams0x0 mienbacxosobamien hôm naysố đẹp hôm naysố đẹp trực tuyếnnuôi số đẹpxo so hom quaxoso ketquaxstruc tiep hom nayxổ số kiến thiết trực tiếpxổ số kq hôm nayso xo kq trực tuyenkết quả xổ số miền bắc trực tiếpxo so miền namxổ số miền nam trực tiếptrực tiếp xổ số hôm nayket wa xsKQ XOSOxoso onlinexo so truc tiep hom nayxsttso mien bac trong ngàyKQXS3Msố so mien bacdu doan xo so onlinedu doan cau loxổ số kenokqxs vnKQXOSOKQXS hôm naytrực tiếp kết quả xổ số ba miềncap lo dep nhat hom naysoi cầu chuẩn hôm nayso ket qua xo soXem kết quả xổ số nhanh nhấtSX3MIENXSMB chủ nhậtKQXSMNkết quả mở giải trực tuyếnGiờ vàng chốt số OnlineĐánh Đề Con Gìdò số miền namdò vé số hôm nayso mo so debach thủ lô đẹp nhất hôm naycầu đề hôm naykết quả xổ số kiến thiết toàn quốccau dep 88xsmb rong bach kimket qua xs 2023dự đoán xổ số hàng ngàyBạch thủ đề miền BắcSoi Cầu MB thần tàisoi cau vip 247soi cầu tốtsoi cầu miễn phísoi cau mb vipxsmb hom nayxs vietlottxsmn hôm naycầu lô đẹpthống kê lô kép xổ số miền Bắcquay thử xsmnxổ số thần tàiQuay thử XSMTxổ số chiều nayxo so mien nam hom nayweb đánh lô đề trực tuyến uy tínKQXS hôm nayxsmb ngày hôm nayXSMT chủ nhậtxổ số Power 6/55KQXS A trúng roycao thủ chốt sốbảng xổ số đặc biệtsoi cầu 247 vipsoi cầu wap 666Soi cầu miễn phí 888 VIPSoi Cau Chuan MBđộc thủ desố miền bắcthần tài cho sốKết quả xổ số thần tàiXem trực tiếp xổ sốXIN SỐ THẦN TÀI THỔ ĐỊACầu lô số đẹplô đẹp vip 24hsoi cầu miễn phí 888xổ số kiến thiết chiều nayXSMN thứ 7 hàng tuầnKết quả Xổ số Hồ Chí Minhnhà cái xổ số Việt NamXổ Số Đại PhátXổ số mới nhất Hôm Nayso xo mb hom nayxxmb88quay thu mbXo so Minh ChinhXS Minh Ngọc trực tiếp hôm nayXSMN 88XSTDxs than taixổ số UY TIN NHẤTxs vietlott 88SOI CẦU SIÊU CHUẨNSoiCauVietlô đẹp hôm nay vipket qua so xo hom naykqxsmb 30 ngàydự đoán xổ số 3 miềnSoi cầu 3 càng chuẩn xácbạch thủ lônuoi lo chuanbắt lô chuẩn theo ngàykq xo-solô 3 càngnuôi lô đề siêu vipcầu Lô Xiên XSMBđề về bao nhiêuSoi cầu x3xổ số kiến thiết ngày hôm nayquay thử xsmttruc tiep kết quả sxmntrực tiếp miền bắckết quả xổ số chấm vnbảng xs đặc biệt năm 2023soi cau xsmbxổ số hà nội hôm naysxmtxsmt hôm nayxs truc tiep mbketqua xo so onlinekqxs onlinexo số hôm nayXS3MTin xs hôm nayxsmn thu2XSMN hom nayxổ số miền bắc trực tiếp hôm naySO XOxsmbsxmn hôm nay188betlink188 xo sosoi cầu vip 88lô tô việtsoi lô việtXS247xs ba miềnchốt lô đẹp nhất hôm naychốt số xsmbCHƠI LÔ TÔsoi cau mn hom naychốt lô chuẩndu doan sxmtdự đoán xổ số onlinerồng bạch kim chốt 3 càng miễn phí hôm naythống kê lô gan miền bắcdàn đề lôCầu Kèo Đặc Biệtchốt cầu may mắnkết quả xổ số miền bắc hômSoi cầu vàng 777thẻ bài onlinedu doan mn 888soi cầu miền nam vipsoi cầu mt vipdàn de hôm nay7 cao thủ chốt sốsoi cau mien phi 7777 cao thủ chốt số nức tiếng3 càng miền bắcrồng bạch kim 777dàn de bất bạion newsddxsmn188betw88w88789bettf88sin88suvipsunwintf88five8812betsv88vn88Top 10 nhà cái uy tínsky88iwinlucky88nhacaisin88oxbetm88vn88w88789betiwinf8betrio66rio66lucky88oxbetvn88188bet789betMay-88five88one88sin88bk88xbetoxbetMU88188BETSV88RIO66ONBET88188betM88M88SV88Jun-68Jun-88one88iwinv9betw388OXBETw388w388onbetonbetonbetonbet88onbet88onbet88onbet88onbetonbetonbetonbetqh88mu88Nhà cái uy tínpog79vp777vp777vipbetvipbetuk88uk88typhu88typhu88tk88tk88sm66sm66me88me888live8live8livesm66me88win798livesm66me88win79pog79pog79vp777vp777uk88uk88tk88tk88luck8luck8kingbet86kingbet86k188k188hr99hr99123b8xbetvnvipbetsv66zbettaisunwin-vntyphu88vn138vwinvwinvi68ee881xbetrio66zbetvn138i9betvipfi88clubcf68onbet88ee88typhu88onbetonbetkhuyenmai12bet-moblie12betmoblietaimienphi247vi68clupcf68clupvipbeti9betqh88onb123onbefsoi cầunổ hũbắn cáđá gàđá gàgame bàicasinosoi cầuxóc đĩagame bàigiải mã giấc mơbầu cuaslot gamecasinonổ hủdàn đềBắn cácasinodàn đềnổ hũtài xỉuslot gamecasinobắn cáđá gàgame bàithể thaogame bàisoi cầukqsssoi cầucờ tướngbắn cágame bàixóc đĩaAG百家乐AG百家乐AG真人AG真人爱游戏华体会华体会im体育kok体育开云体育开云体育开云体育乐鱼体育乐鱼体育欧宝体育ob体育亚博体育亚博体育亚博体育亚博体育亚博体育亚博体育开云体育开云体育棋牌棋牌沙巴体育买球平台新葡京娱乐开云体育mu88qh88
Литература
  1. Щерба А. Конфигурационный протокол динамически программируемых аналоговых схем Anadigm // Компоненты и технологии. 2009. № 12.
  2. Щерба А. Построение входных и выходных цепей программируемых аналоговых схем Anadigm // Компоненты и технологии. 2008. № 12.
  3. Полищук А. Система автоматизированного проектирования программируемых аналоговых интегральных схем Anadigm Designer 2. Часть 1. Первый шаг: знакомство с интерфейсом // Компоненты и технологии. 2005. № 6–7.
  4. Щерба А. Программируемые аналоговые ИС Anadigm: применение конфигурируемых аналоговых модулей в составе программы Anadigm Designer 2 // Компоненты и технологии. 2007. № 12.
  5. Application Note: State-Driven Control of a dpASP using a Microchip PIC. App Note 206. Anadigm, 2008.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *