Page 1 of 1

SPI & VS1011

PostPosted: Fri, 28.07.2017 13:17:15
by AndyD
решил тут сделать спи в немо бус ,прошу помощи,совета,верилог только начал осваивать.
идею подсмотрел тут
Port 0x043B: SPI read/write
Port 0x053B: Control- status register.

control- status register writing

bit 7 - xDCS
bit 6-5 - SPI chip select
bit 4-1 - clock speed
bit 0 - select clock polarity (0 = CPOL 0, 1 = CPOL 1)

control- status register read

bit 7 - 0 = Busy , 1 = Ready for a new read/write operation
bit 6-5 - SPI chip select in use
bit 4-1 - Current clock speed
bit 0 - dreq 1-read/write 0-busy


чего то не пашет задумка.
генерация с U3 есть,выбор портов с U3 есть ,status register read читается #81 , на спи клока нет .

все в архиве.

Re: SPI & VS1011

PostPosted: Fri, 28.07.2017 18:27:54
by TS-Labs
Первое, что я вижу - ахтунговое подключение кварца к цплд (U3). Если есть оцилл, посмотри, генерит ли на 3 лапе после прошивки. ЦПЛД не рассчитана, как мне кажется, на включение кварца по схеме автогенерации руки бы оторвал, поэтому я использую в таких случаях готовые генераторы.
Непонятно, почему автор долбоёб использовал джва корпуса 3064 вместо одного 3128.

Re: SPI & VS1011

PostPosted: Fri, 28.07.2017 18:55:00
by AndyD
TS-Labs wrote:автор долбоёб использовал джва корпуса 3064 вместо одного 3128

У меня просто были 3064,а 3128х нет.кварцевых генераторов тоже нет,а с китая месяц ждать,если чё так можно прошивку подправить под генератор и 3128.
TS-Labs wrote:ахтунговое подключение кварца к цплд (U3)

Знаю но оно работает,на 37 ноге U3 такты есть,U3 работает как задумано ,проблема с прошивкой U1.

Re: SPI & VS1011

PostPosted: Fri, 28.07.2017 21:33:45
by TS-Labs
Сорри, не вчитался.

Re: SPI & VS1011

PostPosted: Fri, 28.07.2017 21:51:15
by TS-Labs
А почему бы не проверить каждый стейтмент модуля по отдельности? Я с некоторым опытом, способен написать весь дизайн, который заработает сразу, но почему-то всегда провожу юнит тестирование. Лучше потратить немножко времени на это, чем опупевать от того, что не работает все сразу.

Рег sck зависит от shift, который зависит от стейта cur. Промоделируй сигналы с самого верха. Это даст тебе возможность понять, в формировании какого сигнала ошибка логики.
Сходу я багу в коде не вижу, по сути - я должен проделать все вышеописанное за тебя.

По правописанию (олбанцкий какой-то):
if(reset==0) -> if (!reset)
sck=!sck; -> sck <= !sck;
Форматирование кривое, глаза навыворот.
Реги в перемешку с логикой.
Советую писать на систем верилоге:
always_ff
always_comb

Re: SPI & VS1011

PostPosted: Fri, 28.07.2017 21:56:51
by AndyD
TS-Labs wrote:Сорри, не вчитался.

Да на самом деле,так и есть ,геморой через гланды лечить,я все понимаю,вообще изначально хотел на одной 3064+7430+еще пару корпусов с классическим генератором,но не полная дешифрация портов оттолкнула от этой идеи.
Да я симулировал в простеньком симуляторе квартуса VWF ,с модель сим так и не справился.
в симуляторе работает как то,но там особо не понять что не так,а в реале spi_clkout какие то дерганья присутствуют,но совсем не так как в симуляторе,больше на помехи смахивает чем на сигнал.я просто уже чегото совсем упарился, :bang:
олбанцкий какой-то ,да уже всяко переписывал ,вот и даже на албанский перешел ,а оно не работает ни как.

Re: SPI & VS1011

PostPosted: Fri, 28.07.2017 22:21:23
by TS-Labs
Выведи клок U3 на отдельную лапу и покажи скриншот лапы clk_test с осца.
output clk_test;
assign clk_test = clk; // assigned to an unused pin
Как говорил один знакомый холодильщик, перед разбором холодильника надо проверить исправность вилки.

Re: SPI & VS1011

PostPosted: Fri, 28.07.2017 23:02:02
by AndyD
не нет генерации :dontknow: ,пошёл искать генератор :ohno:
, на кварце

Re: SPI & VS1011

PostPosted: Fri, 28.07.2017 23:44:17
by AndyD
найдено простое эффективное решение

Re: SPI & VS1011

PostPosted: Fri, 28.07.2017 23:57:49
by TS-Labs
Алсо, можно было сделать генератор на ЛН1.

Re: SPI & VS1011

PostPosted: Sat, 29.07.2017 00:07:03
by AndyD
ЛН1 ,да,но хочется как проще,а получается наоборот :)
ни чего не изменилось,spi_clkout нет чуть зацепки на фоне нуля прыгают 0.01в при записи в порт 0x043B (spi_write).куда копать дальше?

Re: SPI & VS1011

PostPosted: Sat, 29.07.2017 05:14:10
by TS-Labs
Т.е. то, что я написал выше, проигнорировано?

Re: SPI & VS1011

PostPosted: Sat, 29.07.2017 09:22:59
by AndyD
TS-Labs wrote: проигнорировано?

Спасибо,совет помог,вроде дело пошло. :ura:

Re: SPI & VS1011

PostPosted: Sun, 30.07.2017 09:45:02
by AndyD
Можете меня поздравить,синус тест заработал :ura:

Re: SPI & VS1011

PostPosted: Mon, 31.07.2017 03:11:12
by TS-Labs
Пздр!

Re: SPI & VS1011

PostPosted: Sat, 09.09.2017 13:18:00
by AndyD
Намучившись с 2мя epm3064 и спалив vs1053 в ходе эксперементов,переделал на epm7160 (как приедет с китая перепаяю на epm7128) ,все таки сбылась (мечта идиота),разобрался с vs1011e и она запела. :ura: :ura: :ura: качество звука отличное.
Чего сдохла vs1053 я так и не понял,она играла даже раскалившись так что палец чуть не обжег случайно схватившись за плату,а я голову ломал чего она заикается,ну чтож,жаль.А 1011 блин кроме теста вообще не играла с тем же плеером но со своей инициализацией,оказалось она в newmode мп3 кушает не так как 1053.
https://youtu.be/G_PTUI1Jxac

Re: SPI & VS1011

PostPosted: Sat, 09.09.2017 13:39:12
by VBI
во ты зверь... :)

Re: SPI & VS1011

PostPosted: Sat, 09.09.2017 20:37:35
by AndyD
я вот чего думаю,если сюда и uart прикрутить то можно zifi прицепить ,ну и флешку ,как же без нее,это так мысли вслух. сначала доделаю плеер.Жаль что 1053 спалил она OGG играла ,а эта нет и кстати на мп3 лицензия(патент) закончилась,вчера из vlsi даташит обновили на 1011
Removed MP2 and MP3 license descriptions from Chapter 1,
Licenses, and other relevant places, as all their patents have expired.