I2C v AT91SAM7

Tomáš Hamouz hamouz na alsoft.cz
Středa Červen 22 17:08:06 CEST 2011


Zdravím konferu

nemá zde někdo zkušenosti s ARM procesory Atmel AT91SAM7 ?

Při používání I2C ze začátku vše běží jak má, ale po nějaké době
(různé, zatím jsem nenašel souvislost) se I2C interface zblázní a
odmítá mi přijmout více než 1 byte.

Projevuje se to tak, že správně odešle začátek, ale po příjmu jednoho
bytu se tento nepotvrdí a periférie přestane posílat data.

Frame vypadá tedy takto:
  <start>
  adresa zařízení + write
  interní adresa (1-2 byty, podle periférie)
  <repeated start>
  adresa zařízení + read
  1. datový byte
  <nack>

Nejhorší na tom je že ze začátku to běží, až po nějaké době se to
zkazí a už se to nevzpamatuje.

Zkusil jsem na začátku každé operace udělat reset periférie, ale to
pak neběží vůbec, netuším proč, v DS jsem žádnou informaci o trvání
resetu nenašel. Zůstane to zatuhlé a na něco to čeká. Když tam dám
debug výpisy, abych zjistil kde to tuhne tak to běží (s výše uvedenou
chybou).

Kudy se vydat při hledání chyby?

Tomáš









Další informace o konferenci Hw-list