Смекни!
smekni.com

Устройство цифровой записи речи цифровой диктофон (стр. 2 из 5)

Блок выходных цепей обеспечивает усиление выходного сигнала и ограничение верхней частоты выходного сигнала до 4 кГц, для того чтобы избавиться от высокочастотных гармоник в выходном сигнале, появляющихся при квантовании.

Блок питания необходим для обеспечения питания всех блоков диктофона.

ВЫБОР ЭЛЕМЕНТОВ

В качестве устройства управления выбран микроконтроллер RISC-архитектуры серии AVRфирмы AtmelAT90S8535. Он обладает встроенной памятью программ объемом 4096 слов и памятью данных 512 байт. Любая его команда выполняется за 1 такт процес­сора. Тактовая частота 8 МГц .

На выполнение процессором программного кода для обработки и записи отсчетов, полученных от АЦП, потребуется до 20 мс, так что выбранный процессор вполне удовлетворяет требованию скорости работы и успевает обработать всю необходимую информацию.

Обеспечение протокола работы с памятью организуется тем же процессором программно - аппаратными методами, так как в микроконтроллере имеется аппаратная поддержка протокола SPI.

Для хранения записываемой информации выбрана FLASH ПЗУ AT45DB32 фирмы Atmel, объемом 32Мб.

AT90S8535Description

The AT90S8535 is a low-power CMOS 8-bit microcontroller based on the AVR RISC architecture. By executing powerful instructions in a single clock cycle, the AT90S8535 achieves throughputs approaching 1 MIPS per MHz allowing the system designer to optimize power consumption versus processing speed.

Features

• AVR® – High-performance and Low-power RISC Architecture

– 118 Powerful Instructions – Most Single Clock Cycle Execution

– 32 x 8 General-purpose Working Registers

– Up to 8 MIPS Throughput at 8 MHz

• Data and Nonvolatile Program Memories

– 8K Bytes of In-System Programmable Flash SPI Serial Interface for In-System Programming Endurance: 1,000 Write/Erase Cycles

– 512 Bytes EEPROM Endurance: 100,000 Write/Erase Cycles

– 512 Bytes Internal SRAM

– Programming Lock for Software Security

• Peripheral Features

– 8-channel, 10-bit ADC

– Programmable UART

– Master/Slave SPI Serial Interface

– Two 8-bit Timer/Counters with Separate Prescaler and Compare Mode

– One 16-bit Timer/Counter with Separate Prescaler, Compare and Capture Modes and Dual 8-, 9-, or 10-bit PWM

– Programmable Watchdog Timer with On-chip Oscillator

– On-chip Analog Comparator

• Special Microcontroller Features

– Power-on Reset Circuit

– Real-time Clock (RTC) with Separate Oscillator and Counter Mode

– External and Internal Interrupt Sources

– Three Sleep Modes: Idle, Power Save and Power-down

• Power Consumption at 4 MHz, 3V, 20°C

– Active: 6.4 mA

– Idle Mode: 1.9 mA

– Power-down Mode: <1 µA

• I/O and Packages

– 32 Programmable I/O Lines

– 40-lead PDIP, 44-lead PLCC, 44-lead TQFP, and 44-pad MLF

• Operating Voltages

– VCC: 4.0 - 6.0V AT90S8535

– VCC: 2.7 - 6.0V AT90LS8535

• Speed Grades:

– 0 - 8 MHz for the AT90S8535

– 0 - 4 MHz for the AT90LS8535

Pin Descriptions

VCC Digital supply voltage.

GND Digital ground.

Port A (PA7..PA0) Port A is an 8-bit bi-directional I/O port. Port pins can provide internal pull-up resistors (selected for each bit). The Port A output buffers can sink 20 mA and can drive LED displays directly. When pins PA0 to PA7 are used as inputs and are externally pulled low, they will source current if the internal pull-up resistors are activated. Port A also serves as the analog inputs to the A/D Converter. The Port A pins are tri-stated when a reset condition becomes active, even if the clock is

not running.

Port B (PB7..PB0) Port B is an 8-bit bi-directional I/O port with internal pull-up resistors. The Port B output buffers can sink 20 mA. As inputs, Port B pins that are externally pulled low will source current if the pull-up resistors are activated. Port B also serves the functions of various special features of the AT90S8535 as listed on page 74. The Port B pins are tri-stated when a reset condition becomes active, even if the clock is not running.

Port C (PC7..PC0) Port C is an 8-bit bi-directional I/O port with internal pull-up resistors. The Port C output buffers can sink 20 mA. As inputs, Port C pins that are externally pulled low will source current if the pull-up resistors are activated. Two Port C pins can alternatively be used as oscillator for Timer/Counter2. The Port C pins are tri-stated when a reset condition becomes active, even if the clock is not running.

Port D (PD7..PD0) Port D is an 8-bit bi-directional I/O port with internal pull-up resistors. The Port D output buffers can sink 20 mA. As inputs, Port D pins that are externally pulled low will source current if the pull-up resistors are activated. Port D also serves the functions of various special features of the AT90S8535 as listed on page 83. The Port D pins are tri-stated when a reset condition becomes active, even if the clock is not running.

RESET Reset input. An external reset is generated by a low level on the RESET pin. Reset pulses longer than 50 ns will generate a reset, even if the clock is not running. Shorter pulses are not guaranteed to generate a reset.

XTAL1 Input to the inverting oscillator amplifier and input to the internal clock operating circuit.

XTAL2 Output from the inverting oscillator amplifier.

AVCC AVCC is the supply voltage pin for Port A and the A/D Converter. If the ADC is not used, this pin must be connected to VCC. If the ADC is used, this pin must be connected to VCC via a low-pass filter. See page 65 for details on operation of the ADC.

AREF AREF is the analog reference input for the A/D Converter. For ADC operations, a voltage in the range 2V to AVCC must be applied to this pin.

AGND Analog ground. If the board has a separate analog ground plane, this pin should be connected to this ground plane. Otherwise, connect to GND.

AT45DB32 Description

The AT45DB321 is a serial-interface Flash memory suitable for in-system reprogramming. Its 34,603,008 bits of memory are organized as 8192 pages of 528 bytes each. In addition to the main memory, the AT45DB321 also contains two SRAM data buffers of 528 bytes each. The buffers allow receiving of data while a page in the main memory is being reprogrammed

Features

• Serial-interface Architecture

• Page Program Operation

– Single Cycle Reprogram (Erase and Program)

– 8192 Pages (528 Bytes/Page) Main Memory

• Optional Page and Block Erase Operations

• Two 528-byte SRAM Data Buffers – Allows Receiving of Data while Reprogramming of Nonvolatile Memory

• Internal Program and Control Timer

• Fast Page Program Time – 7 ms Typical

• 120 µs Typical Page to Buffer Transfer Time

• Low-power Dissipation

– 4 mA Active Read Current Typical

– 3 µA CMOS Standby Current Typical

• 13 MHz Max Clock Frequency

• Hardware Data Protection Feature

• Serial Peripheral Interface (SPI) Compatible – Modes 0 and 3

• CMOS and TTL Compatible Inputs and Outputs

• Commercial and Industrial Temperature Ranges

Pin Name Function

CS Chip Select

SCK Serial Clock

SI Serial Input

SO Serial Output

WP Hardware Page Write Protect Pin

RESET Chip Reset

RDY/BUSY Ready/Busy


ПРИНЦИП ДЕЙСТВИЯ

Устройство состоит из следующих элементов: контроллер на базе микропроцессора, выполняющий функции управле­ния устройством. В состав MC также входят АЦП и ЦАП, поэтому микроконтроллер также выполняет функции оцифровывания аналогового сигнала и преобразования цифровых кодов в аналоговый сигнал. Усилители U1 и U2 предназначены для усиления аналоговых сигналов и ограничения верхних граничных частот этих сигналов до 4 кГц. Микрофон и динамик предназначены соответственно для ввода и воспроизведения голосовой информации. Генератор опорного напряжения U3 формирует опорное напряжение для встроенного АЦП микроконтроллера MC. Тактовый генератор G предназначен для тактирования всех внутренних схем микроконтроллера. Энергонезависимая память RAM предназначена для хранения всей записываемой голосовой информации. Блок клавиатуры KBDпредназначен для управления режимами устройства. Блок индикации LED предназначен для индикации режимов работы устройства.

Входной сигнал с микрофона поступает на усилитель-фильтр U1, где он усиливается до размаха в несколько вольт и ограничивается верхней частотой до 4 кГц. С выхода усилителя-фильтра U1 сигнал поступает на вход встроенного АЦП AD0. Обработанный сигнал программно записывается в RAM по линиям, предусмотренным протоколом SPI(рис.5).

Рис.5. Запись в память.

После окончания записи сигнал может быть прочитан из памяти микроконтроллером (рис.6).

Рис.6. Чтение из памяти.

Микропроцессор MС выдает через встроенный ЦАП сигналы на усилитель-фильтр U2, где они усиливаются и ограничиваются по верхней частоте до 4 кГц. В качестве ЦАП в микроконтроллере работает встроенный широтно-импульсный модулятор, который с помощью дифференцирующих сигналов и интегрирующей цепи может восстановить форму исходного сигнала.

Рис.7. Восстановление сигнала при помощи широтно-импульсной модуляции.

Отображение режимов работы устройства производят светоизлучающие диоды LED при высоком уровне сигнала на соответствующем выходе микроконтроллера.

В этом примере окончательный сигнал состоит из 8 бит. Теперь он может быть сохранён в DataFlash. DataFlash не требует отдельного цикла стирания перед программированием. При использовании команд «Буфер в основную страницу памяти программы с встроенным стиранием» и «Основная страница памяти программы сквозь буфер», DataFlash будет автоматически стирать определённую страницу в массиве памяти перед программированием действительных данных. Если система требует большую программную пропускную способность (больше 200K bps), то области массива основной памяти могут быть предварительно очищены, для уменьшения суммарного программного времени. При предварительной очистке части главного массива памяти, для уменьшения общего времени, может использоваться команда «Буфер в основную страницу памяти программы без встроенного стирания».

После очистки памяти данные могут записываться до тех пор, пока не заполнятся все страницы.

Для записи в DataFlash используется буфер 1. Когда этот буфер заполнится (528 выборками), он записывается в память во время 529 преобразования. Данные записываются до тех пор, пока нажата кнопка «Запись» или память не заполнилась. Если вся память заполнена, то новые данные не могут быть записаны, пока не очищена DataFlash. Если память заполнена лишь частично, то при повторном нажатии кнопки «Запись» новые данные будут добавлены сразу за уже записанными данными.

Воспроизведение звука всегда начинается с начала DataFlash. Оно прекращается, если все записанные данные воспроизведены или когда кнопка «Воспроизведение» отпущена.

DataFlash позволяет проигрывать данные либо напрямую из основной страницы памяти, либо путём копирования страницы в один из двух буферов и последующим чтением из буфера. Метод прямого доступа не подходит для этого примера, так как это метод двухадресный (один адрес для страницы, другой для позиции байта), и, следовательно, в DataFlash должна быть отправлена длинная загрузочная последовательность для каждого отдельного байта. Это занимает больше одного цикла ШИМ, который длится 510 тактовых импульсов для 8-битного ШИМ сигнала.

Поэтому, одна страница памяти копируется в один из двух буферов. Пока данные читаются из этого буфера, следующая страница памяти копируется в другой буфер. Когда все данные считаны из первого буфера, чтение продолжается из другого буфера, в это время первый буфер перезагружается. Чтение данных из буфера DataFlash синхронизируется частотой ШИМ.

Выходной фильтр сглаживает выходной сигнал и удаляет высокочастотную несущую ШИМ сигнала. Результирующий выходной сигнал для сигнала из примера похож на тот, что изображён на рисунке 8. Если исключить ошибку квантования и отсутствующее усиление, то сигнал полностью похож на входной аналоговый сигнал (Рисунок 1).