Сборка модуля NedoPC-90

8-битные микроконтроллеры AVR (AT90, ATtiny, ATmega) от Atmel (в настоящий момент принадлежит Microchip)

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote:
Shaos wrote: Чем помощнее может заменить можно? Вот сами атмелы пишут что заменяемо на ATmega8535
Канэчно можьно, дарагой !)))) У нас за дэньги все можьно! )))

Я лично тестировал оську на 8535, 2313, мега603 - все пашет.

Вот кусочек мэйка:
...
AVR-MCU= at90s8535 # Тип процессора (из avr-gcc)
# Меняешь его - и все
А вот нифига - оно не знает что такое atmega8535 :(
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote:У нас все устройства (на работе я имею ввиду) распаяны как DTE (разъем папа как у компа и цоколевка такая же как в компе). Поэтому я сделал это аналогично. Чтобы кабель можно было с работы притащить и не перепутать :) Как рассматривать железку - вопрос программы, а не распайки:) К тому же у меня в ней задействованы только линии 2, 3 и 5. То есть модемом с нее рулить (без подключения дополнительных сигналов) - проблематично. А для связи с компом - неважно. Контакты 7 и 8 действительно лучше соединять (драйвера и программы на компе часто обращают на это внимание).
Еще одна неувязочка - у тебя на DB9 земля прицеплена к 9, а должно быть - к 5
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:Вроде дособирал - в общей сложности на сборку ушло 11 часов в течении трех месяцев ;)

Я не ставил внешний кварц (в надежде на внутренний) и не ставил подтягивающие резисторы на разъем NI-15:
...
Вот обратная сторона медали :)
...
С RS-232 пока не все понятно - так что будем перепаивать по мере необходимости ;)
Вроде разобрался с RS-232 - вот окончательный вариант (общее время сборки девайса - 13 часов):

Image

Вопрос - надо ли как-то активизировать внутренний кварц?
Last edited by Shaos on 16 Jul 2005 23:31, edited 2 times in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Вот плата с подключенным LPT-разъемом для программирования:

Image

А вот так я ее пытался запрограммировать:

Image

Справа на фотке выглядывает регулятор напряжения +5В
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:А вот так я ее пытался запрограммировать
После разрешения проблемы непрограммирования (оказался неправильно припаян один проводок на разъем LPT ; ) все заработало! Запрограммировал бегущие огни с шагом в 1 сек. Внутренний генератор судя по всему настроен на 1 МГц по умолчанию - сведодиоды стали зажигаться через 1 сек после установки F_CLK в 1000000, кстати как оно настраиваться будет если я впаяю внешний кварц на максимум (16 МГц) ?
Last edited by Shaos on 16 Jul 2005 23:32, edited 2 times in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:Вопрос - надо ли как-то активизировать внутренний кварц?
Вроде ясно, что по умолчанию 1 МГц - судя по доке путем настройки можно сделать 2,4,8 МГц, только я пока не понял как это делается через avros и uisp :roll:

И вроде как-то нетривиально устанавливается 16 МГц с внешним кварцем. SfS, разъясни :idea:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:Запрограммировал бегущие огни с шагом в 1 сек. Внутренний генератор судя по всему настроен на 1 МГц по умолчанию - сведодиоды стали зажигаться через 1 сек после установки F_CLK в 1000000
Вот ежесекундно выполняемая функция, зарегистрированная через rtl_mac.h:

Code: Select all

void LED_GO()
{  
     static  short i = 1;
     output(LEDPORT,(input(LEDPORT) | 0x0F) & ~i);_NOP();_NOP();
     i=i<<1; if(i>=16) i=1;
} 
Вот даже видоролик :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote: SfS, разъясни :idea:
Я бы с удовольствием, но у меня нет atmegf8535. стоит обычныей AT90S85353. В нем нет подобных проблем.
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

SfS wrote:
Shaos wrote: SfS, разъясни :idea:
Я бы с удовольствием, но у меня нет atmegf8535. стоит обычныей AT90S85353. В нем нет подобных проблем.
Почитаю доку, посмотрю. Но чуть позже. :)
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote: Внутренний генератор судя по всему настроен на 1 МГц по умолчанию - сведодиоды стали зажигаться через 1 сек после установки F_CLK в 1000000, кстати как оно настраиваться будет если я впаяю внешний кварц на максимум (16 МГц) ?
Прекрасно будет. на 8МГц ведь настраевается :)
У меня в системе прерывания системного таймера вызвыаются с частотой (F_CLK/256). А программа обработки уже сама разруливает - что вызывать 10 раз в сек, а что 1 раз в минуту.
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote:
Shaos wrote:Вопрос - надо ли как-то активизировать внутренний кварц?
Вроде ясно, что по умолчанию 1 МГц - судя по доке путем настройки можно сделать 2,4,8 МГц, только я пока не понял как это делается через avros и uisp :roll:

И вроде как-то нетривиально устанавливается 16 МГц с внешним кварцем. SfS, разъясни :idea:
Судя по доке - источник тактовой частоты программируется установкой fuse-битов. Конкретно - биты CKSEL0..3.
CKSEL0..3 = 1111 - 1010- это, насколько я понял, внешний кварц на 1-16МГц.
CKSEL0..3 = 1001 - это, внешний кварц на <1МГц.
CKSEL0..3 = 1000 - 0101- это, внешняя RC-цепочка.
CKSEL0..3 = 0100 - 0001- это, внутренний генератор, который можно программно калибровать.

Источник тактов по умолчанию - это, внутренний генератор, который можно программно калибровать (CKSEL0..3 =0001).

Сейчас у меня под рукой не uisp'а - но я думаю uisp --help выдаст, как запрограммировать CKSEL.

Более подробно посмотрю дома и напишу.

Но учтите - проверить пока не могу, поэтому могу чегото не учесть и ошибиться.
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

интересный девайс!
а где можно глянуть на схемку и/или спецификацию?
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

jdigreze wrote:интересный девайс!
а где можно глянуть на схемку и/или спецификацию?
Если ты о модуле - то все было в журнале NedoPC.

Схемка также - в соседней теме
viewtopic.php?t=7992

Здесь
viewtopic.php?t=8014

ссылки на программное обеспечение для этого модуля.
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

jdigreze wrote:интересный девайс!
а где можно глянуть на схемку и/или спецификацию?
Кстати - в той схемке надо RS232 микросхемку подключить немного подругому.
Ноги 2 и 6 надо (каждую отдельно) повесить через конденсатор на землю.

| 2 0.1мкф
| -----| |----GND
| 6 0.1мкф
| -----| |----GND

А не соединять как нарисовано в схеме. В остальном - все работает.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote:
jdigreze wrote:интересный девайс!
а где можно глянуть на схемку и/или спецификацию?
Кстати - в той схемке надо RS232 микросхемку подключить немного подругому.
Ноги 2 и 6 надо (каждую отдельно) повесить через конденсатор на землю.

| 2 0.1мкф
| -----| |----GND
| 6 0.1мкф
| -----| |----GND

А не соединять как нарисовано в схеме. В остальном - все работает.
Вот прямой линк на схему: http://nedopc.org/nedopc/upload/_NedoAVR-90.8535.gif
Я тут за главного - если что шлите мыло на me собака shaos точка net