Мелкие вопросы по МК и ПЛИС.
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
там CLKO вывод совмещен с XTAL2 и опять будет работать только с внешним генератором. Если нагрузка небольшая, можно попробовать взять сигнал с XTAL2.
- Реклама
Эм.. А команда вывести тактовые на конкретный пин невозможна? АВРки ж умеют вроде?
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
тини25 документация:
The device can output the system clock on the CLKO pin (when not used as XTAL2 pin). To
enable the output, the CKOUT Fuse has to be programmed. This mode is suitable when the chip
clock is used to drive other circuits on the system.
корявенький перевод:
Устройство может выводить системные часы на выводе CLKO (когда не используется в качестве XTAL2 штифта). Для
включить вывод, CKOUT Предохранитель должен быть запрограммирован. Этот режим подходит, когда чип инструменты часы используется для привода других схем в системе.
Нельзя ли взять готовый кварцевый осцилятор и всем раздавать?
The device can output the system clock on the CLKO pin (when not used as XTAL2 pin). To
enable the output, the CKOUT Fuse has to be programmed. This mode is suitable when the chip
clock is used to drive other circuits on the system.
корявенький перевод:
Устройство может выводить системные часы на выводе CLKO (когда не используется в качестве XTAL2 штифта). Для
включить вывод, CKOUT Предохранитель должен быть запрограммирован. Этот режим подходит, когда чип инструменты часы используется для привода других схем в системе.
Нельзя ли взять готовый кварцевый осцилятор и всем раздавать?
Последний раз редактировалось oleg110592 Пн июн 23, 2014 17:31:33, всего редактировалось 1 раз.
Планировал так сначала. Но решил более.. эм... тонко поступить.
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
- Реклама
Хм. Такой вопрос -- выйдет ли 128 тысяч раз в секунду принимать решение о выводе/ не выводе тактовых импульсов?
Откуда информация? На что ориентироваться?oleg110592 писал(а):F1 серию наверное развивать не будут.
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Не понятно - надо определить есть ли тактовая частота?принимать решение о выводе/ не выводе
1000000/128000= 7.8125 мкс
если тактовая 1 МГц это 1 мкс
это так наблюдение - новеньких F1 давно вроде не было. Ориентироваться - простое F0, сложнее F3, F4. А F2 да уже и F1, мне лично, пока думаю в ближайшем не потребуются.Chettuser писал(а):Откуда информация? На что ориентироваться?
Последний раз редактировалось oleg110592 Пн июн 23, 2014 18:21:06, всего редактировалось 2 раза.
не-не-не. Про то как из частоты найти период я знаю. Задача такого плана. В модуль должны поступать пачки импульсов 8МГц. Сначала хотел снять сигнал 8МГц постоянно, а с ещё одного вывода подавать "сигналы разрешения". Потом обычный элемент ИЛИ и всё работает. Теперь мысль такая -- А нельзя ли просто то вывести команду "Выводим тактовую" то сказать "Не выводим тактовую". Это возможно?
Как я понял вывод тактовой задаётся через фьюзы -- один раз при программировании и до следующей перепрошивки. Так чтоль? А что будет если в этот пин вывести программно ноль, когда там тактовая?
Как я понял вывод тактовой задаётся через фьюзы -- один раз при программировании и до следующей перепрошивки. Так чтоль? А что будет если в этот пин вывести программно ноль, когда там тактовая?
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Тогда отдельно 8МГц выводим, отдельно сигналы разрешения, а потом синтезируем полезный сигнал. Так?
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Да вроде так, тут подумал может использовать выход таймера в режиме шим получится, надо думать, сегодня уже не хочется
На всякий случай проверю -- так ли меня понимают. Получиться в результате должно следующее:

Частота сигналов в пачке -- те самые тактовые 8МГц. А время пачек и промежутков меняется в программе. но не менее 7,5мкс пачка и не менее 7,5мкс промежуток.
Частота сигналов в пачке -- те самые тактовые 8МГц. А время пачек и промежутков меняется в программе. но не менее 7,5мкс пачка и не менее 7,5мкс промежуток.
- Вложения
-
- Пример.png
- (5.38 КБ) 554 скачивания
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
если кварц на 16 МГц пойдет? Таймером в два раза ниже частоту можно получить.
Внутри АТтини24 есть калиброванный генератор на 8МГц. НО! Меня вполне устроит если пачка будет заполнена импульсами с частотой 4МГц. Покажешь кусок кода?
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
для меги16, в протеусе не могу прозвести замер частоты, по формуле должно быть в 2 раза меньше тактовой
Спойлер
Код: Выделить всё
#include <mega16.h>
#include <delay.h>
void main(void)
{
PORTB=0x00;
DDRB=0xFF;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 16000,000 kHz
// Mode: CTC top=OCR0
// OC0 output: Toggle on compare match
// Timer Period: 0,125 us
// Output Pulse(s):
// OC0 Period: 0,25 us Width: 0,125 us
TCCR0=(0<<WGM00) | (0<<COM01) | (1<<COM00) | (1<<WGM01) | (0<<CS02) | (0<<CS01) | (1<<CS00);
TCNT0=0x00;
OCR0=0x01;
// Analog Comparator initialization
// Analog Comparator: Off
// The Analog Comparator's positive input is
// connected to the AIN0 pin
// The Analog Comparator's negative input is
// connected to the AIN1 pin
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
SFIOR=(0<<ACME);
while (1)
{
TCCR0=(0<<WGM00) | (0<<COM01) | (1<<COM00) | (1<<WGM01) | (0<<CS02) | (0<<CS01) | (1<<CS00);
delay_us(750);
TCCR0=0x00;
delay_us(750);
}
}Код: Выделить всё
TCCR0=(0<<WGM00) | (0<<COM01) | (1<<COM00) | (1<<WGM01) | (0<<CS02) | (0<<CS01) | (1<<CS00);Или она прям такой и остаётся для АТтини24?
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
кусок для тини24
Спойлер
Код: Выделить всё
void main(void)
{
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 8000,000 kHz
// Mode: CTC top=OCR0A
// OC0A output: Toggle on compare match
// OC0B output: Disconnected
// Timer Period: 0,125 us
// Output Pulse(s):
// OC0A Period: 0,25 us Width: 0,125 us
TCCR0A=(0<<COM0A1) | (1<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (1<<WGM01) | (0<<WGM00);
TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00);
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// The Analog Comparator's positive input is
// connected to the AIN0 pin
// The Analog Comparator's negative input is
// connected to the AIN1 pin
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
ADCSRB=(0<<ACME);
// Digital input buffer on AIN0: On
// Digital input buffer on AIN1: On
DIDR0=(0<<ADC1D) | (0<<ADC2D);Нет ли скайпа и желания ещё немного повозиться со мной и МК?
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
лучше почтой, скайп в основном для работы
почта - мой ник собака yandex.ru
почта - мой ник собака yandex.ru




