Раздел: Документация
0 ... 93 94 95 96 97 98 99 ... 105 L0AD(18> ТХТ(Г7)-ENPHACM2) SEL L/M(9j 0UT6f 1 0UT8@ OUT9(7) OUT10(5) 0UT1 1@ gnd(7) vcc (a) SEI L/M (91 SFTENhO) MSB/T3B(i?) ENPHAC (12) sd(u) SCLK(l4) (28JOUT5 (27)OUT4 (26)0UT3 (25)OUT2 (24)0UT1 (23)OUT0 (22)Vcc 6j)gnd (2ШР0 (ШР1 @LOAD @TXFR Мб) CLK 5)GND
~-(23~~28, 1 б) OUTO 0UT1 1 -(iT~22")-(77~2 1 1 5)- VccGND Рис. 7.21. Назначение выводов и внутренняя блок-схема генератора HSP45102 где N - число, записанное в выбранное слово установки частоты, a Fclk - частота тактового сигнала. LOAD (контакт 18), TXFR (контакт 17), ENPHAC (контакт 12) и SEL L/M (контакт 9) - это управляющие входы аккумулятора фазы. ENPHAC открывает аккумулятор фазы, SEL L/M устанавливает слово выбора частоты. Если на пего подан сигнал высокого уровня, то указываются младшие 32 разряда 64-разрядного регистра частоты, а если низкого - старшие. Если на входе TXFR низкий уровень, то слово выбора частоты, определенное значением SEL L/M, передается из регистра частоты во входной регистр аккумулятора фазы. Входы РО (контакт 20) и Р1 (контакт 19) - это входы установки jMr,c пин, wucyyncr с осцил/юзрофом Рис. 7.22. Схема с использованием генератора HSP45102 фазы, с помощью которых можно задать сдвиг фазы 0°, 90°, 180° и 270°. Микросхема имеет 12-разрядную выходную шину данных (контакты 1-6, 23-28). Значения данных находятся в диапазоне OOOh-FFFh, нулевой уровень гармонического колебания соответствует коду 800h. Для преобразования 12 бит данных в аналоговый сигнал необходимо использовать ЦАП. Схема на базе генератора HSP45102 изображена на рис. 7.22. Контакты D1 и С1 на плате соединены с выводами SD и SCLK микросхемы HSP45102, вывод CLK (контакт 16) - с выходом тактового генератора. Восемь старших разрядов выходной шины данных микросхемы (выходы OUT 4 - OUT 11) подключены к восьмиразрядному ЦАП ZN428E. Остальные четыре выхода не используются. Управляющие входы соединены либо с «землей», либо с проводом +5 В. Выходной сигнал ЦАП (гармоническое колебание) можно наблюдать на экране осциллографа. Текст программы 45102.PAS на ТР6 Program HSP45102, (•Программа управления для генератора HSP45102 *) (* Соединение с экспериментальной платой параллельного порта: D1 соединен с SD, С1.- с SCLK.*) uses crt.dos; {$1 c:\ioexp\tplib1.pas} var output frequency:real; procedure load frequency(frequency:real); («Загрузка значения частоты в регистр частоты генератора.*) («Значения частоты приведены в герцах.*) var i,j,k:byte; bytex:array[1..4] of byte; n:longint; begin n:=round(frequency*256*256*256*256/2.457e6); (•Преобразование n в четыре восьмиразрядных байта bytex[1] - bytex[4].*) bytex[4]: = round(n/256/256/256); n:=n-bytex[4]*256*256*256; bytex[3];=round(n/256/256); n:=n-bytex[3]*256*256; bytex[2]:=round(n/256); n:=n-bytex[2]*256; bytex[1]:=round(n); (•Загрузка первых 32 бит данных.*) for i:=1 to 4 do begin for ]:=1 to 8 do begin write data port(P address,round(bytex[i] and bit weight(j)/bit weight(j))); write control port(P add ress,0); write control port(P address,1); write cont rol port(P add ress,0); end; end; (•Загрузка вторых 32 бит данных.*) for i:=1 to 4 do begin for j:=1 to 8 do begin write data port(P address,round(bytex[i] and bit weight(j)/bit weight(j))); w rite cont rol port(P add ress,0); write control port(P address,1); write control port(P address,0); end; end; end; procedure test 45102; begin writeCInput output frequency [Hz] (0 to quit):); readln(output frequency); load frequency(output frequency); end; 0 ... 93 94 95 96 97 98 99 ... 105
|