View Issue Details

IDProjectCategoryView StatusLast Update
044SBPhard.回路public2022-06-30 19:18
Reporterna6ko Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Summary044: DMA 動作前に memory strobe が下がる
Description

DMA cycle 初期化で GPIO (REGION_CPU) の出力をかえると計測波形のようになる.

対策としては DMA 開始から bus 出力確定 (オレンジのSSのたちあがり) に REGION_CPU, REGION_PPU も確定させるほうがいい.

TagsNo tags attached.
Attach Tags

Activities

na6ko

2022-02-03 20:46

manager  

before_dma_cycle.png (6,536 bytes)   
before_dma_cycle.png (6,536 bytes)   

na6ko

2022-02-03 20:55

manager   ~0000081

CPU_ROMSEL, PPU_RD, PPU_WR の 3つは REGION_CPU と REGION_PPU の入力で U209 から生成される. 現在 MCU の GPIO 直結の REGION_CPU を 74595 経由で主力する仕組みに変更.

追加する 74595 は SPI data は MCU から一番遠い場所に追加. RCLK はオレンジの SS で立ち上がり、準備期間に L level になるレジスタを追加するので U201:741G74 を通常の 7474 に変更する.
また MCU 直接出力だった BOTH_RW と CPU_RW は 74595 経由に変更.

CPU_PHI2 も意図しないタイミングで動いているが原因を把握できていないので今後調査する.

na6ko

2022-02-04 02:55

manager   ~0000082

CPU_PHI2 については MCU のソフトからの原因は半田不良.
MCU 直結の 3.3V 振幅の L_CPU_PHI2 にプローブをつなぐと想定通りの動きになり、外すといつの間にか H レベルになっている. 半田不良を疑って MCU ボード側の L_CPU_PHI2 の端子をはんだ付けし直したところ改善した.

na6ko

2022-02-04 22:14

manager   ~0000083

Last edited: 2022-02-04 22:15

View 1 revisions

前回 CPU_PHI2 の問題は再発したので半田不良ではないらしい.
この計測波形は MEMORY_STROBE# は計測しているが、 PHI2 は再発している状態.
MEMORY_STROBE# でも MCU 側の出力を計測器につなぐと想定通りになることは同じ. そうなると 74595 を追加する話も本当はいらないことになる.

CPU_PHI2 が H レベルになるタイミングは DMA が終わってかなり長い時間のようで予測不能. 一方 MEMORY_STROBE# は DMA の処理前に起きるらしい. MEMORY_STROBE# の場合は遅延をいれてるので 220 ohm の負荷がついているのが原因なのだろうか.

MEMORY read, write, program に関してはこの問題があっても影響は小さいのでいまのところは保留. (IRQ counter の話になってくると重要になってくる.)

before_dma_cycle-2.png (7,047 bytes)   
before_dma_cycle-2.png (7,047 bytes)   

na6ko

2022-03-08 14:04

manager   ~0000089

出力元をタイマからGPIOに変更すれば出力は安定する.
DMA 動作の前後で出力元を切り替えるのが無難.

na6ko

2022-06-30 19:18

manager   ~0000096

R1.2で REGON_CPU の GPIO を REGION_CPU, REGION_PPU と分離した.
74139 によって確実に H レベルが保証される.

Issue History

Date Modified Username Field Change
2022-02-03 20:46 na6ko New Issue
2022-02-03 20:46 na6ko File Added: before_dma_cycle.png
2022-02-03 20:47 na6ko Description Updated View Revisions
2022-02-03 20:55 na6ko Note Added: 0000081
2022-02-03 21:00 na6ko Description Updated View Revisions
2022-02-04 02:55 na6ko Note Added: 0000082
2022-02-04 22:14 na6ko Note Added: 0000083
2022-02-04 22:14 na6ko File Added: before_dma_cycle-2.png
2022-02-04 22:15 na6ko Note Edited: 0000083 View Revisions
2022-02-04 22:17 na6ko Note Revision Dropped: 83: 0000034
2022-03-08 14:04 na6ko Note Added: 0000089
2022-06-30 19:18 na6ko Status new => closed
2022-06-30 19:18 na6ko Resolution open => fixed
2022-06-30 19:18 na6ko Note Added: 0000096