Здравствуйте! Ситуация такая, имеется контроллер STM32F407 и KSZ8841-16M подключенная к нему в 16 битном асинхронном режиме, адрес шины по умолчанию при таком подключении 0x0300, при операциях записи-чтения линия ARDY должна проседать к 0, чего не происходит,вероятно из-за того что неправильно пишу или читаю.
Насколько я понимаю, чтобы например прочитать содержимое регистра 0x00 банка 0 (Base Adress Register), в котором и содержится адрес шины (0x0300), я должен
1) Выставить банк путём записи в регистр 0x0E номера банка (0x00):
1.1 Выставить адрес 0x030E на шине A[15-1] , прижать AEN к 0, BE0N,BE1N=0
1.2 Выставить данные (0x00) на шине D[0-15] и прижать WRN к 0
1.3 Дождаться опускания-поднятия сигнала ARDY
1.4 Подтянуть к 1 сигналы: WRN, AEN. A[15-1]=0, D[15-0]=0, BE0N,BE1N=0
2) Прочитать регистр 0x00 путём:
2.1 Выставить адрес 0x0300 на шине A[15-1] , прижать AEN к 0, BE0N,BE1N=0
2.2 Выставить порты STM на шине D[0-15] на вход, прижать RDN к 0
2.3 Считать значение с портов STM при опускании сигнала ARDY и дождаться его поднятия
2.4 Подтянуть к 1 сигналы: RDN, AEN. A[15-1]=0, D[15-0]=0, BE0N,BE1N=0
Может кто-нибудь может поделиться куском кода записи чтения регистров или подсказать что именно не так делаю?
AN 132 KSZ8842-16M Application Note.pdf