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

 
 
> Помогите записать в ОЗУ ATMEGA8, Делетантский вопрос..
mobira
сообщение Aug 8 2006, 17:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 25-05-06
Пользователь №: 17 457



Объясните,по какому алгоритму писать в ОЗУ сигнал поданный на ножку порта.
Параметры сигнала: скорость 2400 бод,объем 150 кбайт.

Составил программу на ассемблере,вроде ОЗУ пишет,а при считывании на выходе совсем не то что было подано.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
WHALE
сообщение Aug 8 2006, 17:50
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Ниче не понял.Какой входной сигнал-какой-то асинхронный протокол?uart совместимый?И что-бы писать в ОЗУ сигнал обьемом 150кб,нужно иметь ОЗУ обьемом не меньше чем 150кб.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
chief_olimp
сообщение Aug 8 2006, 17:52
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 249
Регистрация: 31-10-05
Из: Украина Нетешин
Пользователь №: 10 344



Цитата(mobira @ Aug 8 2006, 20:25) *
Объясните,по какому алгоритму писать в ОЗУ сигнал поданный на ножку порта.
Параметры сигнала: скорость 2400 бод,объем 150 кбайт.

Составил программу на ассемблере,вроде ОЗУ пишет,а при считывании на выходе совсем не то что было подано.

ну со скоростью понятно но вот 150 кбайт засунуть в 1 кбайтное ОЗУ это уже проблема....
давай может сначала либо сам подумаешь, либо изложишь суть подробнее, а то из выше сказанного мало что понятно пока...
Go to the top of the page
 
+Quote Post
mobira
сообщение Aug 8 2006, 18:11
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 25-05-06
Пользователь №: 17 457



! Прошу прощения,напутал! Объем 150 байт. Сигнал асинхронный.

Сейчас я опрашиваю с задержкой ножку порта на которую приходит сигнал,пишу побитно в регистр и отправляю его в ОЗУ. Что-то вроде цифрового магнитофона.

Не совместим с UART.

Сообщение отредактировал mobira - Aug 8 2006, 18:20
Go to the top of the page
 
+Quote Post
WHALE
сообщение Aug 8 2006, 18:23
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



дык ты нам скажи,что за сигнал-старт-стоп биты есть?


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
mobira
сообщение Aug 8 2006, 18:36
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 25-05-06
Пользователь №: 17 457



В начале посылки всегда передаются 9 байт со сброшенным 9м битом и 6 байт с установленным 9м битом.

Посылка заканчивается передачей 3 байт с установленным 9м битом.

Информация в байтах вначале и в конце посылки всегда одинаковая.
Go to the top of the page
 
+Quote Post
chief_olimp
сообщение Aug 8 2006, 19:20
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 249
Регистрация: 31-10-05
Из: Украина Нетешин
Пользователь №: 10 344



Цитата(mobira @ Aug 8 2006, 21:36) *
В начале посылки всегда передаются 9 байт со сброшенным 9м битом и 6 байт с установленным 9м битом.

Посылка заканчивается передачей 3 байт с установленным 9м битом.

Информация в байтах вначале и в конце посылки всегда одинаковая.

можно поконкретней что за информация? нужно ли писать 9 бит?
дело в том что с 8 битами до ужаса просто. Перед началом передачи устанавливаем начальный адрес ОЗУ в Z,Y или Z парах регистров, а дальше в обработчике прерывания пишем принятый байт по адресу с пост инкрементом адреса
нужно больше информации...
Go to the top of the page
 
+Quote Post
mobira
сообщение Aug 8 2006, 19:36
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 25-05-06
Пользователь №: 17 457



Внимательно изучил осциллограмму сигнала. Прояснилось,что в каждом фрэйме есть старт бит, 9 бит данных, parity бит и два стоп бита.
Получается что это UART. Надо быть мне повнимательнее wacko.gif

Если включить в Атмеге8 UART,она сама будет выделять из фрэйма 9 бит данных?
Тогда в память нужно писать 9 бит.
Go to the top of the page
 
+Quote Post
WHALE
сообщение Aug 8 2006, 21:43
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Во,уже легче,задача намного упрощается.В AVR есть режим приема 9-битного фрейма-смотри даташит.
Удачи.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
mobira
сообщение Aug 10 2006, 07:06
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 25-05-06
Пользователь №: 17 457



Спасибо!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:17
Рейтинг@Mail.ru


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