Материал: LS-Sb87104

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

3.4. Синтез счетчика по mod М1i

Счетчик по mod M1i имеется как в канале зондирующего сигнала G, так и в канале отраженного (подвижного) сигнала Gv. Эти счетчики используют-

ся в качестве делителей частоты на число Mi = Tif0/M0 при i = 1, 2, 3, 4 (рис. 2.1) и могут быть выполнены на 16-разрядном двоичном счетчике с параллельной синхронной загрузкой данных (расчетные значения Mi, как правило, представимы 16-разрядным двоичным кодом).

Счетчик по mod M1i на МЭ lpm counter. Для построения делителя на МЭ фирмы Altera используются счетчики из папки lpm: 16-разрядный счетчик lpm_counter с синхронной загрузкой данных (в счетчике задаются входные сигналы cin, clk_en, cnt_en, sload, разрядность width = 16 и направление работы (режим вычитания) lpm direction = down, а также выходной сигнал переноса cout. На рис. 3.12 показана схема 16-разрядного счетчика. Модуль

пересчета Mi этого счетчика определяется соотношением Mi = dM i + 1, т. е.

он задается параллельной записью в счетчик числа dM i = Mi – 1. Число dM i –

двухбайтовое, содержащее мдадший байт dLT и старший байт dMT (M – most, L – least), хранящиеся в памяти в соседних ячейках. Оба байта должны быть записаны в регистры памяти 74377b. По команде OUT port_dLT вырабатывается системный сигнал управления I / OW = 0, а дешифратор адресных сигналов внешних устройств вырабатывает сигнал port_dLT = 0, который разрешает запись младшего байта D[7..0] в регистр; запись производится положтиельным перепадом сигнала I / OW . Аналогичным образом по команде OUT port_dMT записывается старший байт данных D[15..0] в регистр 74377b.

Временные диаграммы работы счетчика представлены на рис. 3.13. После загрузки младшего байта D[7..0] = 05 и старшего байта D[15..0] = 00, которая разрешается сигналом COUT = 1, возникающем в нулевом состоянии счетчика, счетчик начинает считать до нуля, после чего снова произойдет загрузка. На рис. 3.13 запись младшего и старшего байта осуществляется одновременно, реально же запись младшего и старшего байта происходит в разные моменты времени.

- 21 -

Рис. 3.12. Схема 16-разрядного делителя на M1i

Рис. 3.13. Временные диаграммы 16-разрядного делителя

Схема 16-разрядного делителя частоты используется как в неподвижном канале (на тактовый вход подается сигнал с выхода делителя на M0 P40), так и в подвижном канале (на тактовый вход подается сигнал с выхода делителя на Mv P4v). Выходные сигналы счетчиков COUT являются сигналами G и Gv.

3.5. Синтез счетчика по mod Мj

Требуемые коэффициенты Mj реализуются последовательным включе-

нием делителя на постоянный коэффициент Mk и управляемого 2-байтовыми данными 16-разрядного счетчика.

- 22 -

Рис. 3.14. Делитель на Mk = 25 и Mkeyb = 214.

Рис. 3.15. Временные диаграммы работы делителя на Mk = 25 и Mkeyb = 214

Рис. 3.16. Схема 16-разрядного делителя на M1j

Счетчик по mod Mk на МЭ lpm counter. Макроэлемент счетчика используется в режиме делителя на 2k; для Mk = 32 = 25 выходной сигнал снима-

ется с выхода Q4 (схема представлена на рис. 3.14, а временные диаграммы – на

- 23 -

рис. 3.15). Эта же схема формирует сигнал частоты 500 Гц для опроса

шифратора клавиатуры, при этом коэффициент деления M

keyb

= 107/500 =

 

 

 

 

 

= 20 000. Легко задать

M

= 214 = 16

384, если использовать 16-разрядный

 

keyb

 

 

 

 

счетчик с выходом

Q13,

при этом

частота выходного

сигнала fkeyb =

= 107 16 384 ≈ 610 Гц.

 

 

 

 

 

Делитель на M1j строится по такому же принципу, что и делитель на M1i (16-разрядный счетчик с записью двухбайтовых чисел). На вход делителя поступает сигнал частоты f0/M0 = 10 МГц, выходной сигнал делителя – x1. Схема делителя на M1j показана на рис. 3.16.

3.6. Контроллер клавиатуры

Для управления имитатором используются 16 клавиш, каждой из которых приписан свой 4-разрядный двоичный код. При нажатии любой клавиши контроллер клавиатуры должен выдавать двоичный код этой клавиши и флаг клавиатуры, указывающий факт нажатия любой клавиши (сигнал квитирования), или сигнал запроса прерывания IR (interrupt request).

Шифратор клавиатуры. На рис. 3.17 изображена схема шифратора клавиатуры, содержащая счетчик по mod 16 (74169) и мультиплексор 16 1 (161mux). При замыкании клавиши k = 0, 1, , 15 выходной сигнал DO мультиплексора примет значение 1 в момент времени, когда счетчик установится в состояние k, что приведет к появлению значения сигнала IR = 1 и блокировке счета. Пока клавиша нажата, счетчик выдает число k = = DO3DO2DO1DO0, а D-триггер – сигнал IR = 1. При отпускании клавиши сигнал IR установится в 0 и счетчик продолжит счет. Чем ниже частота задающего генератора, тем надежнее исключается «дребезг» контактов клавиш. На частоте генератора 500 Гц «дребезг» надежно устраняется. На рис. 3.18 – временные диаграммы для случая, когда нажата клавиша с номером 9.

Интерфейсные схемы шифратора клавиатуры подключают к системной шине данных 4-разрядный код нажатой клавиши помощью буфера данных, показанного на рис. 3.19, в. Перепадом сигнала IR с 0 на 1 D-триггер

- 24 -

Рис. 3.17. Схема шифратора клавиатуры

Рис. 3.18. Временные диаграммы работы шифратора клавиатуры

устанавливается в состояние 1 (рис. 3.19, б). С выхода триггера флаг клавиатуры FKB = DO4 = 1 подается на буфер данных 74244b вместе с 4-разрядным кодом клавиатуры DO3DO2DO1DO0. При выполнении команды IN CSKB с дешифратора адреса поступает значение сигнала CSKB = 0 (chip select keyboard), а с шины управления – значение I / OR = 0, что приводит к появлению значения сигнала OE = I / OR CSKB = 0, разрешающего передачу по шине данных 5-разрядного кода в аккумулятор CPU.

- 25 -

Источник: https://studfile.net/preview/16438776/