roboforum.ru

Технический форум по робототехнике.

нужна помощь в написании программы для МК.

avr123.nm.ru » 24 окт 2006, 17:00

я и написал:  НАВЕРНО

North » 24 окт 2006, 17:12

я и написал:  НАВЕРНО

Это слово не ускользнуло от моего внимания. Моё объяснение адресовано тем посетителям форума, которые собираются сделать что-то похожее на то что делает Мур, но имеют слабое представление какими должны быть временные интервалы при этом.

Myp » 24 окт 2006, 17:16

тока что дописал программу
засунул её в vmlab

померял время одного такта оно 136 us
кстати что это значит. я тока знаю мили и микро а на букву u я незнаю :?

avr123.nm.ru » 24 окт 2006, 17:21

u  микро.  

а частота кварца какая в VMLAB  ?

avr123.nm.ru » 24 окт 2006, 17:23

Myp писал(а):время одного такта оно 136 us


"такт" это что у вас ?    если "такт" это время между спадами на линии КЛОКА то похоже вам паузы не нужны - они сами получатся.

Myp » 24 окт 2006, 20:18

avr123.nm.ru писал(а):
Myp писал(а):время одного такта оно 136 us


"такт" это что у вас ?    если "такт" это время между спадами на линии КЛОКА то похоже вам паузы не нужны - они сами получатся.


угу
именно это я и имел в виду
время между спадами

кварц на 4 мГц
ежели кварц на 10 мГц то время между спадами становиться 53 мксек
на частоте 10 мГц с паузой 0 время такта выходит 8 мксек
и на 4 мГц время 20 мксек
вмлаб не даёт поставить частоту 20 мгц (для тини2313) но на 16 мГц для 90S2313 минимальное время получаеться 5 мксек

на выполнение процедуры нулевой паузу уходит какоето процессорное время и осциллограмма выглядит нормально
если вобще выбрасить паузу то можно дожать время до 2,5 мксек но осциллограмма получаеться плохая

короче минимальное время с нулевой паузой получаеться 8 мксек
а если 8 микросекунд разделить на 250 нсек выходит что реально возможная частота SCK превышает минимум по даташиту в 32 раза

чёто я посмотрел на это дело и понял что скорость приёма информации с сенсора получаеться слишком низкая...

________________________________
в догонку...
программу писал в cvavr для tiny2313 а в vmlab ставил at90s2313(не нашёл там tiny2313) ругаеться и пишет вот это много раз
Код: Выделить всёРазвернуть
[PC = $008D, Time =    0.28 ms, {MEM}]: Attempt to write in an forbidden position

подсвечена строка TCCR0B=0x00;
к чему бы это???
Последний раз редактировалось Myp 24 окт 2006, 21:09, всего редактировалось 1 раз.

avr123.nm.ru » 24 окт 2006, 20:37

наверно нет такого регистра

Myp » 24 окт 2006, 20:54

avr123.nm.ru писал(а):наверно нет такого регистра

да действительно  :oops:

может у меня vmlab старая раз там нету tiny2313 ???
релиз 3.12
вопрос снимаеться, посмотрел на сайте там только обещают тини2313... :(

и ещё
есть способы ускорить этот процесс отправки и приёма байт??
или выше головы не прыгнешь?

а если тоже самое написать на ассемблере???
Последний раз редактировалось Myp 24 окт 2006, 23:29, всего редактировалось 1 раз.

Myp » 24 окт 2006, 23:05

да что такое, вечером бошка совсем не варит
360 мксек на передачу 2х байтов
в секунду будет 5.4 килобайт в секунду

скорость абсолютно достаточная для опрашивания сенсора



как интересно
если поставить в опциях комплятора максимальную оптимизацию для скорости
время на передачу 2х байт сокращаеться до 318 мксек   8)
и итоговая скорость гдето 6.1 килобайт в секунду
что на 12% больше чем при оптимизации для размера
(которая даёт 167 слов в итоге супротив 169. сэкономленные 2 слова составляет 0,2% от памяти МК :lol:  )

avr123.nm.ru » 25 окт 2006, 01:50

возможно есть режим непрерывного чтения картинки, т.е. какие тто команды послать а потом читать байт за байтом непрерывно. так обычно бывает в микросхемах памяти. Нужно ДШ внимательно почитать.

Myp » 25 окт 2006, 02:20

North писал(а):Ты б в прерываниях разобрался.



имеет смысл делать отправку и приём байт с пом. прерываний????

avr123.nm.ru » 25 окт 2006, 02:54

Если микра не дергает ногой при готовности или событии то прерывания не нужны ИМХО.

avr123.nm.ru » 25 окт 2006, 02:55

о прерываниях там  -   IntAVR.narod.ru

North » 25 окт 2006, 09:14

имеет смысл делать отправку и приём байт с пом. прерываний????

В данном случае пожалуй нет. Паузы слишком короткие, чтобы ради них заводить таймер.

Myp » 25 окт 2006, 12:18

тут с другой проблеммой столкнулся
если МК непрерывно принимает инфу с сенсора
неостаёться времени на обработку этой инфы

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


Rambler\'s Top100 Mail.ru counter