View Issue Details

IDProjectCategoryView StatusLast Update
043SBPsoft.mcupublic2022-06-30 19:14
Reporterna6ko Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Summary043: DMA write cycle での memory strobe タイミング
Description

event 接続順番を下記にすると, 数回に1度 address 確定前 (= DW_SS の立ち上がり)に memory strobe (CPU_PHI2, PPU_WR どちらも) が立ち下がってしまう.
添付画像では Bar A が異常で Bar B が正常である.

接続順.上から下で DMA0 でループ

  • DMA0
  • TCC0 (memory strobe と phi2 生成)
  • DMA1
  • TC4
  • DMA2
  • TC3 (DW_SS = L)
  • DMA0

DMA ch の間に timer を接続して複数の DMA ch が同時動作しないように (同時動作すると ch の低いほうが優先されてしまう)している. TCC0 と TC3 はそれに加えて外部ピンへ出し、波形生成に用いる.

DMA ch が入力を受け付けて、動作完了のタイミングは予想しづらく、 SPI cycle が動く前(たぶん DMA controller が sercom.SPI.DATA に書いた直後)に DMA としては動作完了となっているため、今回のように調整が悪いとこのようになる.

TagsNo tags attached.
Attach Tags

Activities

na6ko

2022-02-03 19:38

manager   ~0000076

problem_writecyle_strobe.png (7,829 bytes)   
problem_writecyle_strobe.png (7,829 bytes)   

na6ko

2022-02-03 20:18

manager   ~0000077

TCC0 と TC4 の接続順番をいれかえたもの. これだと SS の立ち上がり付近で memory strobe がたち下がることはないので無難な動きだと思われる. (CPU での SS にノイズが入っているが別件として要調査)

na6ko

2022-02-03 20:19

manager   ~0000078

na6ko

2022-02-03 20:27

manager   ~0000079

read cycle の event 接続順下記で DMA0 - TCC0 - DMA1 は write cycle の修正前と同じだがこちらは問題がない.

  • DMA0
  • TCC0 (出力同じ), DMA2 (完了のeventの接続なし)
  • DMA1
  • TC3, DMA3 (完了のeventの接続なし)
  • DMA0

MCU 直結の SS (青) が HIGH になっている時間が長い (たぶん、 DMA2 と DMA3 の動作時間?) ので問題はおきないらしい.

readcycle.png (6,958 bytes)   
readcycle.png (6,958 bytes)   

na6ko

2022-02-03 20:32

manager   ~0000080

SS が high になっている時間は write cycle が 130 ns を前後. read cycle の同時間は 313 ns 前後.

na6ko

2022-06-30 19:14

manager   ~0000093

安定しているようなので完了とする.

Issue History

Date Modified Username Field Change
2022-02-03 19:35 na6ko New Issue
2022-02-03 19:35 na6ko File Added: problem_writecyle_strobe.png
2022-02-03 19:37 na6ko File Deleted: problem_writecyle_strobe.png
2022-02-03 19:38 na6ko Note Added: 0000076
2022-02-03 19:38 na6ko File Added: problem_writecyle_strobe.png
2022-02-03 20:18 na6ko Note Added: 0000077
2022-02-03 20:18 na6ko File Added: problem_writecyle_strobe_fixed_ppu.png
2022-02-03 20:19 na6ko Note Added: 0000078
2022-02-03 20:19 na6ko File Added: problem_writecyle_strobe_fixed_cpu.png
2022-02-03 20:27 na6ko Note Added: 0000079
2022-02-03 20:27 na6ko File Added: readcycle.png
2022-02-03 20:32 na6ko Note Added: 0000080
2022-06-30 19:14 na6ko Status new => closed
2022-06-30 19:14 na6ko Resolution open => fixed
2022-06-30 19:14 na6ko Note Added: 0000093