реклама на сайте
подробности

 
 
> Мультипроцессорные режим ATmega88/168
Dёня
сообщение Oct 8 2008, 08:00
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 31-08-06
Пользователь №: 19 981



Здравствуйте господа!

На шине один передающий контроллер (PIC18F252, 10MHz+PLL), один принимающий (ATmega168, 20MHz). Установлен режим мультипроцессорный:
Должно быть:
мега принимает свой адрес, распознает его, выставляет прием данных (lds rh_ucsra, UCSR0A; andi rh_ucsra, ~(1 << MPCM0); sts UCSR0A, rh_ucsra) и далее принимает блок данных длиной 256 байт, после приема запрещает прием данных.
Что выходит:
мега распознает адрес... принимает данные, причем принимает только первых 89 (!) байт и далее перестает принимать данные, затем опять принимает свой адрес, причем у него установлен (!) бит MPCM0. Распознает адрес, сбрасывает MPCM0, и т.д.
Бит MPCM0 я не выставляю, т.к. выставляется он только при условии приема 256-ти байт.
Скорости обмена выставлял в разных диапазонах - от 19.2К до 1.25М.
Пробовал и по UARTу непосредственно и по RS485.
Данные при приеме не искажаются (проверяю цифровым осциллографом 100MHz), в контроллере 89 принятых байт верные.
Алгоритм передачи-приема работает в симуляторе при любых скоростях...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dёня
сообщение Oct 8 2008, 21:45
Сообщение #2





Группа: Новичок
Сообщений: 7
Регистрация: 31-08-06
Пользователь №: 19 981



Тема закрыта.
Нашел ошибку.
Прога изначальна писалась на ATmega8, потом на 88 и 168
Код
#ifdef    proj_8
.include <m8def.inc>
#endif
#ifdef    proj_168
.include <m168def.inc>
#endif
#ifdef    proj_88
.include <m88def.inc>
#endif
;*****************
.dseg    

.org    SRAM_START

bufferPWMTx_bIndex:    .byte    2
bright_bValue:        .byte    1

;***** Массивы
.org    RAM_bBUFFER_START_ADDRESS

buffer0_abArray:    .byte    BUFFER_wUART_SIZE
buffer1_abArray:    .byte    BUFFER_wUART_SIZE


bufferXXX_abArray - задает буффер для блоков памяти приема-передачи
Код
; UART Rx
    ldi    rh_indexUARTRxL, low(buffer0_abArray)
    ldi    rh_indexUARTRxH, high(buffer0_abArray)
    movw    rl_pointUARTRx, rh_indexUARTRx
; UART Tx
    ldi    rh_indexUARTTxL, low(buffer1_abArray)
    ldi    rh_indexUARTTxH, high(buffer1_abArray)
    movw    rl_pointUARTTx, rh_indexUARTTx

    ldi    rh_init, BUFFER_bUART_SIZE
    mov    rl_countUARTRx, rh_init


SRAM_START - прописано в mXXXdef.inc, RAM_bBUFFER_START_ADDRESS - осталась привязана к 8-ой меге, RAM_bBUFFER_START_ADDRESS == 0x68.

Прошу прощения за беспокойство.

Сообщение отредактировал Dёня - Oct 8 2008, 21:50
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dёня   Мультипроцессорные режим ATmega88/168   Oct 8 2008, 08:00
- - _dem   Код в студию, может быть не там копаете, и ошибка ...   Oct 8 2008, 08:25
- - demiurg_spb   Цитата(Dёня @ Oct 8 2008, 12:00) Установл...   Oct 8 2008, 08:36
- - Dёня   Вот исходник...   Oct 8 2008, 09:06
- - Dёня   Те кто применял адресуемый UART, вообще, принимает...   Oct 8 2008, 11:23
- - GDI   А даташит и эррата что ан этот счет говорят?   Oct 8 2008, 11:39
- - AndyBig   Принимает без проблем, что-то у вас не то в коде.....   Oct 8 2008, 12:05
- - Dёня   Эратты я не встречал на эти камни, а в даташите пр...   Oct 8 2008, 12:22
- - Николай Иванович Приходько   MPCM сбрасывается автоматом только при получении а...   Oct 8 2008, 12:43
- - AndyBig   Нет, сам не выставляется. Бит MPCM должена устанав...   Oct 8 2008, 12:57
|- - Николай Иванович Приходько   Цитата(AndyBig @ Oct 8 2008, 16:57) Где о...   Oct 8 2008, 13:24
- - Dёня   Спасибо за разъяснение, впринципе так я и полагал:...   Oct 8 2008, 13:17
|- - Николай Иванович Приходько   Цитата(Dёня @ Oct 8 2008, 17:17) До точки...   Oct 8 2008, 17:49
- - AndyBig   Сорри, в ассемблере совсем не силен   Oct 8 2008, 16:03
- - Dёня   Инициализация счетчика в начале программы: КодMain...   Oct 8 2008, 20:11
- - AndyBig   Ошибки, возникающие при copy-paste - обычное дело   Oct 9 2008, 06:25


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 08:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01611 секунд с 7
ELECTRONIX ©2004-2016