View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
041 | SBP | hard.回路 | public | 2022-02-03 18:26 | 2023-07-13 08:37 |
Reporter | na6ko | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | open | ||
Summary | 041: 74VHC165 の clock 入力 | ||||
Description | (74HCT597 は別途動作確認がいる) 当初 R206 = 0 ohm, R207 = open にして、 165.CLK = ~MCU.SPI.CLK; としたが、 MCU.SPI.CLK の立ち下がり後 10 から15 ns に data が変化するため、MCU.SPI.CLK の立ち上がり前 10 から 5 ns になり、 MCU.SPI.DI の setup time が確保できず正しく読めなかった. 10 から15 ns の delay は NOT gate 1 つ (74AHCT04) と 74165 CLK->QH の伝搬遅延の2つが原因と見られる. 74165 に関しては SN74LV165A, TC74VHC165 ともに伝搬遅延が typ で 11-12 ns 程度あるのでデータシート通りだと思われる. 次に R206 = open, R207 = 0 ohm にしたところ、 MCU.SPI.DI の setup time が確保されたのか MCU からの読み込みが正常になった. ただし hold time が 10 から 5 ns になっているので安定動作とはならない. 対処として 165.CLK に時定数約 10 ns の RC 遅延を設置. R207 = 220 ohm, C20x = 47 pF で動作し、MCU からの読み込み, setup time, hold time ともによくなった. | ||||
Tags | No tags attached. | ||||
Attach Tags | |||||
|
|
|
正しいデータ bit6 がおかしいデータ SERCOM.DATA をDMAが取り込むタイミングを SERCOM1_DMAC_ID_RX にしたもの. busniki terminal: 2022-02-21T23:23:12+09:00 bit6 だけ MCU の sercom 側の hold time が間に合ってない? 74165 の CLOCK 入力の前の時定数 10.34 ns のフィルタを除いたら正常動作した. (作業簡略化のため R=220ohm, C=open) |
|
74165 の clock 入力への一連の対処は MCU の data 取り込みが立ち上がりであることと 74165 の data 更新も立ち上がりになっているから. 当初の対応では MCU の SPI clock を反転して入力していたが 7404 と 74165 の伝搬遅延を軽視していたため正しく動かなかった. 私のデータシートの解釈の間違いであればまだよいが今の所はどのタイミングで SPI DI を取り込んでいるかわからない. またロジックアナライザの時間計測精度は安物で満足をいくデータになっていないことにも留意を要する. |
|
ここの存在を忘れていたが完了している. |
Date Modified | Username | Field | Change |
---|---|---|---|
2022-02-03 18:26 | na6ko | New Issue | |
2022-02-03 18:26 | na6ko | File Added: 74165_clk_rcdelay.png | |
2022-02-03 21:05 | na6ko | Description Updated | View Revisions |
2022-02-22 05:51 | na6ko | Note Added: 0000084 | |
2022-02-22 06:01 | na6ko | Note Added: 0000085 | |
2023-07-13 08:37 | na6ko | Note Added: 0000110 | |
2023-07-13 08:37 | na6ko | Status | new => closed |