Страница 1 из 1

Протеус и RC-5

Добавлено: Чт июл 01, 2010 11:23:31
dynmc
Разрабатываю небольшой проектик на mega8 с использование rc-5 протокола, а в протеусе не могу полноценно его проверить, приходится постоянно на рабочем железе тестить, у меня уже одна микросхемка от количества прошивок нагнулась :(, вот и хотелось какимто образом ето протестить без таких побочных действий. Програмировать начал не так давно, поэтому много чево еще не знаю.
Помогите пожалуйста сэмулировать rc-5 пультик в протеусе, может быть у кого есть уже готовый элемент в библиотеку, буду очень благодарен за помощь.

Re: Протеус и RC-5

Добавлено: Чт июл 01, 2010 11:53:54
Rimsky
dynmc писал(а): у меня уже одна микросхемка от количества прошивок нагнулась :(,

Немного не в тему, но все же интересно. Вы что прошили бедный контроллер более 10000 раз? :)

Re: Протеус и RC-5

Добавлено: Чт июл 01, 2010 16:37:22
dynmc
Она видится, шьется програматором, но работать не хочет. И всё же вопрос у меня был не про этот контроллер, а про протеус с пультиком.

Re: Протеус и RC-5

Добавлено: Чт июл 01, 2010 17:54:47
ARV
Arduino 300 рублей писал(а):Добавьте на схему еще МК который будет симулировать то что вам надо.
+5 :)))
я так отлаживал 1-wire-slave: прилепил прямо в демо-проект (который идет с протеусом для 1-wire сети) свой МК с поддержкой 1-wire-slave-mode и смотрел, как он определяется и т.п.
обалденно удобно!

Re: Протеус и RC-5

Добавлено: Пт июл 02, 2010 00:27:47
Olecorp
Я для генерации кодов rc-5, не мучаясь долго, натыкал несколько SCRIPTABLE GENERATOR с разными командами (через выключатели). Подключая любой - получаю код нужной мне кнопки. Конечно, если требуется вся "клавиатура", да ещё и учитывать toggle-бит, то лучше будет имитировать пульт на какой-нить меге.

З.Ы. Этот код вроде даёт большие паузы между посылками, не по стандарту, но мне лень исправлять :) Также, может потребоваться инверсия сигнала, но это легко исправляется.


Код: Выделить всё

REM Enter the generator script here.
REM N.B. The output is called 'OUT',

// настроить на нужную команду
INT TOGGLE = 1
INT ADDRESS = 0
INT COMMAND = 0

//Constant bit time of 1.778ms (64 cycles of 36 kHz)

FLOAT BITTIME = 0.889m
INT j
//
//"1"
// OUT = 0
// SLEEP FOR BITTIME
// OUT = 1
// SLEEP FOR BITTIME
//
//"0"
// OUT = 1
// SLEEP FOR BITTIME
// OUT = 0
// SLEEP FOR BITTIME



// Bit Bang a RC-5
// 2 Start bit
OUT = 0
SLEEP FOR BITTIME * 128


START:
OUT = 0
SLEEP FOR BITTIME
OUT = 1
SLEEP FOR BITTIME
OUT = 0
SLEEP FOR BITTIME
OUT = 1
SLEEP FOR BITTIME
// 1 toggle bit
IF TOGGLE == 1 THEN
  OUT = 0
  SLEEP FOR BITTIME
  OUT = 1
  SLEEP FOR BITTIME
ELSE
  OUT = 1
  SLEEP FOR BITTIME
  OUT = 0
  SLEEP FOR BITTIME
ENDIF

// address bits
FOR j=0 TO 4
 OUT = (ADDRESS & (1 << j)) == 0
 SLEEP FOR BITTIME
 OUT = (ADDRESS & (1 << j)) != 0
 SLEEP FOR BITTIME
NEXT j

// commands bits
FOR j=0 TO 5
 OUT = (COMMAND & (1 << j)) == 0
 SLEEP FOR BITTIME
 OUT = (COMMAND & (1 << j)) != 0
 SLEEP FOR BITTIME
NEXT j


// Stop bit
OUT = 0
SLEEP FOR BITTIME * 128
GOTO START

Re: Протеус и RC-5

Добавлено: Вс июл 11, 2010 22:40:45
Andrew_7
Можно с помощью PATTERN GENERATOR генерировать необходимый сигнал.

Re: Протеус и RC-5

Добавлено: Пн июл 12, 2010 14:12:07
dosikus
Как вариант записать в Wav и подсунуть в протеусе...

Re: Протеус и RC-5

Добавлено: Пн июл 19, 2010 15:52:12
dynmc
Спасибо, попробую, надесь всё получиться :)