Разработка цифрового приемника FM-сигнала
Автор: артур аннамурадов • Май 3, 2022 • Лабораторная работа • 5,381 Слов (22 Страниц) • 209 Просмотры
Министерство образования и науки Российской Федерации
Федеральное государственное автономное образовательное учреждение
«Пермский национальный исследовательский политехнический университет»
Кафедра микропроцессорных средств автоматизации
Отчет по лабораторной работе.
По дисциплине: «Проектирование радиоэлектронных устройств и встроенных микропроцессорных систем».
Тема: «Разработка цифрового приемника FM-сигнала».
Выполнили: студент гр. ТК-19-1б
Аннамурадов Артур
Проверил: доцент кафедры АТ
Гончаровский Олег Владленович
____________ _________________
(дата) (подпись)
Пермь 2021 г.
Цель работы:
Сформировать умения и навыки по разработке проектов на HDL для заказных, полузаказных и программируемых пользователем ИС, а также программ для встроенных систем на базе микроконтроллеров.
Ход работы:
1. Схема разработанного устройства:
[pic 1]
Рис. 1. Структурная схема FM-модема
[pic 2]
Рис 2. Схема, спроектированная в программной среде VHDL
2. Описание элементов структурной модели лаб. устройства FM-модема:
- блок PwrOnReset – Сброс.
Элемент Reset при старте должен формировать одиночный импульс длительностью равной периоду синхросигнала, который подается на соответствующие входы всех элементов структурной модели и устанавливает их сигналы в требуемое начальное состояние.
Код, реализуемый в данном блоке:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity PwrOnReset is
port(
Clock : in STD_LOGIC;
Reset : out STD_LOGIC
);
end PwrOnReset;
architecture PwrOnReset of PwrOnReset is
signal Reset_t:STD_LOGIC:='1';
begin
reset<=reset_t;
process (Clock)
begin
if rising_edge(Clock) then
Reset_t<='0';
end if;
end process;
end PwrOnReset;
- блок datagen – Генератор данных.
Данный элемент под действием тактовой частоты формирует низкочастотную цифровую последовательность для манипулирования частотным модулятором, роль которого выполняет элемент NCO.
В 64-х разрядный сдвиговый регистр под действием сигнала reset записывается заданная комбинация 0 и 1 – информационная последовательность. Циклический сдвиг регистра в сторону старших разрядов выполняется с частотой в 2048 раз меньшей входной тактовой частоты clock. Выходному сигналу data_out присваивается 12-ти разрядное двоичное значение 001000000000, если старший разряд сдвигового регистра равен 1 и значение 111000000000 в противном случае.
Код, реализуемый в данном блоке:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity DataGen is
port(
clock : in STD_LOGIC;
reset : in STD_LOGIC;
dout : out STD_LOGIC_vector(11 downto 0)
);
end DataGen;
architecture DataGen of DataGen is
type TYPE_DEV2048 is range 0 to 2047;
signal DEV2048:TYPE_DEV2048;
signal reg64:std_logic_vector(63 downto 0);
begin
DEVIDER : process (clock,reset)
begin
if reset = '1' then
dev2048 <= 0;
elsif rising_edge(clock) then
if dev2048=2047 then
dev2048<=0;
else
dev2048<=dev2048+1;
end if;
end if;
end process;
SHIFT_REG : process (clock,reset)
begin
if reset = '1' then
reg64 <= B"10101010_11111111_10101010_00000000_10101010_11111111_10101010_00000000";
...