ARM7 с нуля

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Хм, и на железе не проверить, и в Протеусе- на все LPC-ы Протеус ругается-
Изображение
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Вот кстати проект- может кто то проверит. А можно ли подать на индикатор 5 в и подключить к мк или выходы индикатора могут сжечь порты ?
Вложения
LCD.rar
(87.22 КБ) 171 скачивание
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: ARM7 с нуля

Сообщение Arlleex »

они сами могут погореть от нагрузки...
1) ставьте буфферы тристабильные, например, 74HCT125.
2) Линии PIO 3,3В в AT91SAM7 питаются от линии питания VCCIO - и толерантны к напряжению 5...5,5В.
Но это для AT91SAM7 - на ваш микроконтроллер лучше все-таки посмотреть даташит.
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: ARM7 с нуля

Сообщение Kavka »

romazan писал(а):Через буфер 74lvc245

Извиняюсь, но что-то кто в лес, кто по дрова... :shock:
Подключить надо 5в индикатор к 3.3в контролеру. BC1602, наверное 2 строки на 16 символов, стандартный, наверняка чип на нём по КПОМ (CMOS) технологии сделан. Если делать только запись с контролера на индикатор, т.е. все сигналы всегда направлены от контролера к индикатору, то посмотрите в спецификации индикатора уровень логической "1" на его входах, если не выше 3в, то можно подключать на прямую к сигнальным линиям с амплитудой 3.3в.
Если вам обязательно читать статус индикатора или содержимое его памяти, то нужен двунаправленный буфер на шину данных. Можно взять что-то типа 74LVC241, для 4-битного режима хватит одной микрухи. Запитать от 3.3в, к индикатору можно подключать на прямую. Даже 74HC241 пойдёт, только поставить резисторы по 1к между индикатором и буфером. Ну, и, в конце концов, можно применить буферы с двойным питанием и трансляцией уровней типа 74LVC2T45 или 74LVC8T245.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: ARM7 с нуля

Сообщение Kavka »

Stalker46 писал(а):1) ставьте буфферы тристабильные, например, 74HCT125.

74HCT при 3.3в работать не будет - смотрите спецификацию, а если и будет, то с характеристиками далёкими от заявленных.
74HC - будет, и обычно имеет рабочее напряжение 2-6 вольт.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

В даташите написано- 5 V tolerant pad providing digital I/O functions with TTL levels and hysteresis.
Значит можно не боясь подавать на индикатор 5 в и подключить к мк ?
Работать будет только на запись.Хотя какая разница если толерантен.
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: ARM7 с нуля

Сообщение SII »

Надо ещё смотреть, чтобы МК выдал достаточно высокий уровень 1 для индикатора: вдруг не будет дотягивать? Или медленно будет из-за паразитных ёмкостей.
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Ну насчет этого не должно быть проблем- INPUT min-2,2v написано в даташите на дисплей, мне главное не сжечь порты мк.
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: ARM7 с нуля

Сообщение ChipKiller »

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

ЗЫ. первая проба с ARM, так что "не пинать" :)))
Вложения
LPC.rar
(96.41 КБ) 150 скачиваний
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

... если еще актуально...
-еще долго актуально будет наверно, не могу победить этот жк индикатор-и инициализацию по разному пробовал,кстати расчеты выше PLL ни вп...- с такими вообще ножки не дрыгаются-работает с такими,какие компилятор первоначально ставит- 12 и 1,и в протеусе тупит-на ножках вместо единиц-должны красные квадратики быть- на некоторых желтые,т.е. это не выс.уровень,типа индикатор сажает чтоли,если индикатор отключаешь-красные...
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

На работе цифровым осциллом посмотрю задержки и частоту,тогда ясно будет..
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ARM7 с нуля

Сообщение Satyr »

Тоесть с такими чтоли ? -)))

Satyr писал(а):на pll Mul = 11 (+1), Div 0 (+1)
на clk делитель 4
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Ага,с такими. Блин-нашел косяк-я же соединял через переходную плату с клеммами,там на печатке пронумеровал, начал по отдельности дергать за ножки- 3 не совпадают,смещение на 1,ошибочка т.е., ну щас посмотрим :)))
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение 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 кГц
Изображение
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ARM7 с нуля

Сообщение 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 тредует чтото типа десятка тактов, да еще задержки между ними.
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Да, на 12/1/4 у меня получилось самая минимально возможная длительность- ~1 мкс. Ну ладно-значит 72 мгц. Кстати FIO на нулевом порте не работает, пробовал этот код с FIO на 2 порту- незначительная разница,почти одинаково. А без delay ровно в 2 раза меньше просто. Ну ладно с осциллом хоть узнал какая задержка,ато так нихрена не расчитаешь оказывается..
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: ARM7 с нуля

Сообщение ChipKiller »

ARM7 писал(а):у меня получилось самая минимально возможная длительность- ~1 мкс. Ну ладно-значит 72 мгц.
.. хотя быстро "дрыгать пинами" не основная задача ARM, но 1 мкс явно не предел Изображение
как видно загрузка константы занимает 2 инструкции, а дерганье тем-же выводом - всего одну! Инструкция перехода конечно сбросит конвейер, но видно цикл переключения занимает не так много...
Вложения
lpc2101.PNG
(5.5 КБ) 692 скачивания
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Все таки напрашивается вопрос-если ногами дрыгать быстро не может,то что же он там делает этот проц на 72 мгц(это же радиоволна почти-УКВ диапазон!),к примеру- а если таймер настроить на шим и с выхода взять сигнал- сможет дать мегагерцы?
Т.е. где видно его быстродействие на 72 мгц?
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Подскажите,как присвоить к какому нибудь пину значение переменной, типа пин(1<<10)=x;
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: ARM7 с нуля

Сообщение ChipKiller »

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

Вернуться в «Микроконтроллеры и ПЛИС»