Страница 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
Извиняюсь, но что-то кто в лес, кто по дрова...
Подключить надо 5в индикатор к 3.3в контролеру. BC
1602, наверное 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 порты)