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

 
 
> модуль spi slave verilog
sergey sva
сообщение May 9 2015, 15:14
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Хочу попробовать запустить spi slave на циклоне. Поискал в сети готовые исходники, примеров много для этого интерфейса не знаю с какого начать, подскажите пожалуйста ссылку на проверенный пример, который вам понравился ))
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergey sva
сообщение May 10 2015, 13:20
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Понятно. Попробовал сразу все заработало)). Частоту подал на clck_in 200Мгц , правильно ?

Код
spi_slave spi_uc(csn,datain,wr_rd,dataout,tx_rdy,rx_rdy,tx_err,rx_err,CLOCK,RESET,SDOUT_UC,SD
I_UC,CS_UC,SCLCK_UC);
//--------------------------------------------------------------------------//


//--------------------------------------------------------------------------//
always@(posedge CLOCK )
begin
    if(RESET == 1)
     begin        
        rxtxrdwr     <= 8'd0;
        adressreg    <= 8'd0;
         getadres     <= 1'b0;         
         csn          <= 1'b1;  
       wr_rd        <= 1'b1;
        
         for(initdatafor = 0; initdatafor < 8'd255;initdatafor = initdatafor + 8'd1)
       begin
         dataINuc[initdatafor]  <= 8'd0;
          dataOUTuc[initdatafor] <= 8'd0;
       end    
    
     end
     else begin
    
          if(CS_UC == 1)
           begin
               getadres  <= 1'b0;
           end  
    
    
          if(tx_rdy || rx_rdy) begin
             if(tx_rdy) begin
                 csn<= 1'b0;
                 wr_rd<= 1'b0;  
                      rxtxrdwr <= 8'd1;
                      
                      if(getadres == 1)
                      begin
                     datain <= 20;//dataOUTuc[adressreg];
                      end else
                      begin
                          datain <= 8'd0;
                      end      
                
                
             end
             else if(rx_rdy) begin          
                 csn<=  1'b0;
                 wr_rd<=  1'b1;                
                      rxtxrdwr <= 8'd2;
                    
                      if(getadres == 0)
                      begin
                          getadres  <= 1'b1;
                            adressreg <= dataout;                            
                      end else
                      begin
                          dataINuc[adressreg] <= dataout;                     
                     end            
                  
            
             end
          end else
            begin
                if(rxtxrdwr == 1)begin
                     csn<= 1'b1;  
                 wr_rd<= 1'b1;
                     rxtxrdwr <= 8'd0;
                 end else if(rxtxrdwr == 2)begin    
                  csn<=  1'b1;  
                 wr_rd<=  1'b1;
                     rxtxrdwr <= 8'd0;
                 end
            
            
            end
    
    
    
     end
end
//--------------------------------------------------------------------------//

Единственное почему то последний байт не доходит например отправляю с плис 20 в мк приходит 10 и тд.
Микроконтроллер вначале пробовал с mems датчиком что бы проверить правильность настройки spi интерфейса в микроконтроллере.
Go to the top of the page
 
+Quote Post
Maverick
сообщение May 10 2015, 13:57
Сообщение #3


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(sergey sva @ May 10 2015, 16:20) *
Единственное почему то последний байт не доходит например отправляю с плис 20 в мк приходит 10 и тд.
Микроконтроллер вначале пробовал с mems датчиком что бы проверить правильность настройки spi интерфейса в микроконтроллере.

режимы работы SPI в мк и в плис должны совпадать. совпадают?

Цитата
Для обозначения режимов работы интерфейса SPI принято следующее соглашений:

режим 1 (CPOL = 0, CPHA = 0);
режим 2 (CPOL = 0, CPHA = 1);
режим 3 (CPOL = 1, CPHA = 0);
режим 4 (CPOL = 1, CPHA = 1).


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sergey sva   модуль spi slave verilog   May 9 2015, 15:14
- - Maverick   RE: модуль spi slave verilog   May 9 2015, 17:48
- - sergey sva   Благодарю за код, давайте если не жалко )). Есть ...   May 10 2015, 09:03
|- - Maverick   Цитата(sergey sva @ May 10 2015, 12:03) Б...   May 10 2015, 11:20
- - sergey sva   Благодарю вас. Эта задержка синтезируется или это ...   May 10 2015, 13:09
|- - Maverick   Цитата(sergey sva @ May 10 2015, 16:09) Б...   May 10 2015, 13:10
|- - johan   Цитата(Maverick @ May 10 2015, 16:10) тол...   May 10 2015, 17:52
|- - Maverick   Цитата(johan @ May 10 2015, 20:52) Где-то...   May 10 2015, 17:58
||- - johan   Цитата(Maverick @ May 10 2015, 20:58) а ч...   May 10 2015, 18:59
|- - Nepoch   Цитата(johan @ May 10 2015, 21:52) Где-то...   May 20 2015, 17:58
- - sergey sva   Да совпадают Код RCC_APB2PeriphClockCmd(RCC_A...   May 10 2015, 15:35
- - sergey sva   Можно как то синтезировать задержку? Иногда очень ...   May 10 2015, 18:30
- - krux   #1 сильно помогает "старой гвардии", при...   May 20 2015, 18:11
- - fookat   Здравствуйте. Недавно начал вникать в тему FPGA и ...   Aug 3 2016, 08:17
|- - Tausinov   Путем таких нехитрых условий требуемое действие пр...   Aug 3 2016, 09:31
- - glb   Доброго дня! Использовал приведенный пример SP...   Aug 23 2016, 12:53
- - likeasm   Цитата(glb @ Aug 23 2016, 15:53) Доброго ...   Aug 26 2016, 08:04
- - Jenya7   решил поднять тему. посмотрел описание SPI Slave н...   Feb 20 2017, 07:50


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

 


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


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