• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!
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?

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
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

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

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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


  • Сообщения

    • Лучше искать мотор с 5мм валом. 3мм вал, как заметил выше форумчанин, легко погнуть, проверено. Не плохой вариант патрона у KLARUS, сам такой имею.
    • Всем привет! После долгого перерыва взялся снова за настройку плат, так и не получается погасить факел по плюсовому плечу. Появляется через раз. На малой амплитуде около 4 вольт на выходе, его нет, больше появляется. C4=22pf, C12,14=33pf, C11,15=22pf, C19,20=330pf, 28,29=82pf R10=300, R13,14=100, R56,57=10, R51,54=1,5k, R45,44=24k,  Все сто раз пересмотрел, транзисторы по перепаивал, драйвера заменил на 1837,4793. оу менял. С выше перечисленными номиналами конденсаторов это самое лучшее чего смог добиться. Что делать не знаю.  
    • Fantom_AS Эт, точно)   Это не логика, эмоции. Логика вот: - если конструктив и поведение ОУ принципиально отличается от кводовского узла, то на величину этого различия -да,  но не так радикально - "наоборот". ) Например способность отвязанного вверху диапазона ОУ от ОС, адекватно отработать сигнал от моста, мягко говоря - сомнительна, отчасти в силу его огромного (ненужного тут) КУ.   Я пришёл с меркантильным желанием поучится у вас немедиков, радиолюбительскому делу, и с желанием проверить некие сырые идеи вашей высокой мудростью. Теперь выясняется что я медег и лечу неправильно))) ЗЫ. М, да. Люди склонны драться за своё представление реальности как за хлеб, даже если оно ошибочное, хотя в ходу давно не только автоматы но и термин "аргумент". Я нигде не заявлял что я непременно прав. Я лишь аргументирую сомнение, и если оно крепкое, то перерастает в убеждённость. И всё.. К тому что они обьективно не тождественны. Поэтому делают Квод а не Стоун те же кетайцы. А почему оно так само собой у них получается, и идёт наш спор кровопролитный... )   Нет. К вам я с большим уважением отношусь, но у меня нет столько времени что бы заново повторить уже сказанное. Если есть разница в функционале Тр.части Квода и ОУ в Стоуне, а вы её не видите, то наверное вам это зачем то нужно. Мне - нет) ЗЫ. Может быть я ошибаюсь а те кто Стоуны делают - нет. . Интеллект не одномерен, поэтому концепция «умнее людей» вообще не имеет смысла. Так што я без претензий и Спасибо за диалог и терпение)) Хоть и не убедил, но оно бывает сильно полезно, перепроверить собственные сомнения на их полезность))) ЗЗЫ. Есть ещё такая системная ошибка: "Чем больше думаем, тем меньше делаем, чем меньше делаем, тем меньше опыта, чем меньше опыта, тем не правильнее мы думаем". Это не про вас, Fantom_AS )) Это я отчасти о себе))
    • @Falconist а если так? какие будут замечания?   будет здорово, если этим генератором еще можно будет температуру регулировать(у меня для него много заданий) по этому решил добавить термодатчик. R9 - вместо термистора. подскажите: 1.можно ли вместо компараторов  http://imrad.com.ua/userdata/modules/wproducts/wprod_products/37298/LM111_211_311.pdf поставить LM324? http://imrad.com.ua/userdata/modules/wproducts/wprod_products/40319/LM124_224_324_ST.pdf
      что для этого нужно переделывать?
      (думаю что в термодатчике можно без изменений сменить компаратор на ОУ, а к тем, что возле 555, наверное нужно по транзистору на выход добавить) 2. как будет правильно подключить IRF740? какая обвязка им нужна?(думаю между ключами и 555 нада-бы поставить оптопару.) 3. как лучше всего приделать сюда защиту от КЗ? P.S. скорее всего для схемы будет отдельный БП.
    • ESR измеряется на переменном токе. Не понимаю как его измеряли цешкой. А мультиметр я бы посоветовал попроще. Тот-же DT9208. Не жалко если спалиш.
    • Я про это знал когда гугля в помине не было, и чего?
    • Тёзка 007, дело не в фирменности а согонном сопротивлении. Наш отечественный ПВС уделает по этому показателю (и по цене за 1п.м) любой "фирменный" того же сечения. Вам важнее хорошая работа системы или её "брендирование"? Выбирать вам. Есть статья "Страдание кабелизмом"  в которой русским по белому расписано с точки зрения закона Ома весь расклад и развеяны маркетинговые мифы "фирменных" кабелей. Где то даже читал соавнительный тест десятка фирмовых с нашими электрическими проводами типа пвс, шввп. И как вы думаете, кто победил? Нифига, победила простая отечественная медяха. В СССР вся акустика имела медный двужильный мягкий кабель как у любого торшера. У нас проблем с качественным цветметом нету,ёэто у буржуев туган и жёсткая экономия на всём. Дешевле сделать дороже продать- бизнес аднака...