|
Разгон ATMega128-16, проблемы работы с internal RAM |
|
|
|
Dec 2 2010, 11:38
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Доброго времени суток. Прошу консультации знающих. Озвучу проблему: Разгоняю ATMega128-16 до 21 МГц. В проекте два одинаковх контроллера. Напряжение питания 5В, тактовую частоту подаю снаружи с ATTiny2313 из ейного порта. Размах тактов 5В. Фьюзы ставлю на внешний источник тактовых импульсов, CKOPT запрограммирован. Так вот один процессор работает без проблем, а второй (я его уже два раза заменял) при чтении из внутреннего ОЗУ с постинкрементом или командой POP с чтением опаздывает на 1. Т Е корректные данные получаются только в следующем чтении. Кто нибудь может подсказать что это? Заранее благодарен. Схему проекта прилагаю.
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Dec 2 2010, 12:59
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(GDI @ Dec 2 2010, 15:21)  Почему бы не применить 20-мегагерцовые атмеги? Это ни ATXMega ли? Есть ещё один момент: на рабочий процессор такты я подаю через разделительную ёмкость, а на нерабочий - напрямую с порта. Кто нибудь знает на что это влияет?
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Dec 2 2010, 13:08
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(Lisitsin @ Dec 2 2010, 15:59)  Это ни ATXMega ли? Есть и ATmega работающие на частоте до 20МГц. В основном это - МК, имеющие в обозначении дополнительную цифру 4 или 8 (mega328, 48, 88, 168, 1284, 644...), но есть и другие (mega325A, например)... У производителя посмотрите.
|
|
|
|
|
Dec 2 2010, 13:23
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(Палыч @ Dec 2 2010, 16:08)  Есть и ATmega работающие на частоте до 20МГц. В основном это - МК, имеющие в обозначении дополнительную цифру 4 или 8 (mega328, 48, 88, 168, 1284, 644...), но есть и другие (mega325A, например)... У производителя посмотрите. Вообще то мне нужно 128К FLASH минимум плюс внешний RAM интерфейс.
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Dec 2 2010, 16:39
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(zombi @ Dec 2 2010, 19:16)  Че то я не пойму: Если при следующем чтении данные правильные то пост инкремент всетаки РАБОТАЕТ, а не работает (или не правильно работает) инициализация регистра адреса!!! А кто там знает какая у него там архитектура на машинном уровне? DATASHEETы пишутся для законопослушных пользователей, которые так не гонят. Тестовая программа у меня такаяЖ RAMTST: LDI ZH,0X02 LDI ZL,0X00 LDI BUF,0X00 LOOP1: ST Z+,BUF INC BUF CPI BUF,255 BRNE LOOP1 LDI ZH,0X02 LDI ZL,0X00 LDI BUF,0X00 OUT EEARH,BUF OUT EEARL,BUF LD BUF,Z+ ELP: OUT EEARL,ZL LD BUF,Z+ OUT EEDR,BUF SBI EECR,EEMWE SBI EECR,EEWE EELP: SBIC EECR,EEWE RJMP EELP CPI ZL,255 BRNE ELP WWWW: RJMP WWWW В результате в EEPROM по адресу 00 - непонятное число, по 01 - 00, по 02 - 01 и т д. Беда точно с чтением ОЗУ, а не с записью - это я проверял.
Сообщение отредактировал Lisitsin - Dec 2 2010, 16:45
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Dec 2 2010, 19:40
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(Lisitsin @ Dec 2 2010, 19:39)  А кто там знает какая у него там архитектура на машинном уровне? DATASHEETы пишутся для законопослушных пользователей, которые так не гонят. Тестовая программа у меня такаяЖ RAMTST: LDI ZH,0X02 LDI ZL,0X00 ; Устанавливаем адрес 0x0200 LDI BUF,0X00 ; Очищаем счётчик LOOP1: ST Z+,BUF ; Записываем в SRAM значения от 0X00 до 0XFF INC BUF ; CPI BUF,255 ; BRNE LOOP1
LDI ZH,0X02 ; Устанавливаем адрес SRAM 0x0200 LDI ZL,0X00 LDI BUF,0X00 ; Очищаем счётчик OUT EEARH,BUF ;Заодно и адрес EEPROM OUT EEARL,BUF LD BUF,Z+ ; Получаем 0x00 из SRAM и прибавляем 1 к ZL ПЕРВАЯ ЗАПИСЬ В EEPROM ELP: OUT EEARL,ZL ; Прибавляем к младшему адресу EEPROM (1)-цу = 0x0001 LD BUF,Z+ ; Получаем из SRAm (1)-цу и увеличиваем адрес для EEPROM И SRAM 0x0002 и 0x0202 OUT EEDR,BUF ; Посылаем (1) по адресу 0x0001 SBI EECR,EEMWE ; - разрешаем запись SBI EECR,EEWE ; Записываем 1 по адресу 0x0001 EELP: SBIC EECR,EEWE RJMP EELP CPI ZL,255 BRNE ELP ; Ну и так далее
WWWW: RJMP WWWW
В результате в EEPROM по адресу 00 - непонятное число ( то что не "рассосалось" после выкл питания то и осталось, по 01 - 01, по 02 - 02 и т д. Беда точно с записью EEPROM , а не чтением - это я проверял.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Dec 2 2010, 22:27
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(Lisitsin @ Dec 2 2010, 19:39)  . . . OUT EEARL,BUF LD BUF,Z+ ELP: OUT EEARL,ZL LD BUF,Z+ OUT EEDR,BUF . . . В результате в EEPROM по адресу 00 - непонятное число, по 01 - 00, по 02 - 01 и т д. Беда точно с чтением ОЗУ, а не с записью - это я проверял. И че должно по вашему быть в еепроме по адресу 00 если вы туда нечего не пишете?
|
|
|
|
|
Dec 4 2010, 03:09
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 11-02-08
Пользователь №: 34 931

|
А если "запитать" не от 21, а от 16 Мегагерц? Может тоже работать по разному будут?
|
|
|
|
|
Dec 4 2010, 09:11
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(KKV2003 @ Dec 4 2010, 06:09)  А если "запитать" не от 21, а от 16 Мегагерц? Может тоже работать по разному будут? Если от 16 не заработает - значит datasheet не прав. А это практически невозможно. Или девайс дохлый - но я их уже 3 щтуки сменил. Дело в разгоне.
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Dec 4 2010, 13:03
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(zombi @ Dec 4 2010, 15:14)  Кроме даташита, девайса и разгона есть еще и программа  Гениально!
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|