안녕하세요..

현재 nCS6의 타이밍을 조절하는 것는 부트로더서 하고 있습니다.

부트로더에서 include/ez_ep9.h 파일에서 301 라인 부터 수정을 해 주시면 됩니다.

#define        SMC_CS6_IDCY     ( 0  << 0    )   // Idel Cycle      ( IDCY + 1 ) * HCLK  :
#define        SMC_CS6_WST1   ( 31 << 5   )        // nCS6 nOE/nWE access time ( WST1 + 1 ) * HCLK
#define        SMC_CS6_RBLE     ( 1  << 10  )        // nCS6 nOE/nWE assert
#define        SMC_CS6_WST2   ( 31 << 11  )        // nCS6 next assert time ( WST1 + 1 ) * HCLK

이 부분을 적절하게 수정을 해 주시고 해 보세요..
수정하시고 오실로스코프로 타이밍이 조절되는지 확인을 해 보시기 바랍니다.
만약 이 부분을 조절하였는데도 data를 읽어 오지 못한다면 하드웨어적으로 수정을 해 주셔야 합니다.

그럼 수고하세요.







>안녕하세요?
>어제 질문 드렸었는데 제가 아는 것이 짧다보니 제대로 설명을 못드렸네요. ^^;;
>음.. 지금 read 할때의 현상을 말씀드릴게요. 저도 보드 회로도는 보질 못했거든요..
>
>데이터를 읽으려고 할때나 쓰려고 할때 CS 6 번을 enable 합니다.
>보드에서 ep9312쪽으로 데이터를 던져서 안정적인 데이터를 읽을 수 있는 기간이
>200~350ns 입니다.
>그래서 250~300ns 안에 read cycle 이 모두 끝이 나야 정상적으로 데이터를 읽을 텐데
>지금 그게 안되고 있거든요.
>데이터 시트에서 CS6번의 enable time 이 320ns 정도라고 봤는데 데이터가 잘 안읽히는 관계로
>현재는 부트로더 소스에서 CS6의 클럭을 조절해가면서 데이터를 읽어보는 중입니다.
>그러니까 보드에서 던져놓은 데이터를 CS6 번이 enable 되어 있는 320ns 동안 정확히 읽어와야
>하는데 그 동작이 되지 않고 있다는 말이죠. 되다 말다 합니다. ㅠㅠ
>
>이 정도 설명으로 어떤 해결책을 강구해 볼 수 있는지 답변이 가능할까요?