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

 
 
> ATMega128 - проблема с SPI Master, при выводе строки видеоизображения
Lisitsin
сообщение Oct 3 2012, 15:35
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868



Здравствуйте. Помогите разобраться с проблемой ...
Формирую на ATMega128 видеосигнал при помощи SPI. Устанавливаю режим Master, двойная скорость. Одна точка изображения занимает два такта. Необходимо выводить байт за байтом непрерывно. Всего 48 байт.
Инициализация:
LDI BUF,(1<<SPE)|(1<<MSTR)|(1<<CPHA); 4
OUT SPCR,BUF ; SPI
LDI BUF,1<<SPI2X ; CONFIGURATION
OUT SPSR,BUF ;
(BUF - временный регистр)
SS устанавливаю на вывод единицы. MOSI устанавливаю на выход.

Начинаю вывод строки:
VSTRLOOP: OUT SPDR,VDATA24 ; 1 - начинаю вывод данных
OUT ATTRPORT,ATTR ; 2 - это вывод аттрибутов цвета изображения
LD VDATA24,X+ ; 4 - читвю из ОЗУ очередной байт данных
LD ATTR,Y+ ; 6 - и очередной аттрибут цвета
NOP ; 7 - выравниваю время нопами
NOP ; 8
NOP ; 9
NOP ; 10
NOP ; 11
NOP ; 12
NOP ; 13
CPI XL,0X40 ; 14 - в конце проверяю на предмет передачи последнего байта
BRNE VSTRLOOP ; 15 /> 16 - цикл
NOP ; 16

Такты подсчитываю в комментариях.

В результате: первый байт передаётся правильно. Второй - не передаётся, вместо него на экране вижу последний переданный бит - белую черту в случае если последним битом была единица и тёмную - если был ноль. Третий байт опять корректный, четвёртый - как второй и так далее до конца строки.
В общем пока не понял что это такое и как добиться задуманного.

Сообщение отредактировал Lisitsin - Oct 3 2012, 16:47


--------------------
с Уважением,
Lisitsin
Vasil.Lisitsin@yandex.ru
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ILYAUL
сообщение Oct 8 2012, 12:41
Сообщение #2


Профессионал
*****

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



Как это не смешно но у support нет диаграм работы (расширенные) в синхронном режиме. Правда пояснили почему у них есть стартовые импульсы, в синхронном режиме частота ХСК - генерится постоянно , поэтому и нужны старты. Предложили использовать USART в SPI режиме - там нет стартов и стопов. Но 128 такое не поддерживает.



Цитата
Hi Ilya,
Unfortunately, I did not find any one with timing description of the
synchronous mode of USART.


Start bit is required even if you are running synchronous mode, because
otherwise it is not possible to know when the transfer starts. This is
because in the synchronous mode the clock is always running. The start bit
is used to indicate the start of a transfer and it needs to be there to
ensure correct transfer.


If you wish to do transfers where the clock is only running while doing
transfers, you can use the Master SPI mode (MSPIM) as shown in chapter
"23.USART in SPI Mode"(say for example in ATmega2560 datasheet). Here the
transfer is done without start and stop bits.


Atmega2560 datasheet can be download from the following link :
http://www.atmel.com/devices/ATMEGA2560.aspx?tab=documents


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Lisitsin   ATMega128 - проблема с SPI Master   Oct 3 2012, 15:35
- - chernenko   я бы проверил осциллографом что там физически выхо...   Oct 3 2012, 15:37
|- - Lisitsin   Цитата(chernenko @ Oct 3 2012, 19:37) я б...   Oct 3 2012, 15:55
- - Палыч   Цитата(Lisitsin @ Oct 3 2012, 19:35) Форм...   Oct 3 2012, 16:07
|- - Lisitsin   Цитата(Палыч @ Oct 3 2012, 20:07) ИМХО, э...   Oct 3 2012, 16:12
|- - Палыч   Цитата(Lisitsin @ Oct 3 2012, 20:12) Так ...   Oct 3 2012, 16:18
|- - Lisitsin   Цитата(Палыч @ Oct 3 2012, 20:18) Нет, ше...   Oct 3 2012, 16:21
|- - Палыч   Цитата(Lisitsin @ Oct 3 2012, 20:21) Я их...   Oct 3 2012, 16:31
||- - Lisitsin   Цитата(Палыч @ Oct 3 2012, 20:31) В том, ...   Oct 3 2012, 16:41
|- - Палыч   Цитата(Lisitsin @ Oct 3 2012, 20:21) Я их...   Oct 4 2012, 02:02
|- - zombi   Цитата(Палыч @ Oct 4 2012, 05:02) В этом ...   Oct 4 2012, 04:47
- - ILYAUL   ЦитатаИз 48 байт ... КодCPI XL,0X40 = 64 или первы...   Oct 3 2012, 17:56
- - Maik-vs   Непрерывную строку пикселов выводить не получается...   Oct 4 2012, 09:24
|- - Lisitsin   Спасибо. Да, действительно. Сегодня плотно повозил...   Oct 4 2012, 15:12
- - ILYAUL   А какая частота строчной развёртки?   Oct 5 2012, 08:10
|- - Lisitsin   Цитата(ILYAUL @ Oct 5 2012, 12:10) А кака...   Oct 6 2012, 06:08
|- - Палыч   Цитата(Lisitsin @ Oct 6 2012, 10:08) Имее...   Oct 6 2012, 07:18
- - rx3apf   В новых мегах можно настроить USART как SPI Master...   Oct 5 2012, 20:24
- - rx3apf   Да, и в младших (48/88/168). Если нужно что-то мно...   Oct 6 2012, 08:24
- - ILYAUL   Ну, вот полмысли Вам уже высказали- UART - и это ...   Oct 6 2012, 18:37
|- - Lisitsin   Не, USART не пойдёт. Там старт и стоп биты. Ещё ху...   Oct 7 2012, 07:05
||- - ILYAUL   Цитата(Lisitsin @ Oct 7 2012, 11:05) Там ...   Oct 7 2012, 09:34
|||- - Палыч   Цитата(ILYAUL @ Oct 7 2012, 13:34) Какие ...   Oct 7 2012, 12:43
|||- - Lisitsin   Цитата(Палыч @ Oct 7 2012, 16:43) Не знак...   Oct 7 2012, 14:54
||- - Палыч   Цитата(Lisitsin @ Oct 7 2012, 11:05) ... ...   Oct 8 2012, 15:29
||- - Lisitsin   Цитата(Палыч @ Oct 8 2012, 19:29) Заменит...   Oct 11 2012, 15:34
|- - Палыч   Цитата(ILYAUL @ Oct 6 2012, 22:37) ...дел...   Oct 7 2012, 07:41
- - ILYAUL   А вот Вы меня по настоящему пугаете. Я уж воспольз...   Oct 7 2012, 16:29
|- - Палыч   Цитата(ILYAUL @ Oct 7 2012, 20:29) на ..н...   Oct 7 2012, 16:45
- - ILYAUL   Да нет там ни старта ни стопа. Ну посмотрите внима...   Oct 7 2012, 17:09
|- - Lisitsin   Народ, я уже готов поверить в отсутствие старт/сто...   Oct 7 2012, 17:23
- - Палыч   Цитата(ILYAUL @ Oct 7 2012, 21:09) Вся си...   Oct 7 2012, 17:39
- - ILYAUL   Вот первая из приведённых мной диаграмм - пересыла...   Oct 7 2012, 18:09
|- - Палыч   Цитата(ILYAUL @ Oct 7 2012, 22:09) PIC16F...   Oct 7 2012, 18:16
|- - ILYAUL   Цитата(Палыч @ Oct 7 2012, 22:16) Этот по...   Oct 7 2012, 18:42
- - rx3apf   Примите за данность - синхронный режим в AVR не та...   Oct 7 2012, 18:51
|- - ILYAUL   Цитата(rx3apf @ Oct 7 2012, 22:51) Примит...   Oct 7 2012, 19:14


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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 15:19
Рейтинг@Mail.ru


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