roboforum.ru

Технический форум по робототехнике.
Текущее время: 21 май 2025, 00:03

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: ЦАП AD7303 + Verilog
СообщениеДобавлено: 16 апр 2012, 00:34 
Не в сети
Аватара пользователя

Зарегистрирован: 25 июл 2007, 10:38
Сообщения: 354
Откуда: Москва (Троицк, МО)
ФИО: Антон Миронов
Не знаю куда, пусть тут будет, может кому пригодится.
Просто до безобразия, гонит без предыху в ЦАП все, что ухватит по входам :)

Код:
module AD7303
(
   input Clk50M,      //50Mhz osc

   input [7:0] HDAC_A,
   input [7:0] HDAC_B
   
   output DAC_SCLK,
   output DAC_Sync,
   output DAC_Data,
);
   
   reg [15:0] DAC_SFR = 16'hFFFF;
   reg [5:0]  DAC_cnt = 0;
   reg DAC_AB = 0;
   
   assign DAC_SCLK = DAC_cnt[0];
   assign DAC_Sync = DAC_cnt[5];
   assign DAC_Data = DAC_SFR[15];

   always@(posedge Clk50M)
      begin
      DAC_cnt <= DAC_cnt + 1;
      if (DAC_cnt[0])
         begin
         DAC_SFR[15:1] <= DAC_SFR[14:0];
         DAC_SFR[0] <= 0; //just in case
         end
      if (DAC_cnt[5] & DAC_cnt[0]) //(DAC_cnt == 33)
         begin
         DAC_AB <= ~DAC_AB;
         DAC_SFR[15:8] <= DAC_AB ? 8'b11100111 : 8'b11100011; //AD7303 config
         DAC_SFR[7:0] <= DAC_AB ?  HDAC_A : HDAC_B;
         DAC_cnt <= 0;         
         end
      end

endmodule


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO