Jump to content

    

Подскажите по светодиодным лентам.

2 часа назад, Димон Безпарольный сказал:

SPI мне нравится еще больше, но там даже если выбирать 16 бит после 16-го бита пауза. Она не мешает?

Если использовать ПДП (DMA), то пауз вроде быть не должно. Во всяком случае у меня работало, железку отдал, посмотреть не на чем.

Share this post


Link to post
Share on other sites
18 часов назад, rx3apf сказал:

использовал AVR USART в режиме SPI, и аппаратный PWM-кодер на 74HC74

 

Типа такого?

bad-257.thumb.gif.48b963140d18f112bd1304f309611233.gif

 

Потому что погуглил WS2812 — лишь одну ссылку нашёл с подобным решением, но на одновибраторе — народ массово мается неразрешимой проблемой пяти деталек — то ли не круто их ставить, то ли там сконцентрировались сплошь 100-процентные программисты.

 

Посмотрел на STM32 — какие-то спартанские у него SPI и PLL, но задать близко к 800 кбит неэкзотическим кварцем можно, у PIC с этим гораздо гибче и SPI умеет молотить непрерывно.

Share this post


Link to post
Share on other sites
2 hours ago, Сергей Борщ said:

Если использовать ПДП (DMA), то пауз вроде быть не должно. Во всяком случае у меня работало, железку отдал, посмотреть не на чем.

Как задать временнЫе параметры при работе через SPI? У 6812 они, кстати иные чем в статье:

T0H 0 code, high level time 0.3µs ±0.15µs
T0L 0 code, low level time 0.9µs ±0.15µs
T1H 1 code, high level time 0.6µs ±0.15µs
T1L 1 code, low level time 0.6µs ±0.15µs
Trst Reset code,low level time 80µs

 

Edited by Димон Безпарольный

Share this post


Link to post
Share on other sites
1 час назад, Plain сказал:

 

Типа такого?

 

Несколько иначе. Сделал два одновибратора, на 400 и 800 ns, первый срабатывает всегда, второй по наличию "1" на входе (TXD/MOSI), запуск одновременный, от SCK. Выходы объединены парой диодов по "ИЛИ". Ну, тут по-разному можно (сперва вообще пытался синхронно таймер и UART склеить внешней логикой, но столкнулся с проблемой взаимной синхронизации). При наличии DMA все становится совсем просто и быстро, особенно если ядро быстрое и на преобразование палитры не много тратится.

9 минут назад, Димон Безпарольный сказал:

Как задать временнЫе параметры при работе через SPI? У 6812 они, кстати иные чем в статье:

 

Сделайте 400 и 800 ns - всегда будет работать. Но можно к максимальной скорости подогнать при желании. Но эти времянки актуальны лишь для первого диода в цепочке, дальше-то сигналы будут "кондиционированные" первым элементом.

Share this post


Link to post
Share on other sites
2 hours ago, rx3apf said:

Но эти времянки актуальны лишь для первого диода в цепочке, дальше-то сигналы будут "кондиционированные" первым элементом.

Интересный эффект. Обязательно проверю - отпишусь.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now