• 検索結果がありません。

第 12 章:高速バスイ ン タ ー フ ェ イ ス

次に、USB を マ ス ス ト レージデバ イ ス と し て設定す る 方法を フ ロ ーチ ャ ー ト で示 し ます。

X-Ref Target - Figure 12-1

図 12-1: USB フ ローの例 (USB 初期化) USB config initialize

Start

Call a function to hookup the handler for control packets

Is Req type==

Std dev req?

Stall on endpoint 0

Call a function to hookup the handler for mass storage

Stall the endpoint 0

Handle standard device request

Is Req type==

class req? Handle the class request

Is Req type==

vendor req? Do nothing

Is Req ==

Mass storage reset?

Do nothing

(Status phase is handled by driver)

Is Req ==

Get_Maz_LUN Prepare a URB with number of LUNs

Yes

Yes Yes

Yes

Yes No

No

No No

No No

A

X15463-021317

第 12 章:高速バスイ ン タ ー フ ェ イ ス

X-Ref Target - Figure 12-2

図 12-2: USB フ ローの例 (バルク IN およびバルク OUT ハン ド ラ ーの接続および割 り 込み コ ン ト ロー ラ ーの初期化) Prepare device descriptors

Prepare configuration descriptors

Call a function to hookup the bulkout handler

Is phase ==

Data?

Send command status wrapper (CSW) Call a function to hookup the bulk In handler

Read the packet data into Receive Buffer Is phase ==

Status?

Initialize the driver interrupt controller

Config initialize for GIC

Connect the interrupt controller Is phase ==

Command? Parse CBW

Send reduced block command (RBC) Write operation

Is phase ==

Data?

Is RBC Mode sense ==

1?

Send CSW with mode Yes

Yes No

No

Yes No

Yes Yes

Send CSW with mode No

No

B A

X15477-021317

第 12 章:高速バスイ ン タ ー フ ェ イ ス

USB コ ン ト ロ ー ラ ーの詳細は、 こ のセ ク シ ョ ン (『Zynq UltraScale+ MPSoC テ ク ニ カルリ フ ァ レ ン ス マニ ュ アル』

(UG1085) [参照10] の第 31 章 「USB 2.0/3.0 ホ ス ト/デバ イ ス/OTG コ ン ト ロ ー ラ ー」) を参照 し て く だ さ い。

ギガ ビ ッ ト イ ーサネ ッ ト コ ン ト ロー ラ ー

ギガ ビ ッ ト イ ーサネ ッ ト コ ン ト ロ ー ラ ー (GEM) は IEEE イ ーサネ ッ ト 規格 (IEEE Std 802.3-2008) に準拠 し た 10/100/1000Mb/s イ ーサネ ッ ト MAC を実装 し てお り 、 半二重ま たは全二重 10/100 モー ド 、 お よ び全二重 1000 モー ド での動作が可能です。

プ ロ セ ッ シ ン グ シ ス テ ム (PS) には 4 つのギガ ビ ッ ト イ ーサネ ッ ト コ ン ト ロ ー ラ ーがあ り ます。

MAC の機能お よ び動作モー ド は レ ジ ス タ で設定 し ます。

DMA コ ン ト ロ ー ラ ーは AXI (Advanced eXtensible Interface) 経由で メ モ リ に接続 し ます。 こ の コ ン ト ロ ー ラ ーは MAC コ ン ト ロ ー ラ ーの FIFO イ ン タ ーフ ェ イ ス に接続 さ れてお り 、 パケ ッ ト デー タ を ス キ ャ ッ タ ーギ ャ ザー方式でプ ロ セ ッ シ ン グ シ ス テ ムに格納で き ます。

X-Ref Target - Figure 12-3

図 12-3:割 り 込みの有効化および USB コ ン ト ロー ラ ーの起動

Enable all the required interrupts

Connect the interrupt controller to the interrupt handling logic in ARM

Enable interrupts in the ARM

Wait for interrupts Start USB Controller

B

X15478-021317

第 12 章:高速バスイ ン タ ー フ ェ イ ス

次に、1 パケ ッ ト のデー タ を送信す る よ う に イ ーサネ ッ ト コ ン ト ロ ー ラ ーを設定す る 場合の例を フ ロ ーチ ャ ー ト で 示 し ます。

X-Ref Target - Figure 12-4

図 12-4:イ ーサネ ッ ト フ ローの例 (イ ーサネ ッ ト コ ン ト ロー ラ ーの初期化) Start

Set the Baudrate Set the Line Control register Invalidate the Data Cable if Data

Cache is emabled

Get the Configuration of Axi Ethernet Hardware

Is AXI FIFO present? Return error and exit

Initialize the AXI FIFO instance

Initialize AXI Ethernet hardware

Error initializing? Return error and exit

Set the MAC address

Is Phy-type==MII? Set the loopback speed to 100

Set the loopback speed to 1G Get the PHY interface Detect the PHY address

Read the PHY Model

No

Yes

Yes

No

No

Yes

A

;

第 12 章:高速バスイ ン タ ー フ ェ イ ス

X-Ref Target - Figure 12-5

図 12-5:イ ーサネ ッ ト フ ローの例 (イ ーサネ ッ ト パラ メ ー タ ーの設定および送信の開始)

&OHDUWKH3+<RIDQ\H[LVWLQJELWV 5*0,,PRGH3+<VSHFLILFUHJLVWHULQLWLDOL]DWLRQ

&RQILJXUHWKH,QWHUIDFHPRGHV 6HWWKHVSHHG SXWWKH3+<LQUHVHW

3XWWKH3+<LQORRSEDFN

5HWXUQ(UURUDQG([LW (UURU6HWWLQJWKH3+<ORRSEDFN"

6HW3+<!0$&'DWDFORFN 'HOD\

6WDUWWKH$;,(WKHUQHW'HYLFH 6HWXSWKHSDFNHWWREHWUDQVPLWWHG

&OHDURXWWKHUHFHLYHSDFNHWPHPRU\DUHD

&DOFXODWHWKHIUDPHOHQJWKQRWLQFOXGLQJ)&6 :DLWIRU),)2WREHFRPHDYDLODEOH

:ULWHWKHIUDPHGDWDWR),)2 ,QLWLDWHWKHWUDQVLW

:DLWIRUVWDWXVRIWKHWUDQVPLWWHGSDFNHW 1R

<HV

$

% ;

第 12 章:高速バスイ ン タ ー フ ェ イ ス

イ ーサネ ッ ト コ ン ト ロ ー ラ ーの詳細は、こ のセ ク シ ョ ン (『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG1085) [参照10] の第 34 章 「ギガ ビ ッ ト イ ーサネ ッ ト コ ン ト ロ ー ラ ー」) を参照 し て く だ さ い。

X-Ref Target - Figure 12-6

図 12-6:イ ーサネ ッ ト フ ローの例 (デー タ の受信および検証)

Wait for status of the transmitted packet

Receive the packet

Return error and exit Error

Get the length of the arrived data

Read the packet data received

Verify the received frame length

Validate the frame data

Stop Ethernet Hardware No

Yes

Stop B

• • • • • • •• • • • • • X15480-111115

第 12 章:高速バスイ ン タ ー フ ェ イ ス

PCI Express

Zynq UltraScale+ MPSoC デバ イ ス には、PCI Express™ v2.1 準拠の統合ブ ロ ッ ク 、AXI-PCIe ブ リ ッ ジ、 お よ び DMA モ ジ ュ ールで構成 さ れ る PCIe コ ン ト ロ ー ラ ーがあ り ます。AXI-PCIe ブ リ ッ ジは PCIe と AXI を高速にブ リ ッ ジ接続 し ます。

次に、 デー タ 転送用に PCIe ルー ト コ ンプ レ ッ ク ス を設定す る 場合の例を フ ロ ーチ ャ ー ト で示 し ます。

X-Ref Target - Figure 12-7

図 12-7: PCIe フ ローの例 (レ ガシ割 り 込みの有効化および PCIe ルー ト バスの作成) 0DSWKHUHJLVWHUPHPRU\VSDFHIRU3&,HEULGJHDQG

FRQWUROOHU 6WDUW

0DSWKHPHPRU\VSDFHIRU(&$0

:ULWHWKHEULGJHRIIVHWLQWKHEULGJHUHJLVWHUEDVH

(QDEOHWKHEULGJHLQWKHEULGJHFRQWUROUHJLVWHU

'LVDEOHWKH'0$FKDQQHOUHJLVWHUV

(QDEOHWKHEULGJHFRQILJXUDWLRQLQWHUUXSW

(QDEOH,QJUHVV6XEWUDFWLYHGHFRGHWUDQVODWLRQ

(QDEOHPHVVDJHILOWHULQJ

*HWWKH3&,HOLQNXS

(&$0

%LW

"

5HWXUQHUURUDQGH[LW

(QDEOH(&$0LQ(&$0FRQWUROUHJLVWHU Yes

No

$

;

第 12 章:高速バスイ ン タ ー フ ェ イ ス

X-Ref Target - Figure 12-8

図 12-8: PCIe フ ローの例 (PCIe パ ラ メ ー タ ーの設定お よび送信の初期化) Clear the PHY of any existing bits

RGMII mode PHY specific register initialization Configure the Interface modes Set the speed & put the PHY in reset

Put the PHY in loopback

Return Error and Exit Error Setting the PHY loopback?

Set PHY<->MAC Data clock Delay

Start the AXI Ethernet Device Setup the packet to be transmitted Clear out the receive packet memory area Calculate the frame length (not including FCS)

Wait for FIFO to become available Write the frame data to FIFO

Initiate the transit

Wait for status of the transmitted packet No

Yes A

B

X15479-041917

第 12 章:高速バスイ ン タ ー フ ェ イ ス

X-Ref Target - Figure 12-9

図 12-9: PCIe フ ローの例 (レ ガシ割 り 込みの有効化および PCIe ルー ト バスの作成) Get the legacy interrupt number

Return error and exit Invalid interrupt

number

Register the legacy interrupt handler

Return error and exit Failed to

register handle?

Enable all legacy interrupts

Get the bridge resources

Error getting resources?

Create PCIe root bus

Return error and exit

Return error and exit Error creating

root bus? Yes Yes Yes

Yes

No

No

No

No B

C

X15483-041917

第 12 章:高速バスイ ン タ ー フ ェ イ ス

注記:エン ド ポ イ ン ト の操作については、 こ のセ ク シ ョ ン (『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン ス マ ニ ュ アル』 (UG1085) [参照10] の第 30 章 「PCI Express コ ン ト ロ ー ラ ー」) を参照 し て く だ さ い。

X-Ref Target - Figure 12-10

図 12-10: PCIe フ ローの例 (MSI 割 り 込みの有効化および割 り 込みの待機)

$VVLJQ06,FKLSKRRNV ,V06,ELWVHW"

6FDQWKH3&,HFKLOGEXV

$VVLJQXQDVVLJQHGEXVUHVRRXUFHV

$GG3&,HEXVGHYLFHV 6HWWKHSODWIRUPGULYHUGDWD

:DLWIRULQWHUUXSWV

<HV

1R &UHDWHWKH,54GRPDLQ

(QDEOH06,,DQG06,,VWDWXV (UURUFUHDWLQJ

,54GRPDLQ" 5HWXUQHUURUDQGH[LW

<HV 1R

06,,ELW3UHVHQW"

1R

:ULWHWKH06,,ORZDQGKLJKDGGUHVVHV

'LVDEOHDQGFOHDUDOOKLJKUDQJH06,LQWHUUXSWV

*HWWKH06,B,54QXPEHU

'LVDEOHDQGFOHDUDOOORZUDQJH06,LQWHUUXSWV

*HWWKH06,B,54QXPEHU

(QDEOHDOOORZUDQJHLQWHUUXSWV (QDEOHDOOKLJKUDQJHLQWHUUXSWV

5HPRYHWKH,QWHUUXSW'RPDLQ (UURU5HJLVWHULQJ

06,BKDQGOH"

1R

<HV 5HJLVWHUWKH06,BKDQGOH

(UURUJHWWLQJWKH,54QXPEHU"

1R (UURU5HJLVWHULQJ

06,BKDQGOH" <HV

<HV 5HJLVWHUWKH06,BKDQGOH

(UURUJHWWLQJWKH,54QXPEHU"

<HV

<HV

1R 1R

&

;

第 12 章:高速バスイ ン タ ー フ ェ イ ス

PCIe ブ リ ッ ジ と ECAM の メ モ リ 空間を マ ッ プ後、ECAM 変換を実行で き る よ う ECAM を有効に し ます。 次に、 バ ス範囲を取得 し てバ ス番号を設定 し 、primary、secondary、 お よ び subordinate バス番号を書 き 込みます。

割 り 込みシ ス テ ム を セ ッ ト ア ッ プす る 際は、 レ ガシ割 り 込みを含むすべての種類の割 り 込みを有効にす る 必要があ り ます。PCI ホ ス ト ブ リ ッ ジデバ イ ス ノ ー ド の ranges プ ロ パテ ィ を解析 し 、 その内容に基づいて リ ソ ースマ ッ プ を セ ッ ト ア ッ プで き ます。

ルー ト バ ス を作成す る には、PCIe ルー ト バ ス を割 り 当て、 そのバ ス に初期 リ ソ ース を追加 し ます。

MSI ビ ッ ト がセ ッ ト さ れてい る 場合、MSI (Message Signalling Interrupt) を有効にす る 必要があ り ます。

MSI 割 り 込みを設定 し た ら 、PCIe ス ロ ッ ト を ス キ ャ ン し て PCIe バ ス全体をエニ ュ メ レー ト し 、 ス キ ャ ン し たバス に 対 し てバ ス リ ソ ース を割 り 当て ます。

こ れで、PCIe デバ イ ス を シ ス テ ムに追加で き ます。

PCI Express の詳細は、 こ のセ ク シ ョ ン (『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン スマニ ュ アル』 (UG1085) [参照10] の第 19 章 「DMA コ ン ト ロ ー ラ ー」) お よ びこ のセ ク シ ョ ン (同マニ ュ アルの第 30 章 「PCI Express コ ン ト ロ ー ラ ー」) を参照 し て く だ さ い。

関連したドキュメント