⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨


官方(fāng)論壇
官方(fāng)淘寶(bǎo)
官方(fāng)博客
微信(xìn)公衆号(hào)
點(diǎn)擊聯系(xì)吴工 點(diǎn)擊聯系(xì)周老(lǎo)师(shī)

【案(àn)例】PWM流水(shuǐ)燈(dēng)設計(jì)

發(fà)布(bù)时(shí)間(jiān):2021-06-25   作者(zhě):admin 浏覽量(liàng):

案(àn)例編号(hào):000800000017

脈沖宽(kuān)度(dù)調制(pulse width modelation)簡稱PWM,利用(yòng)微处理器的(de)數字(zì)輸出(chū)来(lái)对(duì)模拟電(diàn)路(lù)進(jìn)行控制的(de)一(yī)種(zhǒng)非(fēi)常有(yǒu)效的(de)技術(shù),廣泛應(yìng)用(yòng)在(zài)從测量(liàng)、通(tòng)信(xìn)到(dào)功率控制與(yǔ)變(biàn)換的(de)许多(duō)領域中(zhōng)脈沖宽(kuān)度(dù)調制是(shì)利用(yòng)微处理器的(de)數字(zì)輸出(chū)来(lái)对(duì)模拟電(diàn)路(lù)進(jìn)行控制的(de)一(yī)種(zhǒng)非(fēi)常有(yǒu)效的(de)技術(shù),廣泛應(yìng)用(yòng)在(zài)從测量(liàng)、通(tòng)信(xìn)到(dào)功率控制與(yǔ)變(biàn)換的(de)许多(duō)領域中(zhōng)。

在(zài)本(běn)章(zhāng)的(de)應(yìng)用(yòng)中(zhōng)可(kě)以(yǐ)認为(wèi)PWM就(jiù)是(shì)一(yī)種(zhǒng)方(fāng)波(bō)。如(rú)图(tú)2-7所(suǒ)示。

图(tú)2-7 PWM波(bō)形图(tú)

一(yī)个(gè)周期(qī)为(wèi)10ms,高(gāo)電(diàn)平为(wèi)6ms,低電(diàn)平时(shí)間(jiān)为(wèi)4ms的(de)PWM,其占空比(高(gāo)電(diàn)平时(shí)間(jiān)占整个(gè)周期(qī)的(de)比例)为(wèi)60%

明(míng)德揚的(de)FPGA開(kāi)發(fà)板共(gòng)有(yǒu)8个(gè)LED燈(dēng)。産生(shēng)8个(gè)管(guǎn)脚的(de)PWM图(tú),如(rú)图(tú)2-8所(suǒ)示。每个(gè)管(guǎn)脚对(duì)應(yìng)的(de)占空比分(fēn)别为(wèi):80%70%60%50%40%30%20%和(hé)10%。系(xì)統工作时(shí)鐘(zhōng)100MHz

图(tú)2-8 各(gè)个(gè)LED等对(duì)應(yìng)的(de)PWM波(bō)形

FPGA通(tòng)过(guò)8个(gè)管(guǎn)脚来(lái)分(fēn)别控制8个(gè)LED燈(dēng),管(guǎn)脚值为(wèi)0,对(duì)應(yìng)的(de)LED燈(dēng)亮(liàng),管(guǎn)脚值为(wèi)1,对(duì)應(yìng)的(de)LED燈(dēng)滅(低亮(liàng)高(gāo)滅)。如(rú)果(guǒ)管(guǎn)脚不(bù)停地(dì)變(biàn)化(huà),則LED燈(dēng)会(huì)閃爍;如(rú)果(guǒ)这(zhè)種(zhǒng)高(gāo)低變(biàn)化(huà)非(fēi)常快(kuài),由(yóu)于(yú)人(rén)的(de)視覺暫留現(xiàn)象(xiàng),LED就(jiù)会(huì)出(chū)現(xiàn)不(bù)同(tóng)的(de)亮(liàng)度(dù)。

基于(yú)这(zhè)个(gè)原則,我(wǒ)们(men)也(yě)可(kě)以(yǐ)通(tòng)过(guò)産生(shēng)PWM波(bō)形,来(lái)控制LED燈(dēng)的(de)亮(liàng)度(dù)。

1. 明(míng)确功能(néng)

首先(xiān)确定(dìng)模块(kuài)信(xìn)号(hào)列表(biǎo),如(rú)表(biǎo)2.2

表(biǎo)2.2信(xìn)号(hào)列表(biǎo)

信(xìn)号(hào)名

I/O

位宽(kuān)

说(shuō)明(míng)

clk

I

1

系(xì)統工作时(shí)鐘(zhōng)100MHz

rst_n

I

1

系(xì)統複位信(xìn)号(hào),低電(diàn)平有(yǒu)效。

led

O

8

LED輸出(chū)信(xìn)号(hào)

産生(shēng)8个(gè)脈沖,每个(gè)脈沖周期(qī)为(wèi)10s对(duì)應(yìng)的(de)占空比分(fēn)别为(wèi):80%70%60%50%40%30%20%和(hé)10%

2. 功能(néng)波(bō)形

led所(suǒ)有(yǒu)信(xìn)号(hào)的(de)變(biàn)化(huà)都是(shì)相似的(de),这(zhè)里(lǐ)以(yǐ)led[0]为(wèi)例。見(jiàn)图(tú)2-9

图(tú)2-9 led[0]信(xìn)号(hào)變(biàn)化(huà)图(tú)

3. 計(jì)數結構

因(yīn)为(wèi)每个(gè)脈沖的(de)高(gāo)低電(diàn)平持(chí)續时(shí)間(jiān)都是(shì)以(yǐ)1s为(wèi)單位的(de),所(suǒ)以(yǐ)引入(rù)两(liǎng)个(gè)計(jì)數器,計(jì)數器cnt_1s計(jì)數1s,計(jì)數器cnt_10s計(jì)數每个(gè)脈沖高(gāo)低電(diàn)平分(fēn)别持(chí)續的(de)时(shí)間(jiān)。具體(tǐ)計(jì)數情(qíng)況如(rú)图(tú)2-10所(suǒ)示:


图(tú)2-10 計(jì)數結構图(tú)

4. 加一(yī)結束(shù)条(tiáo)件(jiàn)

cnt_1s的(de)加1条(tiáo)件(jiàn):計(jì)數器一(yī)直(zhí)在(zài)計(jì)數,即:assign add_cnt_1s=1

cnt_1s的(de)結束(shù)条(tiáo)件(jiàn):加一(yī)条(tiáo)件(jiàn)下(xià)計(jì)數到(dào)100_000_000-1

cnt_10s的(de)加1条(tiáo)件(jiàn):cnt_1s的(de)結束(shù)时(shí)刻;

cnt_10s的(de)結束(shù)条(tiáo)件(jiàn):加一(yī)条(tiáo)件(jiàn)下(xià)計(jì)數到(dào)10-1

5. 定(dìng)義特(tè)殊點(diǎn)

图(tú)2-11有(yǒu)幾(jǐ)个(gè)特(tè)殊點(diǎn),需要(yào)我(wǒ)们(men)記(jì)住

图(tú)2-11 特(tè)殊定(dìng)義點(diǎn)图(tú)

cnt1s的(de)結束(shù)条(tiáo)件(jiàn):cnt_1s==100_000_000-1,定(dìng)为(wèi)end_cnt_1s

cnt10s的(de)結束(shù)条(tiáo)件(jiàn):cnt_10s==10-1,定(dìng)为(wèi)end_cnt_10s

led所(suǒ)有(yǒu)位的(de)新号(hào)變(biàn)化(huà)都是(shì)相似的(de),所(suǒ)以(yǐ)我(wǒ)们(men)以(yǐ)led[0]为(wèi)例定(dìng)義特(tè)殊點(diǎn),

led[0]變(biàn)高(gāo)的(de)条(tiáo)件(jiàn):cnt_10s==1-1,定(dìng)为(wèi)led0_off

led[0]變(biàn)低的(de)条(tiáo)件(jiàn):cnt_10s==10-1,定(dìng)为(wèi)led_on


6. 完整性(xìng)檢查


(1)計(jì)數器cnt_1s
cnt_1s的(de)初值:0;
cnt_1s的(de)加1条(tiáo)件(jiàn):assign add_cnt_1s=1;
cnt_1s的(de)結束(shù)条(tiáo)件(jiàn):
assign end_cnt_1s=add_cnt1s&&cnt_1s ==100_000_000 - 1
(6)led[3]
led[3]由(yóu)0變(biàn)1:led3_off
led[3]由(yóu)1變(biàn)0:led_on
(2)計(jì)數器cnt_10s
cnt_10s初值:0;
cnt_10s的(de)加1条(tiáo)件(jiàn): assign add_cnt_10s=end_cnt1s;
cnt_10s的(de)結束(shù)条(tiáo)件(jiàn):
assign end_cnt_10s=add_cnt10s && cnt_10s==10 - 1
(7)led[4]
led[4]由(yóu)0變(biàn)1:led4_off
led[4]由(yóu)1變(biàn)0:led_on
(3)led[0]
led[0]由(yóu)0變(biàn)1:led0_off
led[0]由(yóu)1變(biàn)0:led_on
(8)led[5]
led[5]由(yóu)0變(biàn)1:led5_off
led[5]由(yóu)1變(biàn)0:led_on
(4)led[1]
led[1]由(yóu)0變(biàn)1:led1_off
led[1]由(yóu)1變(biàn)0:led_on
(9)led[6]
led[6]由(yóu)0變(biàn)1:led6_off
led[6]由(yóu)1變(biàn)0:led_on
(5)led[2]
led[2]由(yóu)0變(biàn)1:led2_off
led[2]由(yóu)1變(biàn)0:led_on
(10)led[7]
led[7]由(yóu)0變(biàn)1:led7_off
led[7]由(yóu)1變(biàn)0:led_on

7. 計(jì)數器代(dài)碼

 1 parameter  TIME_1S  = 100_000_000   ;
 2
 3 always  @(posedgeclk or negedgerst_n)begin
 4     if(rst_n==1'b0)begin
 5         cnt_1s <= 0;
 6     end
 7     else if(add_cnt_1s)begin
 8         if(end_cnt_1s)
 9             cnt_1s <= 0;
10         else
11             cnt_1s <= cnt_1s + 1;
12     end
13 end
14 assign add_cnt_1s = 1'b1;
15 assign end_cnt_1s = add_cnt_1s && cnt_1s==TIME_1S-1;
16
17 always  @(posedgeclk or negedgerst_n)begin
18     if(rst_n==1'b0)begin
19         cnt_10s <= 0;
20     end
21     else if(add_cnt_10s)begin
22         if(end_cnt_10s)
23             cnt_10s <= 0;
24         else
25             cnt_10s <= cnt_10s + 1;
26     end
27 end
28 assign add_cnt_10s = end_cnt_1s;
29 assign end_cnt_10s = add_cnt_10s && cnt_10s==10-1;
30


8.完整代(dài)碼

  1 //按照第(dì)六(liù)步第(dì)3點(diǎn),写出(chū)len[0]的(de)代(dài)碼
  2 always  @(posedgeclk or negedgerst_n)begin
  3     if(rst_n==1'b0)begin
  4         led[0] <= 0;
  5     end
  6     else if(led_on)begin
  7         led[0] <= 0;
  8     end
  9     else if(led0_off)begin
 10         led[0] <= 1;
 11     end
 12 end
 13 assign led0_off = add_cnt_10s && cnt_10s==1-1;
 14 assign led_on  = add_cnt_10s && cnt_10s==10-1;
 15
 16 //按照第(dì)六(liù)步第(dì)4點(diǎn),写出(chū)len[1]的(de)代(dài)碼
 17 always  @(posedgeclk or negedgerst_n)begin
 18     if(rst_n==1'b0)begin
 19         led[1] <= 0;
 20     end
 21     else if(led_on)begin
 22         led[1] <= 0;
 23     end
 24     else if(led1_off)begin
 25         led[1] <= 1;
 26     end
 27 end
 28 assign led1_off = add_cnt_10s && cnt_10s==2-1;
 29
 30 //按照第(dì)六(liù)步第(dì)5點(diǎn),写出(chū)len[2]的(de)代(dài)碼
 31 always  @(posedgeclk or negedgerst_n)begin
 32     if(rst_n==1'b0)begin
 33         led[2] <= 0;
 34     end
 35     else if(led_on)begin
 36         led[2] <= 0;
 37     end
 38     else if(led2_off)begin
 39         led[2] <= 1;
 40     end
 41 end
 42 assign led2_off = add_cnt_10s && cnt_10s==3-1;
 43
 44 //按照第(dì)六(liù)步第(dì)6點(diǎn),写出(chū)len[3]的(de)代(dài)碼
 45 always  @(posedgeclk or negedgerst_n)begin
 46     if(rst_n==1'b0)begin
 47         led[3] <= 0;
 48     end
 49     else if(led_on)begin
 50         led[3] <= 0;
 51     end
 52     else if(led3_off)begin
 53         led[3] <= 1;
 54     end
 55 end
 56 assign led3_off = add_cnt_10s && cnt_10s==4-1;
 57
 58 //按照第(dì)六(liù)步第(dì)7點(diǎn),写出(chū)len[4]的(de)代(dài)碼
 59 always  @(posedgeclk or negedgerst_n)begin
 60     if(rst_n==1'b0)begin
 61         led[4] <= 0;
 62     end
 63     else if(led_on)begin
 64         led[4] <= 0;
 65     end
 66     else if(led4_off)begin
 67         led[4] <= 1;
 68     end
 69 end
 70 assign led4_off = add_cnt_10s && cnt_10s==5-1;
 71
 72 //按照第(dì)六(liù)步第(dì)8點(diǎn),写出(chū)len[5]的(de)代(dài)碼
 73 always  @(posedgeclk or negedgerst_n)begin
 74     if(rst_n==1'b0)begin
 75         led[5] <= 0;
 76     end
 77     else if(led_on)begin
 78         led[5] <= 0;
 79     end
 80     else if(led5_off)begin
 81         led[5] <= 1;
 82     end
 83 end
 84 assign led5_off = add_cnt_10s && cnt_10s==6-1;
 85
 86 //按照第(dì)六(liù)步第(dì)9點(diǎn),写出(chū)len[6]的(de)代(dài)碼
 87 always  @(posedgeclk or negedgerst_n)begin
 88     if(rst_n==1'b0)begin
 89         led[6] <= 0;
 90     end
 91     else if(led_on)begin
 92         led[6] <= 0;
 93     end
 94     else if(led6_off)begin
 95         led[6] <= 1;
 96     end
 97 end
 98 assign led6_off = add_cnt_10s && cnt_10s==7-1;
 99
100 //按照第(dì)六(liù)步第(dì)10點(diǎn),写出(chū)len[7]的(de)代(dài)碼
101 always  @(posedgeclk or negedgerst_n)begin
102     if(rst_n==1'b0)begin
103         led[7] <= 0;
104     end
105     else if(led_on)begin
106         led[7] <= 0;
107     end
108     else if(led7_off)begin
109         led[7] <= 1;
110     end
111 end
112 assign led7_off = add_cnt_10s && cnt_10s==8-1;
113


技術(shù)交流QQ群(qún):764574006

更(gèng)多(duō)FPGA技術(shù)資訊:明(míng)德揚科教






上(shàng)一(yī)篇(piān):【案(àn)例】VGA接口(kǒu)設計(jì)
   拓展(zhǎn)閱读(dú)
⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨