kentawrik

Target Board 78f1146 И Qb-mini2

8 сообщений в этой теме

kentawrik    0

Приобрел QB-MINI2 и сделал сам платку типа таргетбоард на 1146. Плата прилагается

post-45024-1218429386_thumb.jpg

Kit.rar

встала необходимость просмотреть время выполнения определенной процедуры.

void fill()

{

for( i = 0; i < 3; i++)

{

for( j = 0; j< 3072;j++)

{

buffer[j]='2';

}

}

}

инициализация:

void init_hard()

{

// инициализация тактовых частот

OSMC = 0x01; // xxxxxxx0

// +---- (FSEL) частота для памяти: 1 - выше 10 МГЦ / 0 - ниже 10 Мгц(экономия питания)

OSTS = 0x07; // xxxxx000

// +++---- время стабилизации (OSTS2, OSTS1, OSTS0)

// 000 - 2^8/fx

// 001 - 2^9/fx

// 010 - 2^10/fx

// 011 - 2^11/fx

// 100 - 2^13/fx

// 101 - 2^15/fx

// 110 - 2^17/fx

// 111 - 2^18/fx

CMC = 0x51; // 00x0xxx0

// || | +---- (AMPH) частота: 0 от 2 до 10 МГц / 1 - от 10 до 20 МГц

// || +-------- (OSCSELS) XT1,2: 0 - порт, 1 - кристалл

// |+---------- (OSCSEL) X1: 0 - порт / 1 вход(ы) генератора

// +----------- (EXCLK) генератор 0 - внутренний / 1 - внешний вход

CKC = 0x08; // 00001000

// |||||||+----(MDIV0):

// ||||||+-----(MDIV1):

// |||||+------(MDIV2):

// ||||+------- всегда 1

// |||+--------(MCM0) источник для fclk: 0 - fih / 1 - fmx

// ||+---------(MCS) (т.чтение) статус fmain: 0 - fih / 1 - fmx

// |+----------(CSS) источник для fclk: 0 - зависит от MDIV и MCM0 / 1 - fsub/2

// +-----------(CLS) (т.чтение) статус fclk: 0 - fmain/ 1 - fsub

CSC = 0x00; // 00xxxxx0

// || +----(HIOSTOP) fhi внутренний генератор: 0 - запустить / 1 - остановить

// |+----------(XTSTOP) fsub: 0 - запустить / 1 - остановить

// +-----------(MSTOP) fmx внешний: 0 - запустить / 1 - остановить

while(OSTC < 0xFF) // ожидаем пока содержимое регистра достигнет значения в зависимости

{ // от OSTS (в битах отличается)

__no_operation();

}

// генераторы запустили и подождали

CKC = 0x18; // здесь установили источник для fclk на fmx

CSC = 0x01; // остановили внутренний генератор

PER0=0x81; // 0x0000x0

// | |||| +---- (TAUEN) подать тактовую частоту на массив таймеров

// | |||+------ (SAU0EN) подать тактовую частоту на массив 0 последовательных портов

// | ||+------- (SAU1EN) подать тактовую частоту на массив 1 последовательных портов

// | |+-------- (IIC0EN) подать тактовую частоту на IIC0

// | +--------- (ADCEN) подать тактовую частоту на АЦП

// +----------- (RTCEN) подать тактовую частоту на часы реального времени

// частоты проиницализировали и на устройства подали

// инициализация портов

}

запускаю через симулятор -

смотрю через Profiling (Code Coverage не работает на qb-mini2 поэтому использую этот плагин)

время выполнения заливки чуть больше 433000 тактов

запускаю через отладчик - время выполнения 22600000 тактов

исходя из ассемблерного кода и размера массива я больше склоняюсь к тому что отладчик брешет, а симулятор говорит правду.

А вот как заставить отладчик говорить правду - не пойму...

Может неправильно что настроил в IAR?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kentawrik    0

Прошу прощения у модераторов но добавлю отдельным сообщением.

Да и еще у меня стоит как описано в даташите (в памяти при просмотре располагается как надо)

#pragma location = "OPTBYTE"

__root const unsigned char opbytes[4]={0x00,0xFF,0xFF,0x85};

хотя в CoolIt! стоит следующее (78F1166):

#pragma location = "OPTBYTE"

__root const unsigned char opbytes[3]={0x00,0xFF,0x85};

хотя ведут себя программы одинаково и при таком и при таком расскладе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

В режиме отладки, когда идет работа с OCD естественно время выполнения будет больше.

Правда не на порядок.

Уточним, посмотрим

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kentawrik    0

прошу прощения - панику поднял...

в настройках оборудования к отладчику - есть пункт Time Unit.

он как раз и задает величины по которым отсчитывается время.

так вот для симулятора считаются циклы, а для OCD выводится время в величинах которые мы установили...

у меня стояли наносекунды значит время выполнения процедуры fill в тактах 433233, а по времени 22600000 нс или 22,6 мс (миллисекунды).

все это даже лучше чем я ожидал...

:unsure:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Вообще следовало ожидать.

В этом процессоре есть конвеер, и однозначно сказать что столько-то команд=столько-то тактов не всегда можно.

В сложно-запутанной программе с кучей переходов, когда конвеер не работает, что-то подсчитать можно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kentawrik    0

так а как опытный человек что скажите по поводу OPTION?

почему такая разница?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Вечером гляну в даташит.

Там должно быть побитовое описание.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • @max820 Симистор ВТА41-600, судя по даташит,   http://www.ween-semi.com/documents/BTA41-600B.pdf является 4-х квадрантным, поэтому он будет управляться во всех 4-х квадрантах обязательно. Но дело в том что максимальный ток управления в 4-м квадранте выше тока управления в 1.2 и 3 квадрантах и составляет 70 мА вместо 50 мА в других квадрантах. Судя по Вашей схеме, когда на МТ2 +, то на УЭ - , а когда на МТ2 - , то на УЭ +. Получается, что симистор работает во 2 и 4 квадрантах и возможно из за тока управления 4-го квадранта добавляется температура. Не уверен в этом, но возможно. А насчет 80-90 градусов можете не волноваться. Это для нашей руки горячо, а для симистора это вполне комфортные условия. По даташит его предельная рабочая температура 150 град. Доводить до этого конечно же не надо, но и 90 град. - это не проблема.  А попробуйте поменять условные катод и анод симистора местами на Вашей схемке (это выводы 1 и 2, переверните симистор вверх ногами) Тогда, полагаю, управление будет происходить в 1 и 3 квадрантах - это любимые квадранты симисторов. Во всяком случае, в типовых схемах симисторных регуляторов такое включение наиболее популярно. Может и греться будет меньше, но не на много.
    • Ключ на биполярном транзисторе в картинках.
    • Видите как просто. За короткий период на базе динов у вас появился целый концепт мобильной компактной системы озвучивания. Осталось подключить руки.
    • Если дины куплены и есть желание их оформить как говорилось, то нужна не короб труба а плоский щит с небольшими боковыми стенками либо просто с подставкой. В длинном корпусе будет резонировать на 1/4 волновом резонансе. Чтоб демпфировать резонанс головки надо настраивать ЧВ резонатор на Fs105. Но корпус ВЧ компактным уже не назовёшь. Поэтому плоский короб/щит с  защитной сеткой от повреждения при транспортировке тыловой части головки, если уж так не хочется 40л. На улице пофиг щит или ЗЯ- стен и отражений от них нет. Я бы посоветовал поставить оба дина на один щит типа "книжка" раскладушка. Два прямоугольника из фанеры/лдсп, кусок рояльной петли и саморезы (подставка только для дома). Шахматную доску представляете? Тоже самое, только при складывании дины магнитами наружу и боковушек нет. Сверлите дырки для динов в щитах. Соединяете их рояльной петлёй и прикручиваете дины. Всё, книжка готова. Для улицы можно сделать шипы, которые втыкаются в землю и на них стоит книжка. Достаточно просверлить 2 отверстия по краям нижнего торца книжки продольные отверстия. В них и будут входить щипы= стержни. От ддинны шипов зависит высота книжки над землёй. Дома тоже самое только стержни можно сделать их хромированной трубки, закрепить две трубки на хорошей подставке= 2 рога, на которые надевается книжка. Угол раскрытия можно менять но рекомендованный угол раскрытия 120° дома а на улице втыкнёте шипы в землю чтоб угол был от 120 и до полного раскрытия= плоского щита. Всё максимум компакто, мобильно, быстро устанавливаемо и главное просто и оперативно регулируемо. Думаю предложенный концепт понятен. Думал над ним долго... секунд семь   Зона 80-100гц это кикбас, на улице даст ощущение "басовитости". Подключать к чему будете? Для улицы нужен источник, им может быть автомобиль либо аккумуляторный усь и смарт. Удобнее усь классаД оформить вход и выход, сунуть в пластиковый коробок. Аккумы можно отдельно либо туда же. Всё, мобильная озвучка для улицы помещается с спортивной сумке. Конструкцию шипов- стоек можно сделать любой. От одноногой телескопической, шоб в сумке помещалась и была не длиньше книжки, до креплений на книжке в которые будут входить найденные сучья либо подвесить на верёвке на дерево. Варианты монтажа книжки придумаете сами. Вплоть до банальной установки на земле и опорой на ветки/дерево/штыри/колья и тп.
    • Даже в паспорте не оговаривается нижняя граничная. Даётся лишь рекомендация частоты среза и порядка фильтра. А это и обусловлено параметрами самой головки. В частности Qts. Чем оно ниже те ниже можно сделать частоту среза. А делать её ниже или выше рекомендованной это решает сам строитель АС. Может он будет применять коррекцию влияния Qts в зоне резонанса и хочет сделать срез ниже допустимого, т.к сопрягаемая головка плохо тянет выше или у неё с повышение частоты резко растёт неравномерность, мы ж не знаем... но такой вариант допустИм и встречается очень часто. Я сам с таким встречаюсь. Плохо учитесь у Алдошиной. Если твит работает в ЗОННОМ режиме, то это УГ. Нормальная головка (в идеале) должна работать в ПОРШНЕВОМ режиме. В комбинированном режиме работают только BMR. Есть ещё NXT вот они в большей степени работают в зонном режиме излучения. Учите матчасть, студент. Судя по -10 вы там кабинеты убираете... наслушались и чсв заиграло...
    • Доброго времени суток, собрал иип, проблема такая - греются ключи без нагрузки, стартует с щелчками, растет напряжение без нагрузки в одном плече на 5v примерно за минуту, при нагрузке 40ватт просадка с 50v в плече до 45v трансфотматор не греется... на выходе для проверки стоят диоды her108 и электролиты меньше в пару раз, что было дома то и поставил, но это для проверки... трансформатор расчитан на 400ватт, в планах максимум 300.... БП должен питать 2 штО.М. 2.7 защита от КЗ работает хорошо, случайно проверил... после срабатывания защиты стартует опять с щелчками 2-3щелчка, есть косяк в СТ, в программе расчет был на 48витков первички, мой кривой глаз не правельно отмерил провод и получилось 46витков 5жил по 0.4мм есть мысль домотать 2 витка после вторичи... у кого какие мысли, куда копать есть осциллограф только dso138, им безсмысленно смотреть форму, только частоту можно глянуть... а и еще на входе стоит не один а 2 электролита на 200v 680мкф, влючены последовательно... я новичек любитель.... 
    • Спасибо а можно для наглядности изобразить пожалуйста