Страница 4 из 7

Re: ARM7 с нуля

Добавлено: Сб апр 02, 2011 15:34:38
ARM7
Хм, и на железе не проверить, и в Протеусе- на все LPC-ы Протеус ругается-
Изображение

Re: ARM7 с нуля

Добавлено: Сб апр 02, 2011 15:46:50
ARM7
Вот кстати проект- может кто то проверит. А можно ли подать на индикатор 5 в и подключить к мк или выходы индикатора могут сжечь порты ?

Re: ARM7 с нуля

Добавлено: Сб апр 02, 2011 16:01:16
Arlleex
они сами могут погореть от нагрузки...
1) ставьте буфферы тристабильные, например, 74HCT125.
2) Линии PIO 3,3В в AT91SAM7 питаются от линии питания VCCIO - и толерантны к напряжению 5...5,5В.
Но это для AT91SAM7 - на ваш микроконтроллер лучше все-таки посмотреть даташит.

Re: ARM7 с нуля

Добавлено: Сб апр 02, 2011 18:56:25
Kavka
romazan писал(а):Через буфер 74lvc245
Извиняюсь, но что-то кто в лес, кто по дрова... :shock:
Подключить надо 5в индикатор к 3.3в контролеру. BC1602, наверное 2 строки на 16 символов, стандартный, наверняка чип на нём по КПОМ (CMOS) технологии сделан. Если делать только запись с контролера на индикатор, т.е. все сигналы всегда направлены от контролера к индикатору, то посмотрите в спецификации индикатора уровень логической "1" на его входах, если не выше 3в, то можно подключать на прямую к сигнальным линиям с амплитудой 3.3в.
Если вам обязательно читать статус индикатора или содержимое его памяти, то нужен двунаправленный буфер на шину данных. Можно взять что-то типа 74LVC241, для 4-битного режима хватит одной микрухи. Запитать от 3.3в, к индикатору можно подключать на прямую. Даже 74HC241 пойдёт, только поставить резисторы по 1к между индикатором и буфером. Ну, и, в конце концов, можно применить буферы с двойным питанием и трансляцией уровней типа 74LVC2T45 или 74LVC8T245.

Re: ARM7 с нуля

Добавлено: Сб апр 02, 2011 18:59:41
Kavka
Stalker46 писал(а):1) ставьте буфферы тристабильные, например, 74HCT125.
74HCT при 3.3в работать не будет - смотрите спецификацию, а если и будет, то с характеристиками далёкими от заявленных.
74HC - будет, и обычно имеет рабочее напряжение 2-6 вольт.

Re: ARM7 с нуля

Добавлено: Сб апр 02, 2011 19:40:47
ARM7
В даташите написано- 5 V tolerant pad providing digital I/O functions with TTL levels and hysteresis.
Значит можно не боясь подавать на индикатор 5 в и подключить к мк ?
Работать будет только на запись.Хотя какая разница если толерантен.

Re: ARM7 с нуля

Добавлено: Сб апр 02, 2011 20:24:35
SII
Надо ещё смотреть, чтобы МК выдал достаточно высокий уровень 1 для индикатора: вдруг не будет дотягивать? Или медленно будет из-за паразитных ёмкостей.

Re: ARM7 с нуля

Добавлено: Сб апр 02, 2011 20:38:36
ARM7
Ну насчет этого не должно быть проблем- INPUT min-2,2v написано в даташите на дисплей, мне главное не сжечь порты мк.

Re: ARM7 с нуля

Добавлено: Вс апр 03, 2011 12:47:17
ChipKiller
ARM7 писал(а):Хм, и на железе не проверить, и в Протеусе- на все LPC-ы Протеус ругается- ......
... если еще актуально... :) попробовал "помучить" LPC2101. Обращение к 32-х битному порту имеет определенные неудобства ......

ЗЫ. первая проба с ARM, так что "не пинать" :)))

Re: ARM7 с нуля

Добавлено: Вс апр 03, 2011 16:24:07
ARM7
... если еще актуально...
-еще долго актуально будет наверно, не могу победить этот жк индикатор-и инициализацию по разному пробовал,кстати расчеты выше PLL ни вп...- с такими вообще ножки не дрыгаются-работает с такими,какие компилятор первоначально ставит- 12 и 1,и в протеусе тупит-на ножках вместо единиц-должны красные квадратики быть- на некоторых желтые,т.е. это не выс.уровень,типа индикатор сажает чтоли,если индикатор отключаешь-красные...

Re: ARM7 с нуля

Добавлено: Вс апр 03, 2011 16:31:07
ARM7
На работе цифровым осциллом посмотрю задержки и частоту,тогда ясно будет..

Re: ARM7 с нуля

Добавлено: Вс апр 03, 2011 16:45:13
Satyr
Тоесть с такими чтоли ? -)))
Satyr писал(а):на pll Mul = 11 (+1), Div 0 (+1)
на clk делитель 4

Re: ARM7 с нуля

Добавлено: Вс апр 03, 2011 17:36:26
ARM7
Ага,с такими. Блин-нашел косяк-я же соединял через переходную плату с клеммами,там на печатке пронумеровал, начал по отдельности дергать за ножки- 3 не совпадают,смещение на 1,ошибочка т.е., ну щас посмотрим :)))

Re: ARM7 с нуля

Добавлено: Пн апр 04, 2011 13:17:30
ARM7
Может ли кто нибудь мне сказать-какие значения ставить ,чтобы ядро работало на 72 мгц, на указанных стрелками пунктах? Кварц-12 мгц.

Изображение
Вот с такими значениями и с таким кодом-

Код: Выделить всё

#include <LPC23xx.H>

void delay(int count)
{
  int j=0,i=0;

  for(j=0;j<count;j++)
  {
    for(i=0;i<1;i++);  
  }
}

int main(void)
{  
 IODIR0= (1<<7);

 while(1){
 IOSET0= (1<<7);
 delay(1);
 IOCLR0= (1<<7);
delay(1);
}
}
на осцилле следующее-тут близко к 72 мгц не пахнет, 1,66 мкс, 285 кГц
Изображение

Re: ARM7 с нуля

Добавлено: Пн апр 04, 2011 14:15:56
Satyr
если cclksel = 6 допустим, а мне казалось там 1, 2,4, 8 и т.п., то у тебя сейчас получается 48Мгц
ставь как я тебе пписал на 2 или 3 странице - 12/1/4 - будет 72Мгц

а осцилографом ты чего меряешь ? Если это

while(1){
IOSET0= (1<<7);
delay(1);
IOCLR0= (1<<7);
delay(1);
}

то там никаких 48 (72) мгц и близко быть не должно. Обращение по IO, а не FIO тредует чтото типа десятка тактов, да еще задержки между ними.

Re: ARM7 с нуля

Добавлено: Пн апр 04, 2011 14:32:11
ARM7
Да, на 12/1/4 у меня получилось самая минимально возможная длительность- ~1 мкс. Ну ладно-значит 72 мгц. Кстати FIO на нулевом порте не работает, пробовал этот код с FIO на 2 порту- незначительная разница,почти одинаково. А без delay ровно в 2 раза меньше просто. Ну ладно с осциллом хоть узнал какая задержка,ато так нихрена не расчитаешь оказывается..

Re: ARM7 с нуля

Добавлено: Пн апр 04, 2011 16:59:51
ChipKiller
ARM7 писал(а):у меня получилось самая минимально возможная длительность- ~1 мкс. Ну ладно-значит 72 мгц.
.. хотя быстро "дрыгать пинами" не основная задача ARM, но 1 мкс явно не предел Изображение
как видно загрузка константы занимает 2 инструкции, а дерганье тем-же выводом - всего одну! Инструкция перехода конечно сбросит конвейер, но видно цикл переключения занимает не так много...

Re: ARM7 с нуля

Добавлено: Пн апр 04, 2011 17:37:37
ARM7
Все таки напрашивается вопрос-если ногами дрыгать быстро не может,то что же он там делает этот проц на 72 мгц(это же радиоволна почти-УКВ диапазон!),к примеру- а если таймер настроить на шим и с выхода взять сигнал- сможет дать мегагерцы?
Т.е. где видно его быстродействие на 72 мгц?

Re: ARM7 с нуля

Добавлено: Пн апр 04, 2011 19:06:40
ARM7
Подскажите,как присвоить к какому нибудь пину значение переменной, типа пин(1<<10)=x;

Re: ARM7 с нуля

Добавлено: Пн апр 04, 2011 19:29:45
ChipKiller
ARM7 писал(а):Все таки напрашивается вопрос-если ногами дрыгать быстро не может,то что же он там делает этот проц на 72 мгц
.. ну почему-же не может? получить программный меандр на частоте 4..6 МГц думаю вполне реально, только зачем....
ARM7 писал(а):как присвоить к какому нибудь пину значение переменной
номер пина - просто число ( и для переключения состояния пина это число выводится либо в IOCLR, либо в IOSET порты)