|
ATMega128 - проблема с SPI Master, при выводе строки видеоизображения |
|
|
|
Oct 7 2012, 18:09
|

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

|
Вот первая из приведённых мной диаграмм - пересылаются 2 байта , где окончание (stop) одного и start другого? Цитата ЗЫ - а диаграммы эти вообще не оттуда ))) PIC16F87/88
Эскизы прикрепленных изображений
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Oct 7 2012, 18:42
|

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

|
Цитата(Палыч @ Oct 7 2012, 22:16)  Этот подраздел форума называется "AVR", а тема про USART ATmega128. USART AVR не обязан быть идентичен устройству с последовательным обменoм в PIC.
P.S. Поправочка: тема начиналась про SPI AVR, но "скатилась" в USART. Ну не надо. Не красиво. Я уже попросил в ATMEL такие же диаграмы , а заодно уж и про Stop-start биты спросил. Да разбирались с SPI - поняли , что не прокатывает. Ищем другой путь. Ну уж , если у PIC и AVR асинхронные режимы как братья близнецы , то почему вдруг синхронные должны различаться. Кстати я пояснял почему взял те диаграммы С уважением Илья
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Oct 7 2012, 18:51
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Примите за данность - синхронный режим в AVR не такой, как в PIC. Он вообще совершенно идиотский. И да, гонит и старт, и стоп, и отключить это нельзя. Проверяется, кстати, элементарно, даже скоп не нужен - стрелочным вольтметром. Цитата(Палыч @ Oct 7 2012, 21:39)  Увы! Разачарую Вас... Я это исследовал в своё время: стартовый и стоповый импульсяы - присутствуют в любом режиме (иначе оно и работать не должно !). В PIC-то работает. Байтовую синхронизацию - да, надо бы какую-то приделать. Но хоть как-то похоже было бы на "нормальный" синхронный режим. А так - совершенно бесполезная вещь, IMHO.
|
|
|
|
|
Oct 7 2012, 19:14
|

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

|
Цитата(rx3apf @ Oct 7 2012, 22:51)  Примите за данность - синхронный режим в AVR не такой, как в PIC. Он вообще совершенно идиотский. И да, гонит и старт, и стоп, и отключить это нельзя. Проверяется, кстати, элементарно, даже скоп не нужен - стрелочным вольтметром. Пипец , какой-то. Тогда это чёрти что и на... он нужен. Палыч, примите мои искриние извинения.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Oct 8 2012, 12:41
|

Профессионал
    
Группа: Свой
Сообщений: 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
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Oct 11 2012, 15:34
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(Палыч @ Oct 8 2012, 19:29)  Замените ATmega128 на ATmega1281 - они по пинам один-в-один. ATmega1281 имеет "на борту" USART, который может работать в режиме SPI. Ваша проблема будет решена. Про переход с m128 на m1281 можно прочитать в AppNote AVR098 . Спасибо огромное !!! По-моему, это решение проблемы )))
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|